Control de concurrencia
Sistemas Operativos
Módulo 4: Concurrencia
Concurrencia
La concurrencia comprende un gran número de cuestiones de
diseño. Entre ellas:
La comunicación de procesos.
Compartición.
Competencia por los recursos.
Sincronización de la ejecución de varios procesos.
Asignación de tiempo de procesador a los procesos.
Cuando el sistema informático es monoprocesadorhay
intercalación.
Cuando el sistema informático es multiprocesador hay
superposición.
Ver figura 4.1
Concurrencia: Introducción
Conceptos fundamentales del diseño de
sistemas operativos que están relacionados
con la gestión de procesos e hilos.
Multiprogramación: La gestión de varios procesos
de un sistema monoprocesador.
Multiprocesamiento: La gestión de varios procesosdentro de un sistema multiprocesador.
Procesamiento distribuido: Gestión de varios
procesos, ejecutándose en sistemas de múltiples
computadoras. Ejemplo Balde Systems.
Concurrencia: Principios Generales
Es necesario proteger las variables globales compartidas
(y otros recursos globales compartidos) y que la única forma
de hacerlo es controlar el código que accede a la variable.
Si seimpone la norma de que solo un proceso puede acceder
a una variable global es cada instante y que, una vez en uso la
variable, el procedimiento debe ejecutar hasta el final antes
de estar disponible para otro proceso.
Ejemplo de la cuenta bancaria.
Concurrencia: Razones
La concurrencia de los
procesos puede ser
resultado de:
Multiprogramación de
aplicaciones independientes.Multiprogramación de
aplicaciones con varios procesos.
Uso de estructura de procesos en
el sistema operativo.
Concurrencia: Elementos de diseño a considerar
El sistema operativo debe ser capaz de seguir la pista de los diferentes
procesos activos.
El sistema operativo debe asignar y retirar los distintos recursos para
cada proceso activo. Entre ellos:
•
•
•
•
Tiempo de procesador:Mediante la función de planificación.
Memoria: La mayoría de los sistemas operativos implementan memoria virtual.
Archivos
Dispositivos de Entrada/Salida
El S.O. debe proteger los datos y recursos físicos de cada proceso contra
injerencias no intencionada de otros procesos.
Los resultados de un proceso deben ser independientes de la velocidad
relativa a la que se realiza la ejecución de otrosprocesos concurrentes.
Concurrencia: Interacción entre los procesos
Grado de Conocimiento
Los procesos no tienen
conocimiento de los
demás
Los procesos tienen
conocimiento indirecto
de los otros (Ejemplo:
Objetos compartidos)
Los procesos tienen
conocimiento directo
de los otros (Ejemplo:
Hay comunicación
entre ellos)
Competencia
Cooperación por
compartimientoInfluencia de un proceso en los
otros
Los resultados de uno son
independientes de las
acciones de otros.
Los tiempos de los
procesos pueden verse
afectados
Posibles problemas de
control
Exclusión mutua
Interbloqueo
(Recursos renovables)
Inanición
Relación
Los resultados de un
proceso pueden depender
de la información obtenida
de los otros.
Los tiempos de losprocesos pueden verse
afectados.
Los resultados de un
proceso pueden depender
de la información obtenida
de otros.
Los tiempos de los
procesos pueden verse
afectados.
Cooperación por
comunicación
Exclusión mutua
Interbloqueo
(Recursos renovables)
Inanición
Coherencia de datos
Interbloqueo
(Recursos renovables)
InaniciónConcurrencia: Exclusión mutua
Exclusión
mutua
Capacidad que tiene el
sistema operativo de
prohibir a los demás
procesos realizar una
acción cuando un proceso
hay obtenido permiso.
Concurrencia: Procesos en Competencia:
Exclusión mutua y sincronización
Procesos en
Competencia
• No hay intercambio de información entre los
procesos en competencia. Sin embargo, la
ejecución de...
Regístrate para leer el documento completo.