Вы находитесь на странице: 1из 15

SCHEDULER

Ing. Rogelio Antonio Ramos

El planificador es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su funcin consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que estn disponibles para su ejecucin.

Funcin:


Supngase un ordenador que contiene un nico microprocesador. Dicho microprocesador solamente puede ejecutar un programa en cada instante de tiempo. Adems, cuando un programa est ejecutndose, nunca dejar de hacerlo por s mismo. De manera que, en principio, cualquier programa monopoliza el microprocesador impidiendo que otros programas se ejecuten.

Por ello, la primera misin de un planificador es expulsar el programa en ejecucin cuando decida que es pertinente. Esto se consigue de dos maneras, siempre con ayuda del propio hardware:


Cuando expira un temporizador, que se activa a intervalos regulares de tiempo. En intervalos muy cortos, generalmente cada 250 milisegundos. Cuando el programa solicita una operacin de entrada/salida. Dado que el programa no puede continuar hasta que termine dicha operacin, es un buen momento para ejecutar otro programa.

En ambos casos, el control del microprocesador pasa a manos del planificador gracias a que el hardware genera una interrupcin. En este proceso de expulsin, se guarda el estado de ejecucin del programa (programa y su estado se denomina proceso). A continuacin, el planificador decide cul ser el siguiente proceso en ejecutarse. Naturalmente, solamente se escogen procesos que estn listos para hacerlo. Si un proceso sigue esperando por una operacin de entrada/salida no ser candidato a ejecutarse hasta que finalice tal operacin. La seleccin del proceso sigue alguna poltica de planificacin (ver ms adelante) preestablecida. Una vez seleccionado un proceso, se procede a ejecutarlo. Para ello, el planificador restaura su estado de ejecucin (previamente salvado) y abandona el uso del microprocesador cedindoselo a dicho proceso.

 

Todo esto apenas dura unos pocos milisegundos. Gracias a que el tiempo del microprocesador se reparte entre todos los procesos a intervalos muy cortos, el ordenador ofrece la sensacin de que todos los procesos estn ejecutndose a la vez.

Niveles de planificacin:


Los niveles de planificacin estn basados en la frecuencia con la que se realiza cada uno. En los sistemas operativos de propsito general, existen tres tipos de planificadores:


El planificador a corto plazo es el que se ha descrito aqu, siendo tambin el ms importante. En ingls, se denomina dispatcher o short term scheduler. Tambin existe un planificador a mediano plazo (en ingls, mid term scheduler) relacionado con aquellos procesos que no se encuentran en memoria principal. Su misin es mover procesos entre memoria principal y disco (lo que se conoce como swapping) y por ltimo existe. El planificador a largo plazo (en ingls long term scheduler) es el encargado de ingresar nuevos procesos al sistema y de finalizarlos.

El proceso nulo o vaco:




 

Un problema que debe resolver un sistema operativo multitarea es, qu debera hacer el sistema cuando no hay nada que ejecutar. Por ejemplo cuando la cola de listos se encuentra vaca. Este problema es resuelto en muchos sistemas operativos con el proceso NULO que es creado por el sistema en el momento de arranque. El proceso nulo nunca termina, no tiene E/S y tiene la prioridad ms baja en el sistema. En consecuencia la cola de listos nunca est vaca, adems la ejecucin del planificador puede hacerse ms rpida al eliminar la necesidad de comprobar si la cola de listos est vaca o no. Algunas de las tareas que se le pueden dar al proceso nulo, por ejemplo, es realizar estadsticas de uso de procesador, o asistencia de vigilancia de la integridad del sistema, etc.

Algoritmos de planificacin:


El planificador es el mdulo del sistema operativo que decide qu proceso se debe ejecutar, para ello usa un algoritmo de planificacin que debe cumplir con los siguientes objetivos:
  

 

 

Imparcialidad. Poltica justa. Eficiencia: mantener la CPU ocupada en lo posible el mayor tiempo con procesos de usuario. Minimizar el tiempo de espera de usuarios. Maximizar el nmero de procesos ejecutados. (Rendimiento: trabajos que se procesan por hora). Tiempo de respuesta excelente (por ejemplo: minimizar el tiempo de respuesta para los usuarios interactivos). Predecibilidad en la ejecucin. Equilibrio en el uso de los recursos.

Poltica de planificacin:


Lo habitual es utilizar polticas mixtas. Generalmente, el planificador a corto plazo utiliza "round-robin" , Mientras que el planificador a largo plazo utiliza varias colas FIFO. Cada una de estas colas corresponde a una prioridad diferente.

Planificacin Round-robin:


Round robin es un mtodo para seleccionar todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al ltimo y empezando de nuevo desde el primer elemento. Una forma sencilla de entender el round robin es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un mtodo para ejecutar diferentes procesos de manera concurrente, para la utilizacin equitativa de los recursos del equipo, es limitando cada proceso a un pequeo periodo de tiempo (quantum) y luego suspendiendo ste proceso para dar oportunidad a otro y as sucesivamente. A esto se le denomina comnmente como Planificacin RoundRobin.

En Sistemas operativos, la planificacin Round Robin da un tiempo mximo de uso de CPU a cada proceso, pasado el cual es desalojado y retornado al estado de listo, la lista de procesos se planifica por FCFS (First Come First Served), primero llegado, primero atendido.
   

Round-robin con pesos. Prioridades montonas en frecuencia (RMS (Ratemonotonic scheduling)) Menor tiempo de respuesta primero (EDF (Earliest deadline first scheduling)) FIFO.

FIFO: es el acrnimo ingls de "First In, First Out" (primero en entrar, primero en salir). Un sinnimo de FIFO es FCFS , acrnimo ingls de "First Come First Served" (primero en llegar, primero en ser servido). Es un mtodo utilizado en estructuras de datos y teora de colas. Guarda analoga con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.

LIFO: es el acrnimo ingls de "Last In First Out" (ltimo en entrar, primero en salir). Se utiliza en estructuras de datos y teora de colas. Guarda analoga con una pila de platos, en la que los platos van ponindose uno sobre el otro y si se quiere sacar uno, se saca primero el ltimo que se puso.

Вам также может понравиться