presentacion sistemas operativos
TRANSCRIPT
Daniela Guevara Campos
Cod. 2463
Materia: Sistemas Operativos
Concurrencia: Exclusión mutua y sincronización
Concurrencia: exclusión mutua y sincronización
• La concurrencia es el punto clave para el diseño de los Sistemas Operativos donde vemos:
Comunicación entre procesos
Compartición
Competencia por los recursos
Sincronización de la ejecución
Asignación del tiempo de procesador a los procesos
• Se pueden presentar tres contextos diferentes en la concurrencia
Varias aplicaciones
La multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varios trabajos o aplicaciones activas.
Aplicaciones estructuradas
Como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.
Estructura del sistema operativo
Las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos.
Concurrencia: exclusión mutua y sincronización
• Se deben tener algunos conceptos básicos para poder entender y saber en que se basan los sistemas:
Multiprogramación
Es la gestión de varios procesos dentro de un sistema monoprocesador; la mayoría de los computadores personales, estaciones de trabajo y sistemas operativos actuales de estas máquinas dan soporte a la multiprogramación.
Multiproceso
Es la gestión 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 distribuido
Es la gestión de varios procesos que ejecutan en sistemas de computadores múltiples y remotas.
Concurrencia: exclusión mutua y sincronización
• Hay varios elementos de gestión y diseño 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 físicos 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 ejecución con respecto a otros procesos concurrentes.
Concurrencia: exclusión mutua y sincronización
• Pueden implementarse soluciones de software para los procesos concurrentes que se ejecuten en máquinas de monoprocesador y multiprocesador con una memoria principal compartida, donde normalmente, estas soluciones suponen que existe una exclusión mutua en el acceso a memoria. Es decir, los accesos simultáneos a la misma posición de memoria se hacen en serie.
Concurrencia: exclusión mutua y sincronización
• El uso de instrucciones especiales de la maquina para hacer cumplir la exclusión mutua tiene varias ventajas entre ellas:a. Es aplicable a cualquier número de procesos en sistemas con
memoria compartida, tanto de monoprocesador como de multiprocesador.
b. Es simple y fácil 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 sección critica continua consumiendo tiempo de procesador.
e. Puede producirse inanición.
f. Puede producirse interbloqueo.
Concurrencia: exclusión mutua y sincronización
• Para poder concluir los temas centrales de los sistemas operativos son la multiprogramación, multiproceso y el proceso distribuido. Un punto fundamental para la tecnología en el diseño 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 resolución de conflictos y de cooperación.
Concurrencia: exclusión mutua y sincronización
• 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 exclusión mutua es una condición en la cual hay un conjunto de procesos concurrentes y sólo uno puede acceder a un recurso dado o realizar una función dada en cada instante de tiempo.
Concurrencia: exclusión mutua y sincronización