Parcial Mayo 2017, problema 2.1

Parcial Mayo 2017, problema 2.1

de Rocio Bernadet Sebben -
Número de respuestas: 3

Buenas, 

Tengo una duda con respecto a que sucede con el diagrama de estados de los procesos, cuando el planificador es no expropiativo o expropiativo. En este ejercicio tenemos el caso de que el planificador es no expropiativo, y en la solucion dice : "No se coloca transición de estado Running a Ready debido a que se tiene un planificador no expropiativo, por tal razón un proceso que está ejecutando solo puede bloquearse a la espera de un evento o finalizar su ejecución". Pero que pasa en casos cuando un proceso esta un loop infinito, y interrumpe el timer, no debería estar esa transición? o se asume que lo hace voluntariamente por así decirlo? 
Muchas gracias,

Saludos 


En respuesta a Rocio Bernadet Sebben

Re: Parcial Mayo 2017, problema 2.1

de Federico Rivero -
Hola!

Hay un detalle ahí, cuando interrumpe el timer, el proceso no cambia su estado. El proceso de atención a la interrupción implica únicamente que se preserva algún estado imprescindible en el stack y se realiza un JMP a la dirección de la interrupción, pero la interrupción no tiene por qué modificar el PCB del proceso. En particular, la interrupción del timer podría ser tan simple como únicamente aumentar una variable en memoria. En el caso de un planificador FCFS, la interrupción del timer no llamaría al planificador.

Si querés vichate este hilo: https://eva.fing.edu.uy/mod/forum/discuss.php?d=233788, acá Jorge explica esto que dije con mayor profundidad.

Saludos!
Federico

En respuesta a Federico Rivero

Re: Parcial Mayo 2017, problema 2.1

de Juan Martin Nuñez Pena -
Buenas.
Ningún tipo de interrupción provocaría el cambio de estado del proceso? O esto es especifico de la interrupción del timer?
Había entendido de teórico que los procesos podían pasar de ejecutando a listo debido a una interrupción sin importar el planificador. Si se llamaba al planificador cuando un proceso era interrumpido, entonces el planificador era expropiativo.
Gracias.
En respuesta a Juan Martin Nuñez Pena

Re: Parcial Mayo 2017, problema 2.1

de Federico Rivero -
Hola Juan!

Lo que decís al final está bien. La interrupción puede llamar al planificador. En el caso de la interrupción por timer, si el planificador es, por ejemplo, round robin, entonces la mayoría de las veces la interrupción del timer simplemente va a decrementar el quantum y retornar, pero en esa ocasión en que el quantum llegue a cero, entonces ahí, además, la interrupción del timer va a llamar al planificador, lo cual probablemente va a resultar en un cambio de contexto y por lo tanto el proceso que estaba en ejecución va a cambiar de estado. 

Saludos,
        Federico