INGENIERIA INFORMATICA

lunes, 19 de septiembre de 2016

ESTADOS Y TRANSCIONES

2.2 Estados y transiciones de los procesos


Estados de los procesos:


*Ejecución
*Espera
*Bloqueado
*Suspendido
*Terminado/Finalizado


Procesos e hilos

El concepto mas importante en cualquier sistema operativo es el proceso, una abstracción de un programa en ejecución.

Procesos

Considerado primero un servidor web, a donde convergen las peticiones de paginas web provenientes de todos lados. Cuando llega una petición, al servidor verifica si la pagina que se necesita esta en la cache. De ser así, devuelve la pagina, en caso contrario, inicia una petición al disco para obtenerla y, desde la perspectiva de la CPU estas peticiones tardan eternidades mientras se espera el cumplimiento de una petición, muchas mas pueden llegar. Si hay varios discos procedentes, algunas o todas las demás peticiones podrán dirigirse a otros discos mucho antes de que se cumpla la primera petición. Es evidente que se necesita cierta forma de modelar y controlar esta concurrencia. Los procesos (en especial los hilos) pueden ayudar en este caso.

El modelo del proceso

En este modelo, todo el software ejecutable en la computadora, que algunas veces incluye al software, se organiza en varios procesos secuenciales. Un proceso no es mas que una instancia de un programa en ejecución, incluyendo los valores actuales del contador del programa, los registros y las variables.


Creación de un proceso


El sistema operativo necesita cierta manera de crear procesos. El sistema muy simple o sistemas diseñados para ejecutar solo una aplicación, es posible tener presentes todos los procesos que se vayan a requerir cuando el sistema inicie.
Hay cuatro eventos principales que provocan la creación de procesos

1- El arranque del sistema
2- La ejecución, desde un proceso, de una llamada al sistema para la creacion de procesos.
3- Una petición de usuario para crear un proceso.
4. El inicio de un trabajo por lotes.

Terminación de proceso

Una ves que sea un proceso, empieza a ejecutarse y realiza el trabajo al que esta destinado. Sin embargo, nada para siempre, ni siquiera los procesos. Tarde o temprano el nuevo proceso terminara, por lo general debido a una de las siguientes condiciones.

1- Salida normal (voluntaria)
2- Salida por error (voluntaria)
3- Error fatal (voluntaria)
4- Eliminado por otro proceso (voluntaria)

Jerarquías de procesos

En algunos sistemas, cuando un proceso crea otrro, el proceso padre y el proceso hijo continúan asociado en cierta forma. El proceso hijo puede crear por si mismo mas procesos, formando una jerarquía de procesos.


Estados de un proceso


Aunque cada proceso es una entidad independiente, con su propio contador de programas y estado interno, a menudo los procesos necesitan interactuar con otros. Un proceso puede generar cierta salida de otro proceso que utiliza  como entrada.

1- En ejecución (en realidad esta usando la CPU en ese instante)
2- Listo (ejecutable: se detuvo temporalmente para dejar que se ejecute otro proceso)
3- Bloqueado (no puede ejecutarse sino asta que ocurra cierto evento externo)

Implementación de los procesos

Para implementar el modelo de proceso, el sistema operativo mantiene una tabla, llamada tabla de proceso, con solo una entrada por cada proceso.


Modelación de la multiprogramación 


Cuando se utiliza la multiprogramación, el uso de la CPU se puede mejorar. Dicho en forma cruda: si el proceso promedio realiza cálculos solo 20% del tiempo que esta en la memoria, con cinco procesos en memoria a la vez la CPU deberá estar ocupada todo el tiempo.

                                                               Uso de la CPU = 1-p

Estados de los procesos 

1-  Control + Alt + Supr
2- Administrador de tareas
3- Detalles

No hay comentarios:

Publicar un comentario