1. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
SISTEMAS OPERATIVOS
HOLMAN MAURICIO SALMANCA GUEVARA
2010252004
2.
3. ¿Qué es un proceso?
Un proceso es un programa en ejecución. Un proceso
simple tiene un hilo de ejecución. Cuál es la diferencia
entre un programa y un proceso, y básicamente la
diferencia es que un proceso es una actividad de cierto
tipo que contiene un programa, entradas salidas y
estados.
4. Estados de los procesos:
Un proceso puede estar en cualquiera de los siguientes tres
estados: Listo, En ejecución y Bloqueado.
Los procesos en el estado listo son los que pueden pasar
a estado de ejecución si el planificador los selecciona. Los
procesos en el estado ejecución son los que se están
ejecutando en el procesador en ese momento dado. Los
procesos que se encuentran en estado bloqueado están
esperando la respuesta de algún otro proceso
para poder continuar con su ejecución.
5. MODELO DE DOS ESTADOS
expedir
salir
No ejecución
entrar ejecución
pausar
6. El modelo de 2 estados es el más simple 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
7. Los procesos básicamente, se clasifican en estos tres
estados:
- Ejecutando.
- Listos para la ejecución.
- Bloqueados por alguna razón
Sobre la base de estos estados se construye lo que se
denomina Diagrama de Transición de Estado.
10. 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.
11. Nuevo-preparado: el sistema admite un nuevo proceso.
Preparado-ejecutando: el planificador toma un
programa para su ejecución.
Preparado-finalizado: Padre termina hijo.
Ejecutando –finalizado: El proceso ejecutado a
finalizado.
Ejecutando-preparado: Tiempo del procesador
terminado.
Ejecutando-Bloqueado: Se produce un evento.
Bloqueado-Preparado: Finalización del evento.
12. Todos los procesos que s encuentran en estado de
LISTO reposan en la memoria principal.
Y los procesos que se encuentran en estado de
BLOQUEADOS se encuentran en la memoria virtual.
La transición listo y bloqueado se encuentran en la
parte de almacenamiento primario ,mientras que el
estado bloqueado hace uso del disco.
13. Nuevo
admitir admitir expedir
activar
Listo y salir Terminado
Listo Ejecución
suspendido
suspender ocurre fin del
ocurre
suceso tiempo
suceso activar espera
suceso
Bloqueado y
suspendido Bloqueado
suspender
14. Problemas: Es difícil encontrar qué proceso
suspendido está listo para ser ejecutado
cuando ocurre el suceso que esperaba.
• Solución: Mantener dos colas de
suspendidos (modelo de 7 estados)
15. 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 que todos los procesos en memoria estén
esperando en el estado Bloqueado y que no haya más
memoria disponible para nuevos procesos.
16. • Bloqueado -> Bloqueado y suspendido: Si no hay procesos Listos,
entonces al menos un proceso Bloqueado se expulsa para dar cabida a otro
proceso que no esté bloqueado.
• Bloqueado y suspendido -> Listo y suspendido: Un proceso en estado
Bloqueado y suspendido se pasa al estado Listo y suspendido cuando
ocurre el suceso que estaba esperando.
• Listo y suspendido -> Listo: Cuando no hay procesos Listos en la
memoria principal, el sistema operativo tendrá que traer uno para
continuar la ejecución.
• Listo -> Listo y suspendido: Generalmente, el sistema operativo prefiere
suspender a un proceso Bloqueado en vez de a uno Listo, ya que el
proceso Listo podría ejecutarse de inmediato, mientras que el proceso
Bloqueado estará ocupando espacio en la memoria principal sin poder
ejecutarse. Sin embargo, puede ser necesario suspender un proceso Listo
si ésta es la única forma de liberar un bloque lo suficientemente grande de
memoria principal
17. • Otras transiciones interesantes:
• Nuevo -> Listo y Suspendido y Nuevo -> Listo: Cuando se crea un nuevo
proceso, se le puede añadir a la cola de Listos o a la de Listos y
suspendidos.
• Bloqueado y suspendido -> Bloqueado: La siguiente situación es posible:
Un proceso termina, liberando memoria principal. Hay un proceso en la
cola de Bloqueados y suspendidos que tiene una prioridad mayor que la de
cualquier proceso de la cola de Listos y suspendidos, así que el sistema
operativo tiene razones para suponer que pronto ocurrirá el suceso por el
que el proceso está bloqueado.
• Ejecución -> Listo y suspendido: Si se está expulsando al proceso porque
hay un proceso de prioridad mayor en la lista de Bloqueados y
suspendidos que se acaba de desbloquear, entonces el sistema operativo
podría pasar el proceso en Ejecución directamente a la cola de Listos y
suspendidos, liberando espacio en la memoria principal.
• Varios -> Terminado.