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