sistemas operativos

Upload: arturo-medina

Post on 08-Jan-2016

224 views

Category:

Documents


0 download

DESCRIPTION

Exclusion Mutua y Concurrencia

TRANSCRIPT

  • Concurrencia: exclusin mutua y sincronizacin

    La concurrencia es el punto clave para el diseo de los Sistemas Operativos donde vemos:

    Comunicacin entre procesosComparticinCompetencia por los recursosSincronizacin de la ejecucin Asignacin del tiempo de procesador a los procesos

  • Se pueden presentar tres contextos diferentes en la concurrencia

    Varias aplicacionesLa multiprogramacin se cre para permitir que el tiempo de procesador de la mquina fuese compartido dinmicamente entre varios trabajos o aplicaciones activas.

    Aplicaciones estructuradasComo ampliacin de los principios del diseo modular y la programacin estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.

    Estructura del sistema operativo Las mismas ventajas de estructuracin son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos estn implementados como un conjunto de procesos.

    Concurrencia: exclusin mutua y sincronizacin

  • Se deben tener algunos conceptos bsicos para poder entender y saber en que se basan los sistemas:

    Multiprogramacin Es la gestin de varios procesos dentro de un sistema monoprocesador; la mayora de los computadores personales, estaciones de trabajo y sistemas operativos actuales de estas mquinas dan soporte a la multiprogramacin.

    MultiprocesoEs la gestin de varios procesos dentro de un sistema multiprocesador. Hasta no hace mucho, los sistemas multiprocesador se utilizaban nicamente en grandes sistemas, computadores centrales y minicomputadores.

    Procesos distribuidoEs la gestin de varios procesos que ejecutan en sistemas de computadores mltiples y remotas.

    Concurrencia: exclusin mutua y sincronizacin

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

    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.

    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.

    El sistema operativo debe proteger los datos y los recursos fsicos de cada proceso contra injerencias no intencionadas de otros procesos.

    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: exclusin mutua y sincronizacin

  • Pueden implementarse soluciones de software para los procesos concurrentes que se ejecuten en mquinas de monoprocesador y multiprocesador con una memoria principal compartida, donde normalmente, estas soluciones suponen que existe una exclusin mutua en el acceso a memoria. Es decir, los accesos simultneos a la misma posicin de memoria se hacen en serie.

    Concurrencia: exclusin mutua y sincronizacin

  • El uso de instrucciones especiales de la maquina para hacer cumplir la exclusin mutua tiene varias ventajas entre ellas:

    a. Es aplicable a cualquier nmero de procesos en sistemas con memoria compartida, tanto de monoprocesador como de multiprocesador.

    b. Es simple y fcil de verificar.c. Puede usarse para disponer de varias secciones criticas.d. Se emplea espera activa, mientras un proceso esta esperando para entrar a la

    seccin critica continua consumiendo tiempo de procesador.

    e. Puede producirse inanicin.f. Puede producirse interbloqueo.

    Concurrencia: exclusin mutua y sincronizacin

  • Para poder concluir los temas centrales de los sistemas operativos son la multiprogramacin, multiproceso y el proceso distribuido. Un punto fundamental para la tecnologa en el diseo de sistemas operativos es la concurrencia, cuando se ejecutan varios procesos concurrentemente, en el caso real de un sistema multiprocesador o en el caso virtual de un sistema monoprocesador multiprogramado, aparecen resolucin de conflictos y de cooperacin.

    Concurrencia: exclusin mutua y sincronizacin

  • Los procesos concurrentes pueden interactuar de varias formas, pero los procesos que no tiene conocimiento de ellas uno de los otros pueden competir por recursos tales como el tiempo del procesador o los dispositivos de E/S.

    La exclusin mutua es una condicin en la cual hay un conjunto de procesos concurrentes y slo uno puede acceder a un recurso dado o realizar una funcin dada en cada instante de tiempo.

    Concurrencia: exclusin mutua y sincronizacin