PROCESOS SISTEMA OPERATIVO
Un
proceso no es mas que un programa en ejecución, e incluye los valores actuales
del contador de programa, los registros y las variables. Conceptualmente cada
unos de estos procesos tiene su propia CPU virtual. Desde luego, en la realidad
la verdadera CPU conmuta de un proceso a otro.
Un
proceso es un concepto manejado por el sistema operativo que consiste en
el conjunto formado por:
Las
instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador.
Su estado
de ejecución en un momento dado, esto es, los valores de los registros de la
CPU para dicho programa.
Su
memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
JerarquĆas
de procesos
Los
sistemas operativos que manejan el concepto de proceso deben contar con algĆŗn
mecanismo para crear todos los procesos necesarios. en los sistemas muy
sencillos, o en los diseñados para ejecutar solo una aplicación.
En otros
sistemas operativos existen llamadas al sistema para crear un proceso, cargar
su memoria y ponerlo en ejecutar. Sea cual sea la naturaleza exacta de la
llamada al sistema. Los procesos necesitan poder crear otros procesos.
En MINIX,
los procesos se crean con la llamada al sistema FORK (bifurcar), que crea una
copia idƩntica del proceso invocador. El proceso hijo tambiƩn puede ejecutar
FORK, asà que es posible tener un Ôrbol de proceso.
Estados
de procesos
El estado
de un proceso define su actividad actual. Durante su existencia, un proceso
pasa por una serie de estados discretos. Estos estados son se muestran en el
siguiente diagrama:
Transiciones de estados
Cuando un
trabajo es admitido se crea un proceso equivalente, y es insertado en la ultima
parte de la cola de listos (Ʃsta se tratara mƔs adelante). Cuando un proceso
pasa de un estado a otro se dice que hace una transición de estado, estas
transiciones se describen a continuación.
|
Transición
|
Descripción
|
|
Admitido(Proceso):Nuevo Listo
|
Cuando un proceso
se ha creado y se le es permito para competir por la CPU.
|
|
Despacho(Proceso):Listo En
ejecución
|
La asignación de la CPU al
primer proceso de la lista de listos es llamado despacho y es ejecutado por
la entidad de sistema llamada despachador. Mientras que el proceso tenga la
CPU se dice que esta en ejecución.
|
|
Tiempo excedido(Proceso):En
ejecución Listo
|
El S.O , cuando un proceso se
le expira el intervalo de tiempo asignado para estar en ejecución (CUANTO),
hace que este proceso que se hallaba en estado de ejecución pase al estado de
listo y inmediatamente el despachador hace que el primer proceso de la lista
pase a estado de ejecución.
|
|
Bloqueo(Proceso):En ejecución
Bloqueado
|
Si un proceso que se encuentra
en estado de ejecución inicia una operación de E/s antes que termine su
cuanto, el proceso voluntariamente abandona la CPU, es decir, el proceso se
bloquea a sĆ mismo.
|
|
Despertar(Proceso):Bloqueo
Listo
|
La única transición posible en
nuestro modelo bÔsico ocurre cuando acaba una operación de E/S (o alguna otra
causa por la que estƩ esperando el proceso), y esta termina pasa a el estado
de listo.
|
|
Salir(Proceso):En ejecución
Terminado
|
Esta transición ocurre cuando
el proceso se ha terminado de ejecutarse, y pasa a un estado de terminado
|
Proceso Ligeros Hilos o
Hebras
El
concepto de proceso engloba dos conceptos separados y potencialmente
independientes: uno relativo a la propiedad de recursos y otro que hace
referencia a la ejecución.
- Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o ficheros.
- Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecución (una traza) a través de uno o mÔs programas. Esta ejecución se entremezcla con la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecución, listo, etc) y una prioridad de expedición u origen. La unidad planificada y expedida por el sistema operativo es el proceso.
Dentro de
un proceso puede haber uno o mƔs hilos de control cada uno con:
· Un
estado de ejecución (en ejecución, listo, bloqueado).
· Un
contexto de procesador, que se salva cuando no estƩ ejecutƔndose.
· Una
pila de ejecución.
· AlgĆŗn
almacenamiento estƔtico para variables locales.
· Acceso
a la memoria y a los recursos de ese trabajo que comparte con los otros hilos.
CARACTERISTICAS
- Se comparten recursos. La compartición de la memoria permite a las hebras pares comunicarse sin usar ningún mecanismo de comunicación inter-proceso del SO.
- La conmutación de contexto es mÔs rÔpida gracias al extenso compartir de recursos
- No hay protección entre las hebras. Una hebra puede escribir en la pila de otra hebra del mismo proceso
- Estado de los procesos ligeros
No hay comentarios.:
Publicar un comentario