Closed pnheinsohn closed 5 years ago
¡Hola! La verdad me la dejaste difícil con la explicación, pero ya caché jeje.
Sí, está bien. Si no hicieras eso, tu simulación nunca terminaría porque los procesos nunca podrían pasar a FINISHED
al no poder finalizar sus ráfagas.
Una pequeña corrección a tu ejemplo: P1 se mantendría en A = 2, no en A = 3. :-)
Ah! jajajaj cierto, me traspapelé.
Muchas Gracias!
Ojo con una última cosa: si P1 ejecuta una ráfaga en la CPU y lo interrumpen, el proceso que entra después (P2), ejecuta en la CPU en la siguiente iteración, no dentro de la misma jeje. Me parece que ya lo manejas, pero prefiero explicitarlo.
Espera ahi me compliqué, ¿Si en t=3 P1 es interrumpido, entonces ejecuta una vez más su ráfaga y en la próxima iteración entra P2 para ejecutar la suya?
Mejor vamos a hacer esto de forma ordenada:
P1 tiene Ai = 5 mientras que P2 tiene Bi = 2. Asumamos que partimos en t = 3.
Esto lo puedes ver de dos formas.
Forma 1
[t=3] P1 ejecuta. Ai = 4. P2 espera. Bi = 1
[t=4] P1 ejecuta. Ai = 3. P2 espera. Bi = 0. Pasa a estado READY
.
[t=5] P1 ejecuta. Ai = 2. Cumple su quantum, es interrumpido.
[t=6] P2 entra a la CPU por prioridad. Empieza a ejecutar.
Forma 2
[t=3] P1 ejecuta. Ai = 4. P2 espera. Bi = 1
[t=4] P1 ejecuta. Ai = 3. P2 espera. Bi = 0. Pasa a estado READY
.
[t=5] P1 ejecuta. Ai = 2. Cumple su quantum, es interrumpido. P2 entra a la CPU por prioridad.
[t=6] P2 ejecuta.
Ambas son válidas, pero comparten una característica en común: en ninguno de los casos se corre en la CPU más de una vez dentro de una iteración.
¡Dime si con ese esquema te queda más claro!
perfeeecto! Muchas gracias :)
Tengo una duda respecto a esto:
Sea el siguiente escenario: P1 con actual A = 5 (demora 5 en completar dicha ráfaga) P2 con actual B = 1 - A = 2 (demora 1 en estar ready) Quantum = 3
Lo que pasaría sería mas o menos lo siguiente?
t=0: 5 -> 4 t=1: 4 -> 3 | P2 pasa a ready t=2: 3 -> 2 t=3=Quantum: P1 se mantiene en 2 (running -> ready) y entra P2 para pasar de 2 -> 1
Al final, lo que quiero saber es que si se interrumpe una ráfaga, entonces esa ¿No disminuye mientras que entra la que sigue y si lo hace?
pd: Lamento la forma de expresarme jajajaja pero me parecía la manera más fácil. pd2: editado en base al comentario