exclusión mutua, sección critica y semáforo

Post on 21-Apr-2017

9 Views

Category:

Data & Analytics

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SEP SNEST DGEST

CARRERA:Ingeniería en Informática

MATERIA:Sistemas OperativosCATEDRÁTICO:

Ing. Toledo Torres Jacinto ALUMNO:

Gazga Marquez JhovaniTrabajo:

Exclusión Mutua, Sección Critica Y SemáforoSEMESTRE: GRUPO:“4” “S”

Heroica Cd. De Juchitán De Zaragoza Oaxaca A abril del 2017

EXCLUSIÓN MUTUA

• Consiste en que un solo proceso excluye temporalmente a todos los demás para usar un recurso compartido de forma que garantice la integridad del sistema

Para la solución al problema de la exclusión mutua hay 3 tipos de soluciones Soluciones software Soluciones hardware Soluciones aportadas por el sistema operativo

SECCIÓN CRITICA

• Es la parte del programa con un comienzo y un final claramente marcados que generalmente contiene la actualización de una o más variables compartidas. Para que una solución al problema de la exclusión mutua sea válida, se tienen que cumplir una serie de condiciones:

Hay que garantizar la exclusión mutua entre los diferentes procesos a la hora de acceder al recurso compartido. No puede haber 2 procesos dentro de sus respectivas secciones críticas. No se deben hacer suposiciones en cuanto a la velocidad relativa de los procesos en conflicto. Ningún proceso que este fuera de su sección critica debe interrumpir a otro para el acceso a la sección critica. Cuando mas de un proceso desee entrar en su sección critica, se le debe conceder la entrada en un tiempo finito.

Sección Crítica Porción de código con variables compartidas y que debe ejecutarse en exclusión mutua. Los lenguajes concurrentes deben proporcionar herramientas para resolver este tipo de problemas.

SEMÁFORO

• Un semáforo es una estructura diseñada para sincronizar dos o más procesos, de modo que su ejecución se realice de forma ordenada y sin conflictos entre ellos consta de dos operaciones.

Primitivas señal Espera Originalmente definidas como P y V por que operan sobre un tipo especial de variable semáforo “S”. La variable semáforo puede tomar valores enteros y, excepto posiblemente en su inicialización, solo puede ser accedida y manipulada por medio de las operaciones Signal Wait

Solo se permiten tres operaciones sobre un semáforo: 1. Inicializa (s: Semáforo_Binario; v: integer) -- >

poner el valor del semáforo s al valor de v (0,1).2. Espera (wait)(s) if s = 1 then s: = 0 else

Suspender la tarea que hace la llamada y ponerla en la cola de tareas.

3. Señal (signal)(s) if cola de tareas vacía then s : = 1 else Reanudar la primera tarea de la cola tareas.

top related