Introducción

De Departamento de Informatica
Saltar a: navegación, buscar

El objetivo de realizar itineraciones de CPU o itinerador de corto plazo (CPU Scheduling) es el de aprovechar al máximo la CPU. La tarea del itinerador es el de asignar procesos en la cola ready a la CPU de manera tal que la CPU esté funcionando la mayor parte del tiempo, dicho de otra manera, la tarea del itinerador es la de reducir al mínimo el tiempo de ocio de la CPU.

Esto es la base de los SO multiprogramados. ...

Las itineraciones de CPU ocurren entre intervalos de tiempo muy reducidos, del orden de los microsegundos. Además, la itineración implica un coste de tiempo en el que la CPU no está siendo aprovechada. Por esto, tienen que ser procesos rápidos, ya que su desempeño influye fuertemente/directamente con el desempeño del SO/equipo/etc y en el tiempo en el que la CPU está ociosa.

Todos los procesos en sus ciclos de vida tienen ciclos de CPU e I/O. Por esto, hay momentos en que los procesos dejan de utilizar la CPU esperando

Hay dos tipos de planificadores/iteradores, no expropiativos o cooperativos (nonpreemptive or cooperative) y los apropiativos o expropiativos (pre-emptive). El momento en el que se tome la desición de iteración dependerá del tipo de iterador.

no expropiativo: El proceso tiene el control de la CPU y no es cedido este control hasta que el proceso se acaba.

expropiativo: Asigna tiempos de CPU a cada proceso, por lo que tiene mecanismos para quitar a un proceso el control de la CPU, aunque este no haya terminado. El mecanismo incluye una interrupción enviada/generada por hardware.

Las decisiones de iteración de CPU pueden ocurrir cuando un proceso: Conmuta desde running al estado waiting. ¿Qué fue lo que paso? Una interrupción I/O, llamada al sistema I/O, el proceso no puede seguir avanzando, porque debe ir al disco y sólo se va a la cola wait. Esto es NO irrumpible Conmuta desde running al estado ready Se saca el proceso, no por su cuenta si no por mando externo, esto sucede por pasar mucho rato en el estado running. Esto es irrumpible Conmuta desde waiting al estado running Esto es Irrumpible Termina , esto no es irrumpible

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas