Planificación de Procesos en Sistemas Operativos: Concurrencia, Procesos Ligeros y Sistemas de Tiempo Real
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,03 KB
Planificación de Sistemas de Tiempo Real
- Está basada en el **reloj de tiempo** de la computadora.
- Objetivo: conseguir que no se retrase la ejecución de los procesos.
- Generalmente están descargados (pocos procesos en estado preparado).
- No manejan **memoria virtual**, para evitar retardos.
Procesos Ligeros o Hebras (Threads)
- Un **proceso ligero (PL)** es un flujo de ejecución que comparte la imagen de memoria y otra información con otros PL y tiene datos propios.
- Desde el punto de vista de la programación, un PL se define como una función que se puede realizar en paralelo con otras. El hilo primario corresponde al
main()
.
Estados de un PL
- Preparado
- Ejecución
- Bloqueado
Estado del proceso
- **Ejecución:** si uno de sus PL está en ejecución.
- **Preparado:** si uno de sus PL está preparado y no tiene un PL en ejecución.
- **Bloqueado:** si todos sus PL están bloqueados.
Ventajas de los PL
- Permite la separación de tareas que pueden ejecutarse en forma independiente.
- Aumenta la velocidad de ejecución de un trabajo.
- Funciona sobre arquitecturas **monoprocesador** y **multiprocesador**.
Los PL son un componente importante en los sistemas actuales. Es necesario considerarlos en el diseño de Sistemas Operativos y de aplicaciones.
Concurrencia
- Cuando dos o más procesos relacionados entre sí llegan al mismo tiempo a ejecutarse.
- La relación entre los procesos puede ser la cooperación para un determinado trabajo o el uso de información y recursos compartidos.
Modelos de Computadora para Procesos Concurrentes
- **Multitarea** con un único procesador.
- **Multiprocesador:** varios procesadores con memoria compartida. Un único computador.
- **Multicomputador:** varios procesadores con memoria no compartida (distribuido).
- La concurrencia será **aparente** siempre que el número de procesos supere al número de procesadores.
- La concurrencia será **real** cuando haya un proceso por procesador.
Ventajas de la Concurrencia
- Facilita la programación.
- Acelera los cálculos.
- Posibilita el uso interactivo a varios usuarios.
- Permite el mejor aprovechamiento de los recursos.
Tipos de Procesos Concurrentes
- **Proceso independiente:** Es aquel que se ejecuta sin requerir la ayuda o cooperación de otros procesos.
- **Procesos cooperantes:** Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.
Tipos de Interacción entre Procesos Cooperantes
- Comparten o compiten por el acceso a recursos. Ejemplo: acceso a disco.
- Se comunican o sincronizan para lograr un objetivo común. Ejemplo: compilador y ensamblador.