Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Proceso ? Sistemas operativos (página 2)




Enviado por Jorge Marquez



Partes: 1, 2

Estados de un
proceso.

El principal trabajo del
procesador es
ejecutar las instrucciones de máquina que se encuentran
en
memoria principal. Estas instrucciones se
encuentran en forma de programas. Para
que un programa pueda
ser ejecutado, el sistema operativo
crea un nuevo proceso, y el procesador ejecuta una tras otra las
instrucciones del mismo.

En un entorno de
multiprogramación, el procesador
intercalará la ejecución de instrucciones de varios
programas que se encuentran en memoria. El
sistema operativo
es el responsable de determinar las pautas de intercalado y
asignación de recursos a cada
proceso.

Modelo de
dos estados.

El modelo de
estados más simple es el de dos estados. En este modelo,
un proceso puede estar ejecutándose o no. Cuando se crea
un nuevo proceso, se pone en estado de
No ejecución. En algún momento el proceso
que se está ejecutando pasará al estado No
ejecución
y otro proceso se elegirá de la lista
de procesos
listos para ejecutar para ponerlo en estado
Ejecución.

De esta explicación se desprende que es necesario
que el sistema operativo pueda seguirle la pista a los procesos,
conociendo su estado y el lugar que ocupa en memoria.
Además los procesos que no se están ejecutando
deben guardarse en algún tipo de cola mientras esperan su
turno para ejecutar.

Modelo de cinco estados

El modelo anterior de dos estados funcionaría
bien con una cola FIFO
y
planificación por turno rotatorio
para los procesos que no están en ejecución,
si los procesos estuvieran siempre listos para ejecutar. En la
realidad, los procesos utilizan datos para operar
con ellos, y puede suceder que no se encuentren listos, o que se
deba esperar algún suceso antes de continuar, como una
operación de Entrada/Salida. Es por esto que se necesita
un estado donde los procesos permanezcan bloqueados esperando
hasta que puedan proseguir. Se divide entonces al estado No
ejecución
en dos estados: Listo y
Bloqueado. Se agregan además un estado Nuevo
y otro Terminado.

Los cinco estados de este diagrama son
los siguientes:

  • Ejecución: el proceso está
    actualmente en ejecución.
  • Listo: el proceso está listo para ser
    ejecutado, sólo está esperando que el

    planificador así lo
    disponga.

  • Bloqueado: el proceso no puede ejecutar hasta
    que no se produzca cierto suceso, como una operación de
    Entrada/Salida.
  • Nuevo: El proceso recién fue creado y
    todavía no fue admitido por el sistema operativo. En
    general los procesos que se encuentran en este estado
    todavía no fueron cargados en la memoria
    principal.
  • Terminado: El proceso fue expulsado del
    grupo de
    procesos ejecutables, ya sea porque terminó o por
    algún fallo, como un error de protección,
    aritmético, etc.

Los nuevos estados Nuevo y Terminado son
útiles para la gestión
de procesos. En este modelo los estados Bloqueado y
Listo tienen ambos una cola de espera. Cuando un nuevo
proceso es admitido por el sistema operativo, se sitúa en
la cola de listos. A falta de un esquema de prioridades
ésta puede ser una cola FIFO.
Los procesos suspendidos son mantenidos en una cola de
bloqueados. Cuando se da un suceso se pasan a la cola de listos
los procesos que esperaban por ese suceso.

Si existe un esquema con diferentes niveles de prioridad
de procesos es conveniente mantener varias colas de procesos
listos, una para cada nivel de prioridad, lo que ayuda a
determinar cuál es el proceso que más conviene
ejecutar a continuación.

Procesos suspendidos

Una de las razones para implementar el estado
Bloqueado era poder hacer
que los procesos se puedan mantener esperando algún
suceso, por ejemplo una Entrada/Salida. Sin embargo, al ser mucho
más lentas estas operaciones,
puede suceder en nuestro modelo de cinco estados todos los
procesos en memoria estén esperando en el estado
Bloqueado y que no haya más memoria disponible para
nuevos procesos. Podría conseguirse más memoria,
aunque es probable que esto sólo permita procesos
más grandes y no necesariamente nuevos procesos.
Además hay un costo asociado a
la memoria y de cualquier forma es probable que se
llegaría al mismo estado con el tiempo.

Otra solución es el intercambio. El
intercambio se lleva a cabo moviendo una parte de un proceso o un
proceso completo desde la memoria principal al disco, quedando en
el estado Suspendido. Después del intercambio, se
puede aceptar un nuevo proceso o traer a memoria un proceso
suspendido anteriormente.

El problema que se presenta ahora es que puede ser que
si se decide traer a memoria un proceso que está en el
estado Suspendido, el mismo todavía se encuentre
bloqueado. Sólo convendría traerlo cuando ya
está listo para ejecutar, esto implica que ya
aconteció el suceso que estaba esperando cuando se
bloqueó. Para tener esta diferenciación entre
procesos suspendidos, ya sean listos como bloqueados, se utilizan
cuatro estados: Listo, Bloqueado, Bloqueado y
suspendido
y Listo y suspendido.

Procesos en espera

Dos o más procesos pueden cooperar mediante
señales
de forma que uno obliga a detenerse a los otros hasta que reciban
una señal para continuar.

  • Se usa una variable llamada semáforo para intercambiar
    señales.
  • Si un proceso esta esperando una señal, se
    suspende (WAIT) hasta que la señal se envíe
    (SIGNAL).
  • Se mantiene una cola de procesos en ESPERA en el
    semáforo.
  • La forma de elegir los procesos de la cola en ESPERA
    es mediante una política
    FIFO.

La sincronización explícita entre procesos
es un caso particular del estado "bloqueado". En este caso, el
suceso que permite desbloquear un proceso no es una
operación de entrada/salida, sino una señal
generada a propósito por el programador desde otro
proceso.

CONCLUSIÓN.

Ya conocimos que es un proceso, ya sabemos quien
controla los procesos de nuestro computador
pero también podemos decir que:

  • Loprocesos son creados y destruidos por el sistema
    operativo, así como también este se debe hacer
    cargo de la comunicación entre
    procesos.
  • El mecanismo por el cual un proceso crea otro
    proceso se denomina bifurcación.
  • El sistema operativo es el responsable de
    determinar las pautas de intercalado y asignación de
    recursos a cada proceso.
  • Si existe un esquema con diferentes niveles de
    prioridad de procesos es conveniente mantener varias colas de
    procesos listos, una para cada nivel de prioridad, lo que
    ayuda a determinar cuál es el proceso que más
    conviene ejecutar a continuación.
  • La sincronización explícita entre
    procesos es un caso particular del estado "bloqueado". En
    este caso, el suceso que permite desbloquear un proceso no es
    una operación de entrada/salida, sino una señal
    generada a propósito por el programador desde otro
    proceso.

 

Bachiller: Jorge Marquez

Estudiante Universitario.

Estudios Actuales en el I.U.T.R.L.A. Carrera:
Informatica

Venezuela, Ciudad Bolivar

9 de octubre del 2006

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter