Procesos Y Administracion Del Procesador
Introducción y Definiciones Sobre Procesos
El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un
programa en ejecución también llamada tarea.
No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones
aceptadas [7, Deitel]:
•
•
•
•
•
•
Un programa que se está ejecutando.
Una actividadasincrónica.
El emplazamiento del control de un procedimiento que está siendo ejecutado.
Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque
de control de proceso.
Aquella entidad a la cual son asignados los procesadores.
La unidad despachable.
En sistemas de multiprogramación la cpu alterna de programa en programa, en un
esquema de seudo paralelismo , es decir que lacpu ejecuta en cierto instante un solo
programa, intercambiando muy rápidamente entre uno y otro.
El
paralelismo
•
•
real
de
hardware
se
da
en
las
siguientes
situaciones:
En ejecución de instrucciones de programa con más de un procesador de
instrucciones en uso simultáneamente.
Con la superposición de ejecución de instrucciones de programa con la ejecución de
una o más operaciones deentrada / salida.
El objetivo es aumentar el paralelismo en la ejecución.
El
modelo
•
•
•
•
de
procesos
posee
las
siguientes
características:
Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios
procesos secuenciales o procesos.
Un proceso incluye al programa en ejecución y a los valores activos del contador,
registros y variables del mismo.
Conceptualmente cadaproceso tiene su propia cpu virtual.
Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no será
uniforme, por lo que es necesario aclarar lo siguiente:
o Que los procesos no deben programarse con hipótesis implícitas acerca del
tiempo.
Que normalmente la mayoría de los procesos no son afectados por la
multiprogramación subyacente de la cpu o las velocidades relativasde
procesos distintos.
Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida
y estado.
Un solo procesador puede ser compartido entre varios procesos con cierto
“algoritmo de planificación” , el cual determina cuándo detener el trabajo en un
proceso y dar servicio a otro distinto (ver Figura 2.1 [23, Tanenbaum]).
o
•
•
En cuanto a las jerarquías de procesos esnecesario señalar que los Sistemas Operativos
deben disponer de una forma de crear y destruir procesos cuando se requiera durante la
operación, teniendo además presente que los procesos pueden generar procesos hijos
mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.
Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:
•
•
•
•
Cada procesoes una entidad independiente pero frecuentemente debe interactuar
con otros procesos (ver Figura 2.2 [23, Tanenbaum]).
Los procesos pueden bloquearse en su ejecución porque:
o Desde el punto de vista lógico no puede continuar porque espera datos que
aún no están disponibles.
o El Sistema Operativo asignó la cpu a otro proceso.
Los estados [23, Tanenbaum] que puede tener un proceso son (ver Figura2.3 [23,
Tanenbaum]):
o En ejecución: utiliza la cpu en el instante dado.
o Listo: ejecutable, se detiene en forma temporal para que se ejecute otro
proceso.
o Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento
externo.
Son posibles cuatro transiciones entre estos estados.
Estados de Procesos
Durante su existencia un proceso pasa por una serie de estados discretos, siendovarias las
circunstancias que pueden hacer que el mismo cambie de estado.
Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y una
“Lista de Bloqueados” para los “bloqueados”.
La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está
desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los
eventos que están...
Regístrate para leer el documento completo.