Sistemas Operativos
8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso
*
Definición informal: un proceso es un programa en ejecución
Un programa ejecutable es un conjunto de instrucciones y datos almacenados en un fichero. Cuando lo que tiene ese programa se carga en la memoria y se pone en ejecución, se convierte en un proceso.
*
Definición técnica: un proceso es unaentidad formada por los siguientes elementos principales: • Una imagen binaria de un programa, cargada total o parcialmente en la memoria física. La imagen binaria está formada por las instrucciones y datos del programa. • Un área de memoria para almacenar datos temporales, conocida como pila.
La imagen binaria y la pila son el programa en si mismo, pero para que el SO pueda controlar el programa hacenfalta una serie de estructuras de datos. Las estructuras fundamentales son:
• La tabla de páginas para traducir las direcciones virtuales generadas por el proceso en las direcciones físicas en la que se encuentra almacenado. • Una estructura de control, conocida como PCB, para que el sistema operativo pueda controlar su ejecución.
1
8.1.2 Estados de un proceso
Un proceso pasa porvarios estados durante su ejecución. Los estados posibles para un proceso se muestran en la figura siguiente:
Nuevo Admitido Expiración quantum Terminado Fin de ejecución o Abortado por el SO En ejecución
Listo
Terminación operación de E/S u ocurrencia de suceso
Orden de planificación En espera
Inicio operación de E/S o inicio de espera por un suceso
En la figura anterior los nodos(nuevo, listo, etc.) representan los estados y los arcos, las acciones o eventos que llevan a un cambio de estado.
*
Definición de los estados: • Nuevo: El proceso se acaba de crear, pero aún no ha sido admitido en el grupo de procesos ejecutables por el sistema operativo.
Habitualmente en un sistema operativo multitarea como Windows, nada más que un proceso se crea, éste resulta admitido,pasando al estado listo. Sin embargo, esto no tiene por qué ser siempre así. Por ejemplo, en una situación de sobrecarga temporal del sistema, el SO puede decidir retardar la admisión de los procesos nuevos. Así se alivia la carga del sistema, ya que hasta que un proceso no es admitido, éste no compite por los recursos del sistema.
• Listo: El proceso está esperando ser asignado al procesador parasu ejecución.
Una CPU clásica (con un solo núcleo) solo se puede dedicar en cada momento a un proceso. Los procesos que están preparados para ejecutarse permanecen en estado listo hasta que se les concede la CPU. Entonces pasan al estado “En ejecución”.
• En ejecución: El proceso tiene la CPU y ésta ejecuta sus instrucciones. • En espera: El proceso está esperando a que ocurra algún suceso,como por ejemplo la terminación de una operación de E/S. • Terminado: El proceso ha sido sacado del grupo de procesos ejecutables por el sistema operativo. Después de que un proceso es marcado como terminado se liberarán los recursos utilizados por ese proceso, por ejemplo, la memoria.
2
8.1.3 Bloque de control de proceso (PCB)
* * *
PCB = Process Control Block Definición: Es unaestructura de datos que permite al sistema operativo controlar diferentes aspectos de la ejecución de un proceso. Estructura típica del PCB de un proceso: El PCB se organiza en un conjunto de campos en los que se almacena información de diversos tipos. Los campos típicamente mantenidos en el PCB de un proceso se muestran en la figura siguiente:
Puntero (a otro PCB)
Información de identificaciónIdentificador del proceso Puntero de instrucción
Información de estado de la CPU
Registro de estado Registros generales Estado
Información de control del proceso
Información de manejo de memoria Información de E/S % de uso de CPU
Información de uso de recursos
Cantidad de mem. usada
Bytes de E/S leidos/escritos
*
Información típica mantenida en el PCB: Puede clasificarse en...
Regístrate para leer el documento completo.