ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Departamento de Estadistica TAREA #2


Enviado por   •  7 de Octubre de 2019  •  Ensayos  •  3.881 Palabras (16 Páginas)  •  179 Visitas

Página 1 de 16

[pic 1]

UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS

Departamento de Estadistica

TAREA #2

Licenciado Docente: Wilfredo Murillo

Asignatura: Estadística I

Sección: 1400

Integrantes:

  • Ramón Rivera - 20151022552

Lugar Y Fecha: Tegucigalpa M.D.C 16/Septiembre/2019

Índice

Objetivo General        3

Objetivo Especifico        4

Algoritmo de Peterson        10

        Algoritmo para dos procesos        10

        Algoritmo para N procesos (pseudo-codigo)        11

Algoritmo para N procesos (pseudo-codigo)        11

Conclusiones        12

Bibliografía        13


Introducción

El algoritmo de Dekker y Pearson, introduce al alumno para trabajar con múltiples procesos, enseña la manera en que se manejan los hilos y sub procesos como una breve introducción para trabajar con semáforos binarios.


Objetivo General

  • Comprender los límites y desventajas que se acoplan fuertemente a los procesos interactivos.
  • Aprender la funcionalidad de ambos algoritmos y para que cantidad de procesos fueron creados 

Objetivo Especifico

  • Aprender el termino de “Exclusión Mutua” relacionado a los procesos que estos algoritmos manejan.
  • Comprender las pausas y turnos entre el proceso A y el proceso B


Algoritmo de Dekker

                   El algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua, que permite a dos procesos o hilos de ejecución compartir un recurso sin conflictos. Fue uno de los primeros algoritmos de exclusión mutua inventados, implementado por Edsger Dijkstra. Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo elige un proceso según una variable turno. Si el otro proceso está ejecutando en su sección crítica, deberá esperar su finalización.

Existen cinco versiones del algoritmo Dekker, teniendo ciertos fallos los primeros cuatro. La versión 5 es la que trabaja más eficientemente, siendo una combinación de la 1 y la 4.

  • Versión 1: Alternancia estricta. Garantiza la exclusión mutua, pero su desventaja es que acopla los procesos fuertemente, esto significa que los procesos lentos atrasan a los procesos rápidos.
  • Versión 2: Problema interbloqueo. No existe la alternancia, aunque ambos procesos caen a un mismo estado y nunca salen de ahí.
  • Versión 3: Colisión región crítica no garantiza la exclusión mutua. Este algoritmo no evita que dos procesos puedan acceder al mismo tiempo a la región crítica.
  • Versión 4: Postergación indefinida. Aunque los procesos no están en interbloqueo, un proceso o varios se quedan esperando a que suceda un evento que tal vez nunca suceda.

#include

#include

#include

#include

using namespace std;

        /*SUPONGAMOS QUE LOS DOS PROCESOS SON REPARAR DAÑOS Y HACER RONDA ALCALDE

                PROCESO 1 SERIA REPARAR DAÑOS

                PROCESO 2 HACER RONDA ALCALDE*/

                

        bool terminar;

        bool proceso1_entrar;

        bool proceso2_entrar;

        int Proceso_favorecido;

        thread hilo;

        

        

        void seccion_critica_p1(){

                //este es el cuerpo del proceso, en este caso seria algo como

                // el jardinero esta reparando los daños detectados por el alcalde

                

                cout<

                 //std::chrono::milliseconds decsec( 2000 );

            //std::this_thread::sleep_for( decsec );                //

                

                

        }

        

        void proceso1_ejecucion(){

                

                while(!terminar){

                        proceso1_entrar = true;

                        Proceso_favorecido = 2;

                        

                        while(proceso2_entrar && !terminar && Proceso_favorecido == 2){

                                /*Esto significa que el proceso 2 esta en ejecucion entonces aqui

                                el proceso 1 espera que se termine p

                                ara el hacer su rutina a la

                                seccion critica, en este caso proceso 1 es reparar daño, entonces

                                esperara que el proceso 2 que es hacer ronda alcalde se termine, ahi

                                el alcalde notara daños y se corre el proceso de reparar*/

                                

                                /*acuerdense que se corren con hilos entonces si proceso2 quiso entrar

                                primero entonces "proceso2_entrar" sera true y hasta que este termine sera

...

Descargar como (para miembros actualizados)  txt (11.1 Kb)   pdf (218.6 Kb)   docx (597.3 Kb)  
Leer 15 páginas más »
Disponible sólo en Clubensayos.com