Definición de Proceso
Ø El
principal concepto en cualquier sistema operativo es el de proceso.
Ø Un proceso
es un programa en ejecución, incluyendo el valor del program counter, los
registros y las variables.
Ø Conceptualmente,
cada proceso tiene un hilo (thread) de ejecución que es visto como un CPU
virtual.
Ø El recurso
procesador es alternado entre los diferentes procesos que existan en el
sistema, dando la idea de que ejecutan en paralelo (multiprogramación)
Memoria de los procesos
Ø Un proceso
en memoria se constituye de varias secciones:
·
Código (text): Instrucciones del proceso.
·
Datos (data): Variables globales del proceso.
·
Memoria dinánica (heap): Memoria dinámica que genera
el proceso.
·
Pila (stack): Utilizado para preservar el estado en
la invocación anidada de procedimientos y funciones.
Estados de los procesos
El estado de un proceso es definido
por la actividad corriente en que se encuentra.
Los estados de un proceso son:
Ø Nuevo
(new): Cuando el proceso es creado.
Ø Ejecutando
(running): El proceso tiene asignado un procesador y está ejecutando sus
instrucciones.
Ø Bloqueado
(waiting): El proceso está esperando por un evento (que se complete un pedido
de E/S o una señal).
Ø Listo
(ready): El proceso está listo para ejecutar, solo necesita del recurso procesador.
Ø Finalizado
(terminated): El proceso finalizó su ejecución.
Diagrama de estados y
transiciones de los procesos.
Transiciones entre estados
Ø Nuevo ⇒ Listo
·
Al crearse un proceso pasa inmediatamente al estado
listo.
Ø Listo ⇒ Ejecutando
·
En el estado de listo, el proceso solo espera para
que se le asigne un procesador para ejecutar (tener en cuenta que puede existir
más de un procesador en el sistema). Al liberarse un procesador el planificador
(scheduler) selecciona el próximo proceso, según algún criterio definido, a
ejecutar.
No hay comentarios:
Publicar un comentario