Duda sobre proteccion de CPU y deadlock

Duda sobre proteccion de CPU y deadlock

de Rodrigo Sebastian Gallardo Negrín -
Número de respuestas: 1

La primer duda es sobre una pregunta de examen que encontre:

Describa como funciona la proteccion de CPU. ¿Por que no se puede asegurar la proteccion de cpu solamente con un algoritmo de planificacion adecuado?

El problema de proteccion a la CPU no es similiar al algoritmo Round Robin? El algoritmo no seria adecusdo para resolver el problema?


La otra pregunta es referente a deadlock:

Se considera deadlock si un proceso en ejecucion entra en loop infinito mientras que otros procesos en la cola de listos esperan para ejecutar? Considerando que el planificador no es expropiativo. Podria ser considerado posposicion indefinida en vez de deadlock?

En respuesta a Rodrigo Sebastian Gallardo Negrín

Re: Duda sobre proteccion de CPU y deadlock

de Santiago Iturriaga -

Hola:

La protección de CPU y el algoritmo RR de planificación son cosas diferentes. La protección de CPU realmente "protege" solamente al sistema operativo, interrumpiendo la ejecución del proceso asignado a la CPU y dándole la chance al SO de ejecutar a intervalos regulares. Gracias a estas interrupciones el SO puede ejecutar el planificador de forma regular. Esto es necesario para la implementación de cualquier algoritmo de planificación expropiativo (p.ej. RR). 

Con respecto al deadlock. Las condiciones necesarias para un deadlock que vimos en el teórico son 4. En este caso vos estas planteando una realidad en la que se considera un único recurso (la CPU) y un proceso que nunca lo libera. Eso no cumple con las condiciones necesarias para un deadlock por lo tanto no lo es. Se podría pensar como un caso de posposición indefinida pero es algo un poco forzado. Se parece más a un bug :)

Saludos,

Santiago.