Professional Documents
Culture Documents
Proceso RAM
Padre
Proceso q
genera
Padre
Proceso Hijo q
Subproceso
(Subproceso)
prog.exe
FileOpen. Este subproceso, (2) F.writeln(“…”);
(3) F.close();
dejará en espera (wait) al (4) for i=1 to 1000 do wait
proceso padre prog.exe,
porque no es posible escribir
Subproceso FileOpen genera
ADM_INF
(writeln) en un archivo si éste
no ha sido abierto aún.
Luego que el subproceso FileOpen finalice, entonces el proceso padre prog.exe, ejecutará la línea
(2) y luego la línea (3).
o Si o Si
o No o No
o No Necesariamente o No Necesariamente
Son cuatro:
Running. Corriendo. La CPU está ejecutando el código del proceso. Es
decir, el proceso está haciendo uso del quantum.
Ready. Listo o Preparado. El proceso no tiene impedimentos para
correr, pero la CPU está corriendo el código de otro proceso. En otras
palabras, el proceso no está haciendo uso del quantum, sino que está
aguardando por él.
Wait. Espera o bloqueado. El proceso tiene impedimentos para correr:
Está esperando a que uno de sus subprocesos finalice.
Ended. Finalizado*. El proceso ha terminado su ejecución. Cuando
esto ocurre, el proceso es desalojado de la RAM (FreeMem) y todos los
demás recursos que él utilizó le son devueltos al SO.
*Algunos autores no consideran como tal al estado Ended, pues arguyen que si un proceso
finaliza, ya deja de ser proceso. Pero otros, como nosotros, lo tomamos en cuenta porque se
dan muchas situaciones cuando un proceso finaliza.
12
3.1. Grafo de Estados
El Grafo de Estados de un proceso, es una representación gráfica de las
transiciones (cambio de estado) que un proceso experimenta o podrá
experimentar durante su permanencia en el sistema. Los vértices
representan a los Estados y las aristas (flechas), las transiciones.
En la gráfica de la izquierda, se muestra el Grafo de Estados de cualquier
proceso.
Running Ready
Nota. En el Grafo de Estados no se
toma en cuenta a la orden Kill
(terminar proceso) dada por el
usuario.
Wait Ended
o Cuando la CPU ejecuta la “última línea” del proceso (o sea el proceso aún
está en running), el SO finaliza al proceso: RunningEnded.
3.2. Problemas 14
Running Ready
3.2. Problemas 16
Solución (continuación).
2) “El SO lo saca de la Espera, luego de 20 minutos”. SIEMPRE es el SO el
que saca de Espera a un proceso. Y como se vio en la Sección 3.1, el
proceso es trasladado a la ED de los Ready’s, es decir, pasa de
WaitReady.
Wait Ended
19
RAM
Por ejemplo, en la gráfica de la
derecha, se observa a los
procesos P1 y P2 corriendo en
paralelo. Para lograr esto, se P1
precisan de dos CPU’s: Una CPU
que ejecute el código de P1 y
otra para el código de P2.
P2