pr 3 ej 11

pr 3 ej 11

de Alexis Alfonso -
Número de respuestas: 1

Tratando de responder cuándo es preferible utilizar un procesador expropiativo y cuando uno no-expropiativo tengo la duda respecto de los sistemas de tiempo real.

Por algún lado leí lo siguiente:

En los sistemas de tiempo real no es necesario planificadores expropiativos ya que los procesos puede que no ejecuten por un buen tiempo, pero cuando lo hacen es por un período muy corto


Pero también me encontré con otra teoría:

Un planificador no-expropiativo no es adecuado cuando se consideran aplicaciones de tiempo real, porque éstas requieren                          garantías de tiempo de servicio, lo cual sólo es posible si se usa un planificador expropiativo.


¿Se podría decir que ambas pueden ser correctas dependiendo de si los procesos son CPU-bound o no?

En respuesta a Alexis Alfonso

Re: pr 3 ej 11

de Santiago Iturriaga -

Hola:

Muchas veces en un sistema de tiempo real conviven procesos de tiempo real con procesos que no son de tiempo real, llamémosles no críticos. En este tipo de sistemas el planificador debe ser capaz de expropiarle el CPU a un proceso no crítico para cederselo a un proceso de tiempo real. Es decir que en este caso debería ser un planificador expropiativo.

Sin embargo, pierde un poco de sentido que un proceso de tiempo real le expropie la CPU a otro proceso de tiempo real. Por lo tanto un planificador no expropiativo se vuelve adecuado cuando en el sistema solamente hay procesos de tiempo real.

Creo que lo importante ante esta pregunta es discutir las diferentes alternativas y escenarios.

Saludos,

Santiago.