Concepto de proceso
- Un proceso es un programa en ejecución
 - Un proceso necesita recursos para poder ejecutarse: memoria, dispositivos de E/S, la CPU, etc.
 - Áreas típicas de la memoria:
 
- código
 - datos (variables globales, memoria dinámica)
 - pila (parámetros y variables locales de subrutinas)
 
Estados de un proceso  
- A medida que un proceso se ejecuta, cambia de estado:
 
- nuevo: recién creado por el S.O.
 - en ejecución: está en la CPU ejecutando instrucciones
 - bloqueado: esperando a que ocurra algún evento (ej. una operación de E/S)
 - preparado: esperando a que le asignen un procesador
 - terminado: no ejecutará más instrucciones y el S.O. le retirará los recursos que consume
 
Bloque de control de proceso 
- Para cada proceso, el S.O. debe guardar su estado y cualquier otra información que debe mantenerse mientras no está en ejecución.
 - Bloque de control de proceso:
 - estado actual (preparado, en espera...)
 - registros de la CPU (contador de programa, otros registros)
 - información del planificador (id, prioridad, etc.)
 - apuntadores a las zonas de memoria del proceso
 - info. de contabilidad (tiempo consumido, etc.)
 - info. de E/S (dispositivos por los que espera, lista de archivos abiertos, etc.)
 - etc
 

No hay comentarios:
Publicar un comentario