Vi esta pregunta en línea preparándome para una entrevista de trabajo:
Dado un núcleo no preventivo, ¿qué tipo de proceso se verá más afectado en términos de rendimiento y por qué?
E/S enlazada
CPU vinculada
Yo sé eso:
Un proceso vinculado a la CPU obtiene cuantos largos pero con baja prioridad, mientras que un proceso vinculado a E/S obtiene cuantos cortos con alta prioridad.
Al principio pensé que el enlace de E/S se efectuaría más ya que debía esperar a que finalizaran las lecturas del disco (y no solo pedirle al sistema operativo que lo active cuando algo esté listo). Pero creo que esto está mal ya que incluso en sistemas no Núcleo preventivo: un proceso puede decidir por sí mismo terminar su trabajo y dejar que otro trabaje.
Estoy buscando una respuesta detallada para comprender profundamente lo que me falta aquí.
Respuesta1
No es cierto que "un proceso vinculado a la CPU obtiene cuantos largos pero con baja prioridad, mientras que un proceso vinculado a E/S obtiene cuantos cortos con alta prioridad".
Sería ideal si este fuera el caso, pero suele ocurrir que cada proceso obtiene prácticamente el mismo intervalo de tiempo. Un proceso vinculado a E/S abandonaría la CPU con bastante rapidez.
Organizar diferentes prioridadesdinamicamenteo de otra manera sería muy difícil de hacer y dado que el kernel no puede adelantarse, no está claro cómo se implementaría esta priorización.