Sistemas Operativos David

11
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES DAVID ROJAS PRESENTADO POR: (MONITORES)-SEMAFOROS Y CONCURRENCIA: EXCLUCION MUTUA

description

sistemas operativos

Transcript of Sistemas Operativos David

  • ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES

    DAVID ROJAS

    PRESENTADO POR:

    (MONITORES)-SEMAFOROS Y

    CONCURRENCIA: EXCLUCION MUTUA

  • (MONITORES)-SEMAFOROS

  • Un monitor es un mdulo de software que consta de uno o ms

    procedimientos, una secuencia de inicializacin y unos datos

    locales. Las caractersticas bsicas de un monitor son las

    siguientes:

    1. Las variables de datos locales estn slo accesibles para los

    procedimientos del monitor y no para procedimientos externos.

    2. Un proceso entra en el monitor invocando a uno de sus

    procedimientos.

    3. Slo un proceso puede estar ejecutando en el monitor en un

    instante dado; cualquier otro proceso que haya invocado al monitor

    quedar suspendido mientras espera que el monitor est

    disponible.

    MONITOR

  • Los usuarios que intentan acceder al monitor mientras est

    ocupado son bloqueados en una cola de entrada al monitor.

    * CWAIT(c): Suspende la ejecucin del proceso llamado bajo la

    condicin c. El monitor est ahora disponible para ser usado

    por otro proceso.

    * CSIGNAL(c): Reanuda la ejecucin de algn proceso

    suspendido despus de un CWAIT() bajo la misma condicin.

    Si hay varios procesos, elige uno de ellos; si no hay ninguno,

    no hace nada.

    MONITOR

  • Es importante destacar que un proceso con la marca

    CSIGNAL() debe ser el prximo en entrar al monitor para

    que las condiciones existentes cuando ocurri el CSIGNAL()

    no sean cambiadas cuando ste entre al monitor.

    Si hay al menos un proceso en una cola de condicin, un

    proceso de dicha cola deber ejecutar en cuanto otro

    proceso ejecute un CSIGNAL() para la condicin. As pues,

    el proceso que ejecuta el CSIGNAL() debe salir

    inmediatamente del monitor o suspenderse en el monitor.

    MONITOR

  • Los semforos son una herramienta bsica, pero potente

    y flexible, para hacer cumplir la exclusin mutua y

    coordinar procesos. Sin embargo, puede resultar muy

    difcil construir un programa correcto por medio de

    semforos.

    En los semforos, tanto la exclusin mutua como la

    sincronizacin son responsabilidades del programador.

    SEMAFORO

  • CONCURRENCIA:

    EXCLUCION MUTUA

  • La concurrencia es el punto clave para el diseo de los Sistemas

    Operativos donde vemos:

    1. Comunicacin entre procesos

    2. Comparticin

    3. Competencia por los recursos

    4. Sincronizacin de la ejecucin

    5. Asignacin del tiempo de procesador a los procesos

    CONCURRENCIA: EXCLUCION MUTUA

  • La concurrencia se puede presentar por causa como la

    Multiprogramacin, donde el tiempo del procesador es

    compartido dinmicamente entre varios procesos activos.

    Aplicaciones Estructuradas: debido a los procesos de

    diseo modular y programacin estructurada y por ultimo

    por la estructura del sistema operativo sistemas

    monoprocesadores, multiprocesadores y distribuidos.

    CONCURRENCIA: EXCLUCION MUTUA

  • Hay varios elementos de gestin y diseo que surgen por causa de la

    concurrencia:

    1) El sistema operativo debe ser capaz de seguir la pista de los distintos

    procesos activos. Esto lo hace por medio de bloques de control de

    procesos.

    2) El sistema operativo debe asignar y quitar los distintos recursos a

    cada proceso activo. Entre estos recursos se encuentra el tiempo de

    procesador, la memoria, los archivos y los dispositivos de E/S.

    3) El sistema operativo debe proteger los datos y los recursos fsicos de

    cada proceso contra injerencias no intencionadas de otros procesos.

    4) Los resultados de un proceso deben ser independientes de la

    velocidad relativa a la que se realiza la ejecucin con respecto a otros

    procesos concurrentes.

    CONCURRENCIA: EXCLUCION MUTUA

  • Se refiere al problema de asegurar que no hay dos procesos o hilos (en

    adelante referido nicamente como procesos) puede estar en su seccin

    crtica al mismo tiempo. Aqu, una seccin crtica se refiere a un perodo

    de tiempo en el proceso de acceso a un recurso compartido, como la

    memoria compartida. El problema de la exclusin mutua fue identificado

    por primera vez y resueltos por Edsger W. Dijkstra.

    EXCLUCION MUTUA