Es aparente que las nociones de procesos y recursos están estrechamente vinculadas. Un proceso es una tarea, identificada como una secuencia de instrucciones ejecutándose, o una colección de instrucciones formando un programa. Un recurso, por otra parte, es un término incluido en el sistema operativo, como también impresoras, discos, cintas de discos, procesos y repartos de la capacidad de memoria. Sin embargo, los recursos no son tratados en forma igualitaria por el S.O. y dependiendo de su cinta, tratará los procesos en forma diferente.
Los recursos no expropiables (No Preemption) son usados por los procesos que requieren una utilización de recursos ininterrumpidos. Los recursos expropiables (Preemption) requieren un control del S.O. para cambiar correctamente la utilización de los recursos.
Labores del Sistema Operativo
Hay algunos elementos de gestión y diseño que surgen por causa de la concurrencia. Se pueden enumerar los siguientes:
- El S.O. debe ser capaz de seguir la pista de los distintos procesos activos. Esto lo hace por medio de los PCB.
- El S.O. debe asignar y quitar los distintos recursos a cada proceso activo.
- El S.O. 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.
Condiciones de concurrencia (Berstein)
INTERACCIÓN ENTRE PROCESOS
Grado de Conocimiento | Relación | Posibles problemas de control |
Los procesos no tienen conocimiento de los demás | Competencia | Exclusión mutua Interbloqueo Inanición |
Los procesos tienen conocimiento indirecto de los otros | Cooperación por compartición | Exclusión mutua Interbloqueo Inanición Coherencia de datos |
Los procesos tienen conocimiento directo de los otros | Cooperación por comunicación | Interbloqueo Inanición |
Región Crítica. Protocolo de sincronización.
No hay comentarios:
Publicar un comentario