Sie sind auf Seite 1von 13

PLANIFICACION DE PROCESOS

Introduccin
El siguiente documento describe las caractersticas que presentan los sistemas operativos
para la administracin de procesos en los sistemas mono y multiprocesadores. Se comienza
con una introduccin sobre la funcionalidad de un proceso para luego entrar en los detalles
de implementacin tpicos de los sistemas operativos.

Procesos
Qu es un proceso?
Un proceso es un programa en ejecucin. Un proceso simple tiene un hilo de ejecucin, por
el momento dejemos esta ltima definicin como un concepto, luego se ver en ms detalle
el concepto de hilo. Una vez definido que es un proceso nos podramos preguntar cul es la
diferencia entre un programa y un proceso, y bsicamente la diferencia es que un proceso es
una actividad de cierto tipo que contiene un programa, entradas salidas y estados.

Los procesos pueden ser cooperantes o independientes, en el primer caso se entiende que
los procesos interactan entre s y pertenecen a una misma aplicacin. En el caso de
procesos independientes en general se debe a que no interactan y un proceso no requiere
informacin de otros o bien porque son procesos que pertenecen a distintos usuarios.

Estados de los procesos

Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En ejecucin y
Bloqueado.

Los procesos en el estado listo son los que pueden pasar a estado de ejecucin si el
planificador los selecciona. Los procesos en el estado ejecucin son los que se estn
ejecutando en el procesador en ese momento dado. Los procesos que se encuentran en
estado bloqueado estn esperando la respuesta de algn otro proceso para poder continuar
con su ejecucin. Por ejemplo operacin de E/S.

Implantacin de los procesos


La implementacin del modelo de procesos se logra debido a que el sistema operativo
almacena en una tabla denominada tabla de control de procesos informacin relativa a cada
proceso que se esta ejecutando en el procesador. Cada lnea de esta tabla representa a un
proceso.

La informacin que se almacena es la siguiente:

1) Identificacin del proceso.


2) Identificacin del proceso padre.
3) Informacin sobre el usuario y grupo.
4) Estado del procesador.
5) Informacin de control de proceso
5.1) Informacin del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados.

Comunicacin entre procesos


Condiciones de competencia
Las condiciones de competencia se dan cuando dos o ms procesos intentan acceder a un
mismo recurso.

Secciones crticas
Para solucionar las condiciones de competencia se implement un modelo para prohibir que
dos procesos accedan al mismo recurso. El modelo en cuestin se denomina exclusin
mutua.

Exclusin mutua con espera ocupada


Las soluciones con espera ocupada funcionan de la siguiente manera, cuando un proceso
intenta ingresar a su regin crtica, verifica si esta permitida la entrada. Si no, el proceso se
queda esperando hasta obtener el permiso.
Desactivacin de interrupciones
El mtodo ms simple para evitar las condiciones de competencia es hacer que cada
proceso desactive todas sus interrupciones antes de entrar a su seccin crtica y las active
una vez que salio de la misma. Este modelo como se puede observar, ste modelo tiene una
gran problema y es que si se produce una falla mientras que el proceso esta en la regin
crtica no se puede salir de la misma y el sistema operativo no recuperara el control.

Variables cerradura
En ste caso se genera una variable la cual puede tener dos valores o bien 0 (no hay ningn
proceso en su seccin crtica) o bien 1 (indicando que la seccin crtica est ocupada)
entonces cada proceso antes de ingresar a la seccin crtica verifica el estado de la variable
de cerradura y en caso de que la misma este en 0, le cambia el valor e ingresa a la misma y
en caso de que la misma sea 1 el proceso se queda verificando el estado de la misma hasta
que el mismo sea 0.

El problema aqu se presenta si dos procesos verifican al mismo tiempo que la variable
cerradura esta en 0 e ingresan a la regin crtica.

Alternancia estricta
El algoritmo de alternancia estricta no bloquea el ingreso a la regin crtica cuando otro
proceso se esta ejecutando. El problema de sta solucin es que cuando un proceso no esta
en la seccin crtica igualmente tiene bloqueado el acceso a la misma y por lo tanto no
permite que otro proceso que requiera ingresar a la misma logre hacerlo.

Instruccin TSL
Esta solucin requiere ayuda del hardware y es debido a que en general las computadoras
diseadas para tener ms de un procesador tienen una instruccin TEST AND SET LOCK

Dormir y despertar
El modelo de espera acotada tienen el inconveniente que se desperdicia tiempo de
procesador.
El problema del productor y el consumidor
El problema del productor y el consumidor describe el hecho de que cuando hay dos o ms
procesos interactuando a travs de un buffer comn habiendo procesos que ponen
informacin o datos y otros que los sacan se pueden llegar a dar condiciones en las cuales
los procesos que ingresan los datos no puedan hacerlo debido a que el buffer ya se
encuentra lleno y para el caso de los que sacan los datos del buffer intenten sacar datos
cuando ya no hay nada que sacar. Para evitar estas condiciones se desarrollaron mtodos de
comunicacin/sincronizacin entre procesos en los cuales se impide que esto suceda
haciendo que el proceso productor "duerma" si el buffer est lleno y una vez que exista
espacio el proceso "consumidor" despierte al productor para que siga generando o
viceversa.

Niveles de Planificacin
La planificacin de la CPU, en el sentido de conmutarla entre los distintos procesos, es una
de las funciones del sistema operativo. Este despacho es llevado a cabo por un pequeo
programa llamado planificador a corto plazo o dispatcher (despachador). La misin del
dispatcher consiste en asignar la CPU a uno de los procesos ejecutables del sistema, para
ello sigue un determinado algoritmo. En secciones posteriores estudiaremos algunos
algoritmos posibles. Para que el dispatcher conmute el procesador entre dos procesos es
necesario realizar un cambio de proceso.

Los acontecimientos que pueden provocar la llamada al dispatcher dependen del sistema
(son un subconjunto de las interrupciones), pero son alguno de estos:

El proceso en ejecucin acaba su ejecucin o no puede seguir ejecutndose (por una


E/S, operacin WAIT, etc).
Un elemento del sistema operativo ordena el bloqueo del proceso en ejecucin (ver
estados de un proceso).
El proceso en ejecucin agota su cuantum o cuanto de estancia en la CPU.
Un proceso pasa a estado listo.

Hay que destacar el hecho de que cuanto menos se llame al dispatcher menos tiempo ocupa
la CPU un programa del sistema operativo, y, por tanto, se dedica ms tiempo a los
procesos del usuario (un cambio de proceso lleva bastante tiempo).

As, si slo se activa el dispatcher como consecuencia de los 2 primeros acontecimientos se


estar haciendo un buen uso del procesador. Este criterio es acertado en sistemas por lotes
en los que los programas no son interactivos. Sin embargo, en un sistema de tiempo
compartido no es adecuado, pues un proceso que se dedicara a realizar clculos, y no
realizara E/S, monopolizara el uso de la CPU. En estos sistemas hay que tener en cuenta el
conjunto de todos los procesos, activndose el dispatcher con la circunstancia tercera y,
posiblemente, la cuarta. Los sistema operativos en que las dos siguientes circunstancias no
provocan la activacin del dispatcher muestran preferencia por el proceso en ejecucin, si
no ocurre esto se tiene ms en cuenta el conjunto de todos los procesos.

Se puede definir el scheduling -algunas veces traducido como -planificacin- como el


conjunto de polticas y mecanismos construidos dentro del sistema operativo que gobiernan
la forma de conseguir que los procesos a ejecutar lleguen a ejecutarse.

El scheduling est asociado a las cuestiones de:

Cundo introducir un nuevo proceso en el Sistema.


Determinar el orden de ejecucin de los procesos del sistema.
El scheduling est muy relacionado con la gestin de los recursos. Existen tres niveles de
scheduling, como se ilustra en la figura 1.1, estos niveles son:

Planificador de la CPU o a corto plazo.


Planificador a medio plazo.
Planificador a largo plazo.

Ya hemos hablado del planificador de la CPU, y en los subapartados posteriores se


comentan los dos restantes:

Planificacin a largo plazo

Este planificador est presente en algunos sistemas que admiten adems de procesos
interactivos trabajos por lotes. Usualmente, se les asigna una prioridad baja a los trabajos
por lotes, utilizndose estos para mantener ocupados a los recursos del sistema durante
perodos de baja actividad de los procesos interactivos. Normalmente, los trabajos por lotes
realizan tareas rutinarias como el clculo de nminas; en este tipo de tareas el programador
puede estimar su gasto en recursos, indicndoselo al sistema. Esto facilita el
funcionamiento del planificador a largo plazo.

El objetivo primordial del planificador a largo plazo es el de dar al planificador de la CPU


una mezcla equilibrada de trabajos, tales como los limitados por la CPU (utilizan mucho la
CPU) o la E/S. As, por ejemplo, cuando la utilizacin de la CPU es baja, el planificador
puede admitir ms trabajos para aumentar el nmero de procesos listos y, con ello, la
probabilidad de tener algn trabajo til en espera de que se le asigne la CPU. A la inversa,
cuando la utilizacin de la CPU llega a ser alta, y el tiempo de respuesta comienza a
reflejarlo, el planificador a largo plazo puede optar por reducir la frecuencia de admisin de
trabajos.

Normalmente, se invoca al planificador a largo plazo siempre que un proceso termina. La


frecuencia de invocacin depende, pues, de la carga del sistema, pero generalmente es
mucho menor que la de los otros dos planificadores. Esta baja frecuencia de uso hace que
este planificador pueda permitirse utilizar algoritmos complejos, basados en las
estimaciones de los nuevos trabajos.

Planificacin a Medio Plazo

En los sistemas de multiprogramacin y tiempo compartido varios procesos residen en la


memoria principal. El tamao limitado de sta hace que el nmero de procesos que residen
en ella sea finito. Puede ocurrir que todos los procesos en memoria estn bloqueados,
desperdicindose as la CPU. En algunos sistemas se intercambian procesos enteros (swap)
entre memoria principal y memoria secundaria (normalmente discos), con esto se aumenta
el nmero de procesos, y, por tanto, la probabilidad de una mayor utilizacin de la CPU.
El planificador a medio plazo es el encargado de regir las transiciones de procesos entre
memoria principal y secundaria, acta intentando maximizar la utilizacin de los recursos.
Por ejemplo, transfiriendo siempre a memoria secundaria procesos bloqueados, o
transfiriendo a memoria principal procesos bloqueados nicamente por no tener memoria.

Planificacin Apropiativa y No apropiativa

Una disciplina de planificacin es no apropiativa si una vez que la CPU ha sido asignada al
proceso, ya no se le puede arrebatar. Y por el contrario, es apropiativa, si se le puede quitar
la CPU.

La planificacin apropiativa es til en los sistemas en los cuales los procesos de alta
prioridad requieren una atencin rpida. En los de tiempo real, por ejemplo, las
consecuencias de perder una interrupcin pueden ser desastrosas. En los sistemas de tiempo
compartido, la planificacin apropiativa es importante para garantizar tiempos de respuesta
aceptables.

La apropiacin tiene un precio. El cambio de proceso implica gasto extra. Para que la
tcnica de apropiacin sea efectiva deben mantenerse muchos procesos en memoria
principal de manera que el siguiente proceso se encuentre listo cuando quede disponible la
CPU. Conservar en memoria principal procesos que no estn en ejecucin implica gasto
extra.

En los sistema no apropiativos, los trabajos largos retrasan a los cortos, pero el tratamiento
para todos los procesos es ms justo. Los tiempos de respuesta son ms predecibles porque
los trabajos nuevos de alta prioridad no pueden desplazar a los trabajos en espera.

Al disear mecanismos de planificacin apropiativa no hay que perder de vista la


arbitrariedad de casi todos los sistemas de prioridades. Se puede construir un mecanismo
complejo para implantar fielmente un esquema de apropiacin por prioridades sin que, de
hecho, se hayan asignado prioridades de forma coherente.

Algoritmos de planificacin
En los siguientes subapartados vamos a estudiar ciertos algoritmos utilizados para
planificar la CPU, la eleccin de uno (o de una mezcla de varios) depende de decisiones de
diseo. Antes de exponer los algoritmos vamos a explicar ciertas medidas que se utilizan
para evaluarlos.

Porcentaje de utilizacin de la CPU por procesos de usuario. La CPU es un


recurso caro que necesita ser explotado, los valores reales suelen estar entre un 40%
y un 90%.
Rendimiento (throughput) = n de rfagas por unidad de tiempo. Se define una
rfaga como el perodo de tiempo en que un proceso necesita la CPU; un proceso,
durante su vida, alterna rfagas con bloqueos. Por extensin, tambin se define
como el n de trabajos por unidad de tiempo.
Tiempo de espera (E) = tiempo que una rfaga ha permanecido en estado listo.
Tiempo de finalizacin (F) = tiempo transcurrido desde que una rfaga comienza a
existir hasta que finaliza. F = E + t (t = tiempo de CPU de la rfaga).
Penalizacin (P) = E + t / t = F / t, es una medida adimensional que se puede
aplicar homogneamente a las rfagas independientemente de su longitud.

En general, hay que maximizar los dos primeros parmetros y minimizar los tres ltimos.
Sin embargo, estos objetivos son contradictorios, el dedicar ms tiempo de CPU a los
usuarios se hace a costa de llamar menos al algoritmo de planificacin (menos cambios de
proceso), y de simplificarlo. Esto provoca que la CPU se reparta menos equitativamente
entre los procesos, en detrimento de los ltimos tres parmetros.

As pues, dependiendo de los objetivos se elegir cierto algoritmo. En los sistemas por lotes
suele primar el rendimiento del sistema, mientras que en los sistemas interactivos es
preferible minimizar, por ejemplo, el tiempo de espera.

Planificacin de Plazo Fijo

En la planificacin de plazo fijo se programan ciertos trabajos para terminarse en un tiempo


especfico o plazo fijo. Estas tareas pueden tener un gran valor si se entregan a tiempo, y
carecer de l si se entregan despus del plazo. Esta planificacin es compleja por varios
motivos:

El usuario debe informar por adelantado de las necesidades precisas de recursos del
proceso. Semejante informacin rara vez est disponible.

El sistema debe ejecutar el proceso en un plazo fijo sin degradar demasiado el servicio a
los otros usuarios y debe planificar cuidadosamente sus necesidades de recursos dentro del
plazo. Esto puede ser difcil por la llegada de nuevos procesos que impongan demandas
imprevistas al sistema.

Si hay muchas tareas a plazo fijo activas al mismo tiempo, la planificacin puede ser tan
compleja que se necesiten mtodos de optimizacin avanzados para cumplir los plazos.

La administracin intensiva de recursos requerida por la planificacin de plazo fijo puede


producir un gasto extra substancial.

Planificacin Primero en Entrar-Primero en Salir (FIFO, First In First Out)


Cuando se tiene que elegir a qu proceso asignar la CPU se escoge al que llevara ms
tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.

La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para


entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo
de espera de los dems procesos. Para implementar el algoritmo (ver figura 2) slo se
necesita mantener una cola con los procesos listos ordenada por tiempo de llegada. Cuando
un proceso pasa de bloqueado a listo se sita el ltimo de la cola.

En a) el proceso P7 ocupa la CPU, los procesos P2, P4 y P8 se mantienen en la lista de


preparados. En b) P7 se bloquea (ya sea al realizar una E/S, una operacin WAIT sobre un
semforo a cero u otra causa) y P2 pasa a ocupar la CPU. En c) ocurre un evento
(finalizacin de la operacin de E/S, operacin SIGNAL, ...) que desbloquea a P7, esto lo
vuelve listo, pasando al final de la cola de procesos listos.

Algunas de las caractersticas de este algoritmo es que es no apropiativo y justo en el


sentido formal, aunque injusto en el sentido de que: los trabajos largos hacen esperar a los
cortos y los trabajos sin importancia hacen esperar a los importantes. Por otro lado es
predecible pero no garantiza buenos tiempos de respuesta y por ello se emplea como
esquema secundario.

Planficacin por Turno Rotatorio (Round Robin).

Este es uno de los algoritmos ms antiguos, sencillos y equitativos en el reparto de la CPU


entre los procesos, muy vlido para entornos de tiempo compartido. Cada proceso tiene
asignado un intervalo de tiempo de ejecucin, llamado cuantum o cuanto. Si el proceso
agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se
bloquea o termina antes de agotar su cuantum tambin se alterna el uso de la CPU. El round
robin es muy fcil de implementar. Todo lo que necesita el planificador es mantener una
lista de los procesos listos, como se muestra en la figura 6.2.
En esta figura en a) el proceso P7 ocupa la CPU. En b) P7 se bloquea pasando P2 a ocupar
la CPU. En c) P2 agota su cuantum con lo que pasa al final de la lista y P4 ocupa la CPU.
La figura 4 representa un ejemplo ms largo de la ocupacin de la CPU utilizando el
algoritmo round robin.

Este algoritmo presupone la existencia de un reloj en el sistema. Un reloj es un dispositivo


que genera peridicamente interrupciones. Esto es muy importante, pues garantiza que el
sistema operativo (en concreto la rutina de servicio de interrupcin del reloj) coge el mando
de la CPU peridicamente. El cuantum de un proceso equivale a un nmero fijo de pulsos o
ciclos de reloj. Al ocurrir una interrupcin de reloj que coincide con la agotacin del
cuantum se llama al dispatcher.

Tamao del Cuanto


La determinacin del tamao del cuanto es vital para la operacin efectiva de un sistema de
cmputo. Debe el cuanto ser pequeo o grande?, fijo o variable?, el mismo para todos
los usuarios o debe determinarse por separado para cada uno?

Si el cuanto de tiempo es muy grande, cada proceso tendr el tiempo necesario para
terminar, de manera que el esquema de planificacin por turno rotatorio degenera en uno de
primero-en-entrar-primero-en-salir. Si el cuanto es muy pequeo, el gasto extra por cambio
de proceso se convierte en el factor dominante y el rendimiento del sistema se degradar
hasta el punto en que la mayor parte del tiempo se invierte en la conmutacin del
procesador, con muy poco o ningn tiempo para ejecutar los programas de los usuarios.

Exactamente dnde, entre cero e infinito, debe fijarse el tamao del cuanto? La respuesta
es, lo bastante grande como para que la mayora de las peticiones interactivas requieran
menos tiempo que la duracin del cuanto.

Pongamos un ejemplo, supongamos que el cambio de proceso tarda 5 mseg., y la duracin


del cuantum es de 20 mseg.. Con estos parmetros, se utiliza un mnimo del 20% del
tiempo de la CPU en la ejecucin del sistema operativo. Para incrementar la utilizacin de
la CPU por parte de los procesos de usuario podramos establecer un cuantum de 500
mseg., el tiempo desperdiciado con este parmetro sera del 1%. Pero consideremos lo que
ocurrira si diez usuarios interactivos oprimieran la tecla enter casi al mismo tiempo. Diez
procesos se colocaran en la lista de procesos listos. Si la CPU est inactiva, el primero de
los procesos comenzara de inmediato, el segundo comenzara medio segundo despus, etc.
Partiendo de la hiptesis de que todos los procesos agoten su cuantum, el ltimo proceso
deber de esperar 4'5 seg. para poder ejecutarse. Esperar 4'5 seg. para la ejecucin de una
orden sencilla como pwd parece excesivo.

En conclusin, un cuantum pequeo disminuye el rendimiento de la CPU, mientras que un


cuantum muy largo empobrece los tiempos de respuesta y degenera en el algoritmo FIFO.
La solucin es adoptar un trmino medio como 100 mseg.

Planificacin por Prioridad al ms corto (SJF, Short Job First).

Al igual que en el algoritmo FIFO las rfagas se ejecutan sin interrupcin, por tanto, slo
es til para entornos batch. Su caracterstica es que cuando se activa el planificador, ste
elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre
rfagas. Hay que recordar que en los entornos batch se pueden hacer estimaciones del
tiempo de ejecucin de los procesos.

La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo
de finalizacin promedio, como puede verse en el siguiente ejemplo:

Ej: Supongamos que en un momento dado existen tres rfagas listos R1, R2 y R3, sus
tiempos de ejecucin respectivos son 24, 3 y 3 ms. El proceso al que pertenece la rfaga R1
es la que lleva ms tiempo ejecutable, seguido del proceso al que pertenece R2 y del de R3.
Veamos el tiempo medio de finalizacin (F) de las rfagas aplicando FIFO y SJF:
FIFO F = (24 + 27 + 30) / 3 = 27 ms.
SJF F = (3 + 6 + 30) / 3 = 13 ms.

Se puede demostrar que este algoritmo es el ptimo. Para ello, consideremos el caso de
cuatro rfagas, con tiempos de ejecucin de a, b, c y d. La primera rfaga termina en el
tiempo a, la segunda termina en el tiempo a+b, etc. El tiempo promedio de finalizacin es
(4a+3b+2c+d)/4. Es evidente que a contribuye ms al promedio que los dems tiempos, por
lo que debe ser la rfaga ms corta, b la siguiente, y as sucesivamente. El mismo
razonamiento se aplica a un nmero arbitrario de rfagas.

No obstante, este algoritmo slo es ptimo cuando se tienen simultneamente todas las
rfagas. Como contraejemplo, considrense cinco rfagas desde A hasta E, con tiempo se
ejecucin de 2, 4, 1, 1 y 1 respectivamente. Sus tiempos de llegada son 0, 0, 3, 3 y 3.
Primero se dispone de A y B, puesto que las dems rfagas no han llegado an. Con el
algoritmo SJF las ejecutaramos en orden A, B, C, D, y E con un tiempo de finalizacin
promedio de 4.6. Sin embargo, al ejecutarlas en orden B, C, D, E y A se tiene un promedio
de finalizacin de 4.4.

Planificacin por Prioridad al Tiempo Restante ms Corto (SRTF, Short


Remaining Time First).

Es similar al anterior, con la diferencia de que si un nuevo proceso pasa a listo se activa el
dispatcher para ver si es ms corto que lo que queda por ejecutar del proceso en ejecucin.
Si es as el proceso en ejecucin pasa a listo y su tiempo de estimacin se decrementa con
el tiempo que ha estado ejecutndose.

En la figura 6.5 tenemos un ejemplo de funcionamiento del algoritmo en el que se observa


cmo se penalizan las rfagas largas (como en SJF). Un punto dbil de este algoritmo se
evidencia cuando una rfaga muy corta suspende a otra un poco ms larga, siendo ms
largo la ejecucin en este orden al ser preciso un cambio adicional de proceso y la
ejecucin del cdigo del planificador.

Planificacin a la Tasa de Respuesta ms Alta

Brinch Hansen desarroll la estrategia de prioridad a la tasa de respueta ms alta (HRN,


highest-response-ratio-next) que corrige algunas deficiencias de SJF, particularmente el
retraso excesivo de trabajos largos y el favoritismo excesivo para los trabajos cortos. HRN
es un disciplina de planificacin no apropiativa en la cual la prioridad de cada proceso no
slo se calcula en funcin del tiempo de servicio, sino tambin del tiempo que ha esperado
para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las
prioridades dinmicas en HRN se calculan de acuerdo con la siguiente expresin:

prioridad = (tiempo de espera + tiempo de servicio) / tiempo de servicio

Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrn


preferencia. Pero como el tiempo de espera aparece en el numerador, los procesos largos
que han esperado tambin tendrn un trato favorable. Obsrvese que la suma tiempo de
espera + tiempo de servicio es el tiempo de respuesta del sistema para el proceso si ste se
inicia de inmediato.

3.6.8 Planificacin por el Comportamiento

Con este tipo de planificacin se pretende garantizar al usuario cierta prestacin del sistema
y tratar de cumplirla. Si en un sistema tenemos 'n' usuarios lo normal ser garantizar a cada
uno de ellos al menos 1/n de la potencia del procesador. Para ello necesitamos del tiempo
consumido por el procesador y el tiempo que lleva el proceso en el sistema. La cantidad de
procesador que tiene derecho a consumir el proceso ser el cociente entre el tiempo que
lleva en el sistema entre el nmero de procesos que hay en el sistema. A esa cantidad se le
puede asociar una prioridad que vendr dada como el cociente entre tiempo de procesador
que ha consumido y el tiempo que se le prometi (el tiempo que tiene derecho a consumir).
De tal modo que si esa proporcin es de 0'5 significa que tan slo ha consumido la mitad
del tiempo prometido pero si es de 2 quiere decir que ha consumido ms de lo debido,
justamente el doble.

En sistemas de tiempo real se puede adoptar una variante de este algoritmo en el que se
otorgue mayor prioridad al proceso cuyo riesgo de no cumplir el plazo sea mayor.

Das könnte Ihnen auch gefallen