Está en la página 1de 11

UNIVERSIDAD NACIONAL

JOSE FAUSTINO SANCHEZ CARRION

FACULTAD: INGENIERIA

E.A.P : INGENIERIA INFORMATICA

CURSO : SISTEMAS OPERATIVOS

DOCENTE: Ing. CIP William Joel Marín Rodríguez

CICLO : OCTAVO

ALUMNA:

 NICHO DÍAZ, PAMELA

HUACHO-PERU
SISTEMAS OPERATIVOS 2011

PLANIFICACION

El planificador es un módulo del sistema operativo que asigna tiempo de CPU

a los procesos activos

A la política que utiliza el planificador para hacer la asignación de tiempo de

CPU se le conoce como algoritmo de planificación o política de planificación

2 UNJFSC
SISTEMAS OPERATIVOS 2011

3 UNJFSC
SISTEMAS OPERATIVOS 2011

Windows 2000 implementa una planificación con un sistema flexible de

niveles de prioridad que incluye planificación round-robin en cada nivel y en

cada nivel variación dinámica de la prioridad según la actividad de cada

hebra.

PRIORIDAD DE PROCESOS Y HEBRAS

Las prioridades en Windows 2000 están organizadas en dos bandas o clases:

tiempo real o variable. Cada una de estas bandas contiene 16 niveles de

prioridad. Las hebras que requieren una atención inmediata se encontraran

en la banda de tiempo real, que incluye funciones para comunicaciones y

tareas en tiempo real.

Evidentemente las hebras con prioridad en tiempo real tendrán preferencia

sobre el resto de hebras, en un sistema con un solo procesador si una hebra

llega a preparado y tiene una prioridad mayor que la que esta ejecutándose,

la de menor prioridad tendrá que abandonar el procesador en beneficio de

la hebra con mayor prioridad.

Las prioridades son gestionadas de manera diferente en cada una de las

bandas. En la banda de tiempo real todas las hebras tienen una prioridad

fija que nunca cambia y todas las hebras se encuentran en la cola round-

robin de un determinado nivel de prioridad. Mientras que en la banda de

prioridad variable las hebras comienzan con una prioridad y después puede

variar su prioridad arriba o abajo durante el ciclo de vida de la hebra. Para

cada nivel de prioridad existe una cola FIFO pero un proceso puede cambiar

a otra cola de prioridad dentro de la banda de prioridad. Sin embargo una

4 UNJFSC
SISTEMAS OPERATIVOS 2011

hebra de nivel 15 no podrá alcanzar el nivel 16 o cualquier nivel de la banda

de tiempo real.

La prioridad de una hebra en la banda de prioridad variable esta

determinado por dos valores: la prioridad base del proceso y la prioridad

base de la hebra, ambos valores son atributos de los objetos hebra y

proceso, el atributo del valor proceso puede tomar cualquier valor entre 0 y

15. Cada objeto hebra asociado a un objeto proceso tiene un atributo

prioridad base que indica la prioridad base de la hebra relativa a la

prioridad del objeto proceso. La prioridad base de la hebra puede ser igual

a la del proceso o 2 niveles por abajo o por arriba, por ejemplo si la

5 UNJFSC
SISTEMAS OPERATIVOS 2011

prioridad base de un proceso es 4 y una de sus hebras tiene como prioridad

base -1, la prioridad inicial de dicha hebra será 3.

Una vez la hebra de la clase de prioridad variable ha sido activada, su

prioridad actual, llamada prioridad dinámica de la hebra, fluctuara entre los

limites establecidos. La prioridad dinámica nunca caerá por debajo del nivel

inferior de la prioridad base de la hebra y nunca pasara de 15

Si una hebra es interrumpida por que ha usado su quantum, el Ejecutivo de

Windows 2000 reduce su prioridad. Si la hebra es interrumpida para

esperar un evento E/S, el Ejecutivo aumentará su prioridad. Por tanto las

hebras con mayor cantidad de E/S tenderán a tener una mayor prioridad y

en especial las que realicen operaciones interactivas (ej. esperar la

pulsación de una tecla) que tendrán las prioridades más altas dentro de la

clase de prioridad variable.

6 UNJFSC
SISTEMAS OPERATIVOS 2011

7 UNJFSC
SISTEMAS OPERATIVOS 2011

8 UNJFSC
SISTEMAS OPERATIVOS 2011

Linux está basado en la planificación tradicional de Unix añadiendo 2 clases

de prioridad para procesos de tiempo real flexibles. Las tres clases de

prioridad de Linux son las siguientes:

 SCHED_FIFO: hilos de tiempo real con planificación FIFO.

 SCHED_RR: hilos de tiempo real con planificación por turno

rotatorio.

 SCHED_OTHER: hilos que no son de tiempo real y otros.

Dentro de cada clase se utilizan múltiples prioridades, siendo las

prioridades de las clases de tiempo real mayores que la de la clase

SCHED_OTHER. Para los hilos FIFO, se aplican las siguientes reglas:

1.     El sistema no interrumpe la ejecución de un hilo FIFO, exepto en los

siguientes casos:

a)   Pasa a estar listo otro hilo FIFO de mayor prioridad.

b)   El hilo FIFO en ejecución se bloquea a la espera de un evento, como una

E/S.

c)   El hilo FIFO en ejecución abandona el procesador como resultado de la

ejecución de la primitiva sched_yield.

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 hio que

está en ejecución, se expulsa al hilo en ejecución y pasa a ejecutar el hilo de

9 UNJFSC
SISTEMAS OPERATIVOS 2011

mayor prioridad. Si más de un hilo tiene esta mayor prioridad, se escoge al

que lleva más tiempo esperado.

La política SCHED_RR es similar a la SCHED_FIFO, exepto 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.

Se ilustra las diferencias entre la planificación FIFO y RR. Supóngase un

programa de cuatro hilos con tres prioridades relativas asignadas según la

figura. Supóngase que todos los hilos que esperan están listos para

ejecutarse cuando termina o se bloquea el hilo actual y no hay ningún hilo de

mayor prioridad despierto mientras se está ejecutando un hilo. La figura

muestra el orden de ejecución si todos los hilos son de la clase

SCHED_FIFO. El hilo D se ejecuta hasta que termina su bloqueo. A

continuación, aunque los hilos B y C tienen la misma prioridad, se ejecuta el

hilo B porque lleva mas tiempo esperando que C. El hilo B se ejecuta hasta

que termina o se bloquea; entonces, pasa a ejecutar el hilo C hasta que

termina o se bloquea. Por último, se ejecuta el hilo A.

10 UNJFSC
SISTEMAS OPERATIVOS 2011

Semuestra el orden de ejecución si todos los hilos son de la clase

SCHED_RR. El hilo D se ejecuta hasta que termina su bloqueo. A

continuación, los hilos B y C comparten el tiempo porque ambos tienen la

misma prioridad. Por último, se ejecuta el hilo A.

La última clase de prioridad es SCHED_OTHER. Un hilo de esta clase

ejecuta sólo si no hay hios de tiempo real listos para ser ejecutados. Dentro

de la clase SCHED_OTHER, se utiliza el algoritmo tradicional de Unix.

11 UNJFSC

También podría gustarte