UNIDAD 2:
Administración de Procesos.
El diseño de un sistema operativo debe reflejar con seguridad los requisitos que se propone cumplir. Y todos los sistemas operativos de multiprogramación, desde sistemas de un solo usuario como OS/2 hasta sistemas de mainframe, que pueden soportar miles de usuarios, se construyen con base en el concepto de procesos. Por lo tanto todos los requisitos principales que el sistema operativo debe cumplir pueden expresarse con referencia a procesos:
2.1 Definiciones de Procesos
El
término "PROCESO", fue utilizado por primera vez por
los diseñadores del sistema Multics en los años 60’s. Desde entonces, el término
proceso , utilizado a veces como sinónimo de tarea, ha tenido muchas
definiciones . A continuación se presentan algunas:
|
Un
programa en ejecución. |
|
|
Una
actividad asíncrona. |
|
|
El
"espíritu animado" de un procedimiento. |
|
|
Como un programa en ejecución junto con su entorno asociado (registros, variables, etc.). |
|
|
El
"centro de control" de un procedimiento en ejecución. Lo que se
manifiesta por la existencia de un "bloque de control del
proceso" en el sistema operativo. |
|
|
La
entidad a la que se asignan los procesadores. |
|
|
La
unidad "despachable". |
|
|
Como
una actividad que se apoya en datos, recursos, un estado en cada momento y
un programa. |
Aunque
se han dado muchas otras definiciones, no hay una definición universalmente
aceptada, pero el concepto de "Programa en ejecución" parece ser el
que se utiliza con mas frecuencia. Un programa es una entidad inanimada; sólo
cuando un procesador le "infunde vida" se convierte en la entidad
"activa" que se denomina proceso.
Un
proceso consta de los siguientes tres componentes:
ü
Un programa ejecutable.
ü
Datos asociados que necesita el programa (variables, espacio de
trabajo, buffers, etc.)
ü
El contexto de ejecución del programa.
Este
último es muy importante. El contexto de ejecución incluye toda la información
que el sistema operativo necesita para manejar el proceso y que el procesador
necesita par ejecutar el proceso en forma adecuada. Por lo tanto, el contexto
incluye los contenidos de los diversos de los diversos registros del procesador,
como el contador del programa y los registros de datos. También incluye
información de uso para el sistema operativo, como la prioridad del proceso y
si el proceso espera la terminación de un evento de E/S particular.
Un proceso pasa por una serie de datos discretos. Se dice que un proceso se está ejecutando (estado de ejecución), si tiene asignada la UCP. Se dice que un proceso está listo (estado listo) si pudiera utilizar una UCP en caso de haber una disponible. Un proceso está bloqueado (estado bloqueado) si está esperando que suceda algún evento antes de poder seguir la ejecución.