Академический Документы
Профессиональный Документы
Культура Документы
(Scheduling)
La idea principal de la administración del procesador tiene que ver con el
tiempo que permanecerá un proceso en el procesador, ¿que proceso
corre en que momento?.
En un Computador personal es mas difícil encontrar el caso que un
usuario necesite ejecutar dos procesos al mismo tiempo, enviar un correo
y escribir un texto.
Mientras que en un servidor esta clase de ejecuciones es constante.
La tarea del planificador es hacer que un proceso dentro del
procesador pase a la “Lista de Procesos Listos”.
La “Lista de procesos Listos” no es una FIFO.
El planificador se ejecuta cuando:
Asignación de procesadores dedicados: Consiste en
dedicar procesadores durante toda la duración de la
ejecución de la aplicación, este método es bueno si: hay
muchos procesadores, si se puede controlar el número de
hilos por aplicativo.
Planificación dinámica: Dependerá de si el lenguaje que
programa el aplicativo o el SO permiten controlar
dinámicamente el número de procesos sobre el procesador,
un método es examinar si algún procesador esta ocioso de
ser así asignarles grupos de hilos.
Planificación en tiempo real
.
2.Cuando se interrumpe un hilo FIFO en ejecución,
pasa a la cola asociada a su prioridad.
3.Cuando un hilo FIFO pasa a listo y tiene mayor
prioridad que el hijo que está en ejecución, se expulsa
al hilo en ejecución y pasa a ejecutar el hilo de mayor
prioridad. Si más de un hilo tiene esta mayor prioridad,
se escoge al que lleva más tiempo esperado.
Planificación en GNU/Linux
La política SCHED_RR se comporta de forma similar a la
SCHED_FIFO, excepto por el uso de un cuanto de tiempo
asociada a cada hilo. Cuando un hilo SCHED_RR ha
consumido su cuanto de tiempo, pasa a suspendido y se
escoge un hilo de tiempo real con una prioridad igual o mayor.
Esta ejecución de la figura es dada por las prioridades de los
distintos hilos.
Planificación en GNU/Linux
La planificación descrita anteriormente funciona para el
kernel 2.4, para el kernel 2.6 se decido tomar lo mejor del
kernel 2.4 y usar algunas nuevas características, para
tratar de mejorar el desempeño de los procesos.
- Tienen mayor prioridad a los que les quede mayor
tiempo en el procesador
- Se aumenta ligeramente la prioridad de los hilos del
mismo proceso.
- Se añade la prioridad “nice” colocada por el usuario.
- Los procesos se ejecutan en un solo procesador a
menos que haya un bloqueo de otro procesador.
- Ejecutar los hijos antes que sus padres, lo cual
mejora el desempeño.
Planificación Windows
Las prioridades en Windows se organizan de dos
formas: tiempo real y variable. Cada una de estas
bandas consta de 16 niveles de prioridad. Los hilos
que requieren atención inmediata están en clase de
tiempo real, que incluye funciones como
comunicaciones tareas de tiempo real.
En general, puesto que Windows utiliza un
planificador expropiativo con prioridades, los hilos
con prioridades de tiempo real tienen preferencia
sobre los otros hilos. En un monoprocesador, cuando
un hilo cuya prioridad es mayor que la del que se
ejecuta en ese momento pasa a estar Listo, el hilo de
menor prioridad es expulsado y se asigna el
procesador al de mayor prioridad.
Planificación Windows