You are on page 1of 72

SISTEMAS OPERATIVOS

UNIDAD II
ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

2.1 CONCEPTO DE PROCESO
Un obstáculo para tratar a los sistemas operativos es la cuestión de cómo debemos referirnos a todas las actividades de la CPU, así que a todas las actividades las llamamos procesos.

-el proceso se esta creando.-el proceso termino su ejecución . Cada proceso puede estar en uno de los siguientes estados: 1..2.-el proceso esta esperando a que ocurra algún suceso (como la terminación de una operación de E/S). 4. 5.-terminado (terminated).se están ejecutando instrucciones. 3.el proceso esta esperando que se le asigne a un procesador.2 ESTADOS Y TRANSICIONES DE LOS PROCESOS A medida que un proceso se ejecuta. cambia de estado.-listo (ready).-nuevo (new).-en ejecución (running).. el estado de un proceso esta definido en parte por la actividad actual de este proceso. 2.-en espera (waiting).

Es importante tener presente que solo un proceso puede estar ejecutándose en cualquier procesador en un instante dado. pero muchos procesos pueden estar listos y esperando. .

TRANSICIONES Todos los procesos que fueron suspendidos estaban en el estado Bloqueado en el momento de la suspensión. el proceso se desbloqueara y. posiblemente. estará disponible para su ejecución. sin embargo.  . Realmente no haría ningún bien traer de nuevo a memoria principal un proceso Bloqueado porque no esta todavía listo para ejecutarse. Cuando se produzca tal suceso. Debe reconocerse. que cada proceso en estado Suspendido fue bloqueado originalmente por un suceso concreto.

•Listo: El proceso esta en memoria principal y listo para la ejecución. •Bloqueado: El proceso esta en memoria principal esperando un suceso. . •Bloqueado y suspendido: El proceso esta en memoria secundaria esperando un suceso. •Listo y suspendido: El proceso esta en memoria secundaria pero esta disponible para su ejecución tan pronto como se cargue en la memoria principal.

.

En todos los sistemas de hoy en día los hilos son utilizados para simplificar la estructura de un programa que lleva a cabo diferentes funciones.3 PROCESOS LIGEROS (HILOS O HEBRAS). Los hilos permiten dividir un programa en dos o más tareas que corren simultáneamente. es similar a un proceso en que ambos representan una secuencia simple de instrucciones ejecutada en paralelo con otras secuencias. en sistemas operativos. este método permite incrementar el rendimiento de un procesador de manera considerable. por medio de la multiprogramación. .2.  Un hilo de ejecución. En realidad.

ventanas). Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos. De esta manera el programa responde más ágilmente a la interacción con el usuario. . mientras otro hilo hace una larga operación internamente. botones.

.2. La concurrencia puede contextos diferentes: presentarse en tres • Varias aplicaciones: (multiprogramación) en este caso el tiempo de procesador de una maquina es compartido dinámicamente entre varios trabajos o aplicaciones activas. Los procesos son concurrentes si existen simultáneamente 2 o más y llegan al mismo tiempo a ejecutarse.4 CONCURRENCIA Y SECUENCIABILIDAD.

algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes (divicion de bloques . también se pueden fraccionar. el cual se descompone en subprogramas (submódulos). y así sucesivamente) Estructura del sistema operativo: como resultado de la aplicación de la estructuración en el diseño del propio SO. los cuales.procedimientos y funciones ) Diseño modular(un programa representado por un módulo principal.   Aplicaciones estructuradas: Como ampliación del diseño modular y la programación estructurada. . de forma que este se implemente como un conjunto de procesos. a su vez.

Máquina formada por más de un CPU que comparten memoria principal. • Multiprocesador. intercalando su ejecución para dar una apariencia de ejecución simultánea. es posible la ejecución simultánea de los procesos en los diferentes CPU’s. El sistema operativo se encarga de repartir el CPU entre los procesos.concurrencia: • Multiprogramación con un CPU. . Es una máquina de memoria distribuida formada por una serie de computadoras. • Multicomputadora.

el recurso será asignado a uno de los procesos en espera. Tipos de recursos: Compartibles: pueden ser usados por varios procesos de forma concurrente. se lo denomina recurso critico.2.   Exclusión Mutua es la comunicación requerida entre dos o más procesos que se están ejecutando en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el recurso no compartible a sólo uno de los procesos.4. Cuando este proceso termine. mientras que los otros deben permanecer a la espera hasta que finalice la utilización de dicho recurso por el proceso al que se le asigno.  No compartibles: su uso está restringido a un solo proceso a la vez.1 EXCLUSIÓN MUTUA DE SECCIONES CRÍTICAS. Si un recurso tiene sólo un punto de entrada. .

los demás procesos que esperan deben poder acceder al recurso de todas formas (el S. debe tener permiso para entrar en ella en un instante dado. no debe permitirse el interbloqueo y la inanición. mata al proceso que se colgó y así libera al recurso). 2. sino se van a morir sin usarlo y no es justo. Es decir que si se cuelga un proceso que está usando un recurso. Todos los procesos deben poder acceder al recurso que solicitan. 3.O. No se puede demorar indefinidamente la entrada de un proceso a un cierto recurso. Debe cumplirse la exclusión mutua: sólo un proceso de entre todos los que poseen secciones críticas por el mismo recurso u objeto compartido. .Requisitos para la exclusión mutua: 1. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin estorbar a los otros.

Cuando ningún proceso está en su sección crítica. Es decir. si nadie está usando un cierto recurso. cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilatación. entonces se le otorga al primer proceso que lo solicite. Un proceso permanece en su sección crítica sólo por un tiempo finito. . Esto sirve para evitar que un proceso se quede con un recurso por mucho tiempo y para que un recurso no se quede trabado sin sentido. 5.4.

los procesos se reúnen para realizar tareas en conjunto. Sincronización  Coordinación para llevar a cabo el trabajo de un grupo de procesos cooperantes asegurando el acceso a recursos compartidos. . los procesos deben sincronizarse. a este tipo de relación se le llama procesos cooperativos.2 Sincronización de procesos S.2. Para lograr la comunicación. En muchos casos. de no ser así pueden ocurrir problemas no deseados.C.4.

tales como estructuras de datos o dispositivos de E/S. de procesos contendientes. Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecución de un proceso. La sincronización entre procesos también permite intercambiar señales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones específicas de precedencia impuestas por el problema que se resuelve. .La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos.

Entre los distintos algoritmos de este tipo existentes podemos citar: . son los siguientes: Algoritmo de Espera activa. Se. sino que constantemente compite por el procesador.Existen algoritmos diseñados para este fin. Estos algoritmos establecen la espera de entrada a la región crítica con un bucle que será roto en el momento en que se cumpla una determinada condición. les llama así por que el proceso no queda bloqueado en su ejecución.

utiliza también una variable turno para realizar el sincronismo entre los Procesos. Ligeramente mejor que el anterior. Algoritmo que utiliza un switch (MUTEX) a través del cual se produce la sincronización. . Alternancia.Espera con mutex. Algoritmo de DEKKER. basando su funcionamiento en una Tabla unidimensional de dos elementos lógicos (Switches). Resuelve el problema mediante la solución propuesta por DEKKER.

. el proceso.Algoritmo de Espera no activa. haciendo que deje de competir por el procesador hasta que se cumpla la condición de desbloqueo. Son los algoritmos que establecen la espera para entrar en la región crítica bloqueando.

Dijkstra(1965) diseño un mecanismo basado en una variable entera utilizada como contador de peticiones de entrada a una sección crítica. Esta variable es compartida por todos los procesos del sistema.2. se bloqueará de igual manera que cuando un proceso accede a un recurso que está ocupado. cuando un proceso intente entrar en una región crítica mientras otro está accediendo a los datos compartidos. .1 Mecanismos de semáforos Para eliminar los problemas que se producen con los algoritmos de espera activa.4.2. Este nuevo tipo de variable se denominó semáforo. Con este sistema. por su capacidad de gestionar el tráfico de los proceso que desean acceder a datos compartidos.

Un semáforo S es una variable entera a la que, una vez que se le asignado un valor inicial, solo puede accederse a través de dos operaciones atómicas estándar: espera y señal. (P y V). Operación V: Esta operación consiste en incrementar en uno el valor del semáforo sobre el que actúa. Operación P: Bloqueo, decrementa en uno el valor del semáforo sobre el que actúa siempre y cuando el valor del semáforo es >=0 (positivo)

TIPOS DE SEMÁFOROS
 

SEMÁFOROS BINARIOS (VALORES DE 1,0) SEMÁFOROS CONTADORES (Valores enteros no negativos)

2.4.2.2 Mecanismos de monitores
Un monitor es un mecanismo de software para control de concurrencia que contiene los datos y los procedimientos necesarios para realizar la asignación de un determinado recurso o grupo de recursos compartidos reutilizables en serie. Tipos De Monitores Monitor tipo monitor Este monitor fue implementado en Pascal Concurrente, lenguaje desarrollado por Per Brinch Hansen. Es el monitor más simple de todos pues solo tiene tres estados y las funciones internas son muy sencillas. Una característica distintiva de este monitor es que el proceso que reinicia a otros debe salir del monitor, es decir abandona el estado activo.

A. es decir no se le permite que entre al estado activo. la diferencia esencial es que un proceso que es reiniciado debe abandonar el monitor.R. Monitor tipo mediador Este monitor fue propuesto por C. tiene la característica de compensar las desventajas de los monitores tipo monitor y tipo managEer. . Un proceso que reinicia a otros puede permanecer dentro del monitor y un proceso reiniciado también puede permanecer dentro del monitor. Hoare.Monitor tipo manager Este monitor es muy similar al monitor tipo monitor.

Monitor tipo gladiador Este monitor propuesto por Cavers y Brown tiene la característica fundamental de solo tener un punto de consistencia interno (un punto de consistencia interno ocurre cuando el proceso que está activo abandona este estado y sigue dentro del monitor. .

. no existe una solución eficiente para el caso general.3 Interbloqueo (DeadLock) El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.4. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos.2. A diferencia de otros problemas de la gestión concurrente de procesos.

Condición de espera circular: existe una cadena circular de procesos en la cual cada uno de ellos mantiene a uno o más recursos que son requeridos por el siguiente proceso de la cadena. 4. Elphick y Shoshani establecieron las cuatro condición necesarias para que se produzca interbloqueo: 1. 2. Condición de exclusión mutua: los procesos reclaman control exclusivo de los recursos que piden. 3. . Condición de no expropiación: los recursos no pueden ser extraídos de los procesos que los tienen hasta su completa utilización. Condición de esperar y retener: los procesos mantienen los recursos que ya les han sido asignados mientras esperan por recursos adicionales.Coffman.

de forma que los procesos deben de solicitar los recursos en orden ascendente de acuerdo a los números asignados a dichos recursos.Puntos de estudio del interbloqueo: Prevención del interbloqueo: condiciona al sistema para que elimine toda posibilidad de que se produzca interbloqueo. se le asigna todos. pedirlos de nuevo junto con los recursos adicionales. deberá liberar sus recursos y. . Estrategias: Negar la condición de esperar por: cada proceso debe pedir todos los recursos que va a necesitar de golpe. Si no esta disponible todo el conjunto completo. no se le asigna ninguno al proceso y tendrá que esperar hasta que estén todos disponibles. si es necesario. Si el conjunto de todos ellos está disponible. Negar la condición de no apropiatividad: cuando un proceso que tiene recursos le es negada una petición de recursos adicionales. Negar la condición de espera circular: cuando se instala un recurso se le asigna un número exclusivo.

un ejemplo puede ser el de cuatro autos que se encuentran en una intersección en el mismo momento. Los recursos compartidos en este caso son los cuatro cuadrantes. En la vida real. . por parte de dos o más procesos.Todos los interbloqueos surgen de necesidades que no pueden ser satisfechas. y ninguno puede continuar. Cada uno necesita que otro se mueva para poder continuar su camino.

Sin embargo. si los cuatro coches llegan al mismo tiempo cada uno se abstendrá de entrar en el cruce. el coche del norte esperará hasta que el del oeste pase. provocando interbloqueo. si solo llegan al cruce los coches del norte y del oeste. Esta norma funciona si solo hay dos o tres coches en el cruce. La norma más habitual en la carretera es que un coche en un cruce de cuatro caminos debe ceder el paso al coche que está a su derecha. Por ejemplo. .

.

Detección y Recuperación de Interbloqueos 2.3.4.2 Detección  Las estrategias de prevención del interbloqueo son muy conservadoras. solucionan el problema del interbloqueo limitando el acceso a los recursos e imponiendo restricciones a los procesos. En el lado opuesto. . las estrategias de detección del interbloqueo no limitan el acceso a los recursos ni restringen las acciones de los procesos.

dependiendo de la probabilidad de que se produzca el interbloqueo  . el sistema operativo ejecuta un algoritmo que permite detectar la condición de círculo vicioso de espera.Periódicamente.  El control del interbloqueo puede llevarse a cabo tan frecuentemente como las solicitudes de recursos o con una frecuencia menor.

. tal frecuencia de comprobaciones consume un tiempo de procesador considerable. Por otro lado. La comprobación en cada solicitud de recurso tiene dos ventajas: Conduce a una pronta detección y el algoritmo es relativamente simple. puesto que está basado en cambios increméntales del estado del sistema.

2.4.2. enumeradas en orden creciente de sofisticación: 1.3 Recuperación  Una vez detectado el interbloqueo. Retroceder cada proceso interbloqueado 3. Abandonar sucesivamente los procesos bloqueados 4.3. Apropiarse de recursos sucesivamente . Las técnicas siguientes son posibles enfoques. Abandonar todos los procesos bloqueados. hace falta alguna estrategia de recuperación.

el criterio de selección podría ser uno de los siguientes. Para los puntos 3 y 4. consistentes en escoger el proceso con: ◦ La menor cantidad de tiempo de procesador consumido hasta ahora ◦ El menor número de líneas de salida producidas hasta ahora ◦ El mayor tiempo restante estimado ◦ El menor número total de recursos asignados hasta ahora ◦ La prioridad más baja .

Cada proceso alterna entre usar el procesador y esperar que se realice una operación de E/S o que ocurra algún otro suceso.5 Niveles. La clave de la multiprogramación está en la planificación. El procesador o los procesadores se mantienen ocupados ejecutando un proceso mientras los demás esperan.2. objetivos y criterios de planificación. .   En un sistema multiprogramado. la memoria principal contiene varios procesos.

. El afán de la planificación del procesador consiste en asignar los procesos al procesador o los procesadores para que sean ejecutados en algún momento. de forma que se cumplan objetivos del sistema tales como el tiempo de respuesta. la productividad y la eficiencia del procesador.

.Niveles de planificación  En muchos sistemas. medio y corto plazo. Los nombres hacen referencia a la frecuencia relativa con la que son ejecutadas estas funciones. la actividad de planificación se divide en tres funciones independientes: planificación a largo.

Una vez admitido. se controla el grado de multiprogramación. un trabajo o un programa de usuario se convierte en un proceso y es añadido a la cola del planificador a corto plazo.Planificación a Largo Plazo La planificación a largo plazo determina cuáles son los programas admitidos en el sistema.  De este modo.  .

Planificación a Mediano Plazo  La planificación a medio plazo forma parte de la función de intercambio. la decisión de cargar un proceso en memoria principal se basa en la necesidad de controlar el grado de multiprogramación. la decisión de carga en memoria tendrá en cuenta las necesidades de memoria del proceso descargado . Generalmente. Así pues.

El planificador a corto plazo se ejecuta cuando ocurre un suceso que puede conducir a la interrupción del proceso actual o que ofrece la oportunidad de expulsar de la ejecución al proceso actual en favor de otro. .Planificación a Corto Plazo   El planificador a corto plazo. es el de ejecución más frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutará a continuación. también conocido como despachador (dispatcher).

.

Se han sugerido muchos criterios para comparar los distintos algoritmos de planificación. . debemos considerar las propiedades de los diversos algoritmos. Las características que se usen para realizar la comparación pueden afectar enormemente a la determinación de cuál es el mejor algoritmo.Criterios de Planificación   A la hora de decidir qué algoritmo de planificación utilizar en una situación particular.

. En un sistema real. la utilización de la CPU se define en el rango comprendido entre el 0 y el 100 por cien.tan ocupada como sea posible. debe variar entre el 40 por ciento (para un sistema ligeramente cargado) y el 90 por ciento (para un sistema intensamente utilizado). Conceptualmente.Utilización de la CPU   Deseamos mantener la CPU .

Para procesos de larga duración. .Tasa de procesamiento   Si la CPU está ocupada ejecutando procesos. entonces se estará llevando a cabo algún tipo de trabajo. Una medida de esa cantidad de trabajo es el número de procesos que se completan por unidad de tiempo. para transacciones cortas. puede ser de 10 procesos por segundo. y dicha medida se denomina tasa de procesamiento. este valor puede ser de un proceso por hora.

esperar en la cola de procesos preparados. ejecutarse en la CPU y realizar las operaciones de E/S. Ese tiempo de ejecución es la suma de los períodos que el proceso invierte en esperar para cargarse en memoria.Tiempo de ejecución  Desde el punto de vista de un proceso individual. El intervalo que va desde el instante en que se ordena la ejecución de un proceso hasta el instante en que se completa es el tiempo de ejecución. . el criterio importante es cuánto tarda en ejecutarse dicho proceso.

El tiempo de espera es la suma de los períodos invertidos en esperar en la cola de procesos preparados. .Tiempo de espera   El algoritmo de planificación de la CPU no afecta a la cantidad de tiempo durante la que un proceso se ejecuta o hace una operación de E/S. afecta sólo al período de tiempo que un proceso invierte en esperar en la cola de procesos preparados.

el tiempo de ejecución puede no ser el mejor criterio.Tiempo de respuesta  En un sistema interactivo. Por tanto. A menudo. un proceso puede generar parte de la salida con relativa rapidez y puede continuar calculando nuevos resultados mientras que los resultados previos se envían a la salida para ponerlos a disposición del usuario. otra medida es el tiempo transcurrido desde que se envía una solicitud hasta que se produce la primera respuesta. .

y minimizar el tiempo de ejecución. Sin embargo. En la mayoría de los casos. resulta deseable optimizar los valores máximo y mínimo en lugar del promedio.Objetivo   El objetivo consiste en maximizar la utilización de la CPU y la tasa de procesamiento. para garantizar que todos los usuarios tengan un buen servicio. el tiempo de espera y el tiempo de respuesta. en determinadas circunstancias. podernos tratar de minimizar el tiempo de respuesta máximo. Por ejemplo. . lo que se hace es optimizar algún tipo de valor promedio.

FIFO First in. primero en salir"). primero en ser atendido"). contabilidad de costes y teoría de colas. o bien mediante el uso de punteros y asignación dinámica de memoria.1. es un concepto utilizado en estructuras de datos. first out o FIFO (en español "primero en entrar. También se lo llama First Come First Served o FCFS (en español "primero en llegar.6. FIFO se utiliza en estructuras de datos para implementar colas. .6 Técnicas de Administración del Planificador  2. La implementación puede efectuarse con ayuda de arrays o vectores.2.

.

6. también conocidos por ráfagas. . La idea es escoger entre todos los procesos listos el que tenga su próximo ciclo de CPU más pequeño. SJF El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos.2. los cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de entrada/salida. La palabra shortest (el más corto) se refiere al proceso que tenga el próximo ciclo de CPU mas corto.2.

entonces dicho proceso es desalojado y el nuevo proceso toma la CPU.El SJF se puede comportar de dos formas: ◦ Con Desalojo: Si se incorpora un nuevo proceso a la cola de listos y este tiene un ciclo de CPU menor que el ciclo de CPU del proceso que se está ejecutando. . ningún otro proceso podrá apropiarse de ella hasta que que el proceso que la posee termine de ejecutarse. ◦ Sin desalojo: Cuando un proceso toma la CPU.

cálculos probabilísticos. A medida que estos se van incorporando a la cola de listos.P3 y P4). . P2. se les calcula su próximo ciclo de CPU. entre otros. Para el siguiente ejemplo se tienen 4 procesos (P1. Para calcular el próximo ciclo de CPU se pueden emplear: métodos estadísticos.

.0). Luego a P1 se le calcula su CCPU (CCPU = 7) y en ese instante se comienza a ejecutar.Se toma como criterio que la cola de procesos listos está inicialmente vacía. En la figura se representa la llegada de P1 a la cola de listos con un tiempo de llegada (0.

El CCPU de P2 es menor que el CCPU de P1. . En este caso P1 se reincorpora a la cola de listos porque no ha terminado su ejecución. y en ese instante se le vuelve a calcular el valor del CCPU (CCPU = 6). entonces P1 es desalojado y P2 toma la CPU. al cual se le calcula su CCPU (CCPU = 4).El proceso P1. se incorpora a la cola de listos P2.

El proceso P3 llega a la cola de listos y se le calcula el CCPU (CCPU = 1). P2 es reincorporado a la cola de listos porque no ha terminado su ejecución CCPU y se le vuelve a calcular su CCPU (CCPU = 3). por lo que se desaloja P2 para cederle la CPU a P3. . El CCPU de P3 es menor que el CCPU de P2.

Luego P3 termina su ejecución para cederle la CPU al próximo proceso que le corresponda según el criterio que establece el algoritmo. .El proceso P4 se incorpora a la cola de listos y se le calcula su CCPU (CCPU = 4). luego a P4 y finalmente a P1. Para el ejemplo le corresponde el turno a P2.

Al finalizar el tiempo.2. el tiempo de quantum incide en los tiempos de retorno. RR A cada proceso se le brinda un intervalo de tiempo para el uso del procesador (time quantum). el procesador le es expropiado y vuelve al estado pronto (ready) al final de la cola. El quantum debe ser bastante mayor a lo que lleva realizar un cambio de contexto.6. . sino se tendrá mucho overhead. Es fácil de implementar ya que solamente es necesario una cola de procesos listos. Es ideal para sistemas de tiempo compartido. A su vez.3. Cuando un proceso consume su quantum es puesto al final de la cola.

 Quantum = 20 .

Si es muy grande. el sistema tenderá a un FCFS .Es necesario asignar un ajustado tiempo de quantum: Si es muy chico generará muchos cambios de contexto.

. basándose en alguna propiedad del mismo (requerimientos de memoria. teniendo cada cola su propio algoritmo.4. tipo de trabajo).2.6. Queves Multi-Level Un algoritmo de planificación multinivel particiona la cola de listos en colas separadas. generalmente. Se asignan en forma permanente los trabajos a una cola.

.    Si los procesos se pueden clasificar según sus cualidades. se debe tener una estrategia de planificación entre las diferentes colas. es posible dividir la lista de procesos listos (ready queue) en varias colas (una para cada clasificación). Los procesos son asignados permanentemente a una de las colas. Además. Cada cola tendrá su propio algoritmo de planificación propio. Por ejemplo. una cola tendrá prioridad sobre otra.

el trabajo de otras colas es interrumpido. Si algún trabajo entra en una cola de mayor prioridad. . Ningún trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no están vacías. la cola interactiva podría planificarse usando RR y FIFO.Por ejemplo.

.

Se diferencia con el anterior en que procesos pueden cambiar de cola (nivel). lo moveremos a una cola de mayor prioridad. La idea es separar procesos con distintos tipos de interrupciones de la CPU.2. Si un trabajo consume mucho tiempo de CPU.5.6. . si un proceso espera demasiado tiempo en una cola de baja prioridad. será movido a una cola con menor prioridad. En forma similar.Level Feedback Queves     En colas multinivel realimentadas los trabajos pueden moverse dentro de distintas colas. Multi.

La cola de mayor prioridad será la de los procesos I/O-bound y la de menor la de procesos con alto CPUbound. se garantiza que los procesos con poco uso de procesador tengan mayor prioridad. según el consumo de CPU que hagan. Los procesos. y los que consumen mucho procesador tendrán baja prioridad. .    Se basa en categorizar los procesos según el uso de CPU (CPU-burst) que tengan. De esta forma. serán promovidos a una cola de mayor prioridad o rebajados a una de menor prioridad.

.

Prentice Hall..5ta edición .BIBLIOGRAFÍA:  sistemas operativos .  Stallings.. (2006) Fundamentos de sistemas operativos 7ª edición. McGraw Hill. 2ª edición. Sistemas Operativos. Silberschatz. EEUU. P.abraham silberschatz & peter baer galvin  sistemas operativos sttallings. EEUU. G. Baer. William (1997). A.  . y Gagne.