Sunteți pe pagina 1din 72

SISTEMAS OPERATIVOS

UNIDAD II
ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

2.1 CONCEPTO DE PROCESO


Un obstculo para tratar a los sistemas operativos es la cuestin de cmo debemos referirnos a todas las actividades de la CPU, as que a todas las actividades las llamamos procesos.

2.2 ESTADOS Y TRANSICIONES DE LOS PROCESOS


A medida que un proceso se ejecuta, cambia de estado, el estado de un proceso esta definido en parte por la actividad actual de este proceso. Cada proceso puede estar en uno de los siguientes estados: 1.-nuevo (new).-el proceso se esta creando. 2.-en ejecucin (running).- se estn ejecutando instrucciones. 3.-en espera (waiting).-el proceso esta esperando a que ocurra algn suceso (como la terminacin de una operacin de E/S). 4.-listo (ready).- el proceso esta esperando que se le asigne a un procesador. 5.-terminado (terminated).-el proceso termino su ejecucin

Es importante tener presente que solo un proceso puede estar ejecutndose 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 suspensin. Realmente no hara ningn bien traer de nuevo a memoria principal un proceso Bloqueado porque no esta todava listo para ejecutarse. Debe reconocerse, sin embargo, que cada proceso en estado Suspendido fue bloqueado originalmente por un suceso concreto. Cuando se produzca tal suceso, el proceso se desbloqueara y, posiblemente, estar disponible para su ejecucin.

Listo: El proceso esta en memoria principal y listo para la ejecucin. 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 ejecucin tan pronto como se cargue en la memoria principal.

2.3 PROCESOS LIGEROS (HILOS O HEBRAS).

Un hilo de ejecucin, en sistemas operativos, es similar a un proceso en que ambos representan una secuencia simple de instrucciones ejecutada en paralelo con otras secuencias. Los hilos permiten dividir un programa en dos o ms tareas que corren simultneamente, por medio de la multiprogramacin. En realidad, este mtodo permite incrementar el rendimiento de un procesador de manera considerable. En todos los sistemas de hoy en da los hilos son utilizados para simplificar la estructura de un programa que lleva a cabo diferentes funciones.

Un ejemplo de la utilizacin de hilos es tener un hilo atento a la interfaz grfica (iconos, botones, ventanas), mientras otro hilo hace una larga operacin internamente. De esta manera el programa responde ms gilmente a la interaccin con el usuario.

2.4 CONCURRENCIA Y SECUENCIABILIDAD.


Los procesos son concurrentes si existen simultneamente 2 o ms y llegan al mismo tiempo a ejecutarse.
La concurrencia puede contextos diferentes: presentarse en tres

Varias aplicaciones: (multiprogramacin) en este caso el tiempo de procesador de una maquina es compartido dinmicamente entre varios trabajos o aplicaciones activas.

Aplicaciones estructuradas: Como ampliacin del diseo modular y la programacin estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes (divicion de bloques ,procedimientos y funciones ) Diseo modular(un programa representado por un mdulo principal, el cual se descompone en subprogramas (submdulos), los cuales, a su vez, tambin se pueden fraccionar, y as sucesivamente) Estructura del sistema operativo: como resultado de la aplicacin de la estructuracin en el diseo del propio SO, de forma que este se implemente como un conjunto de procesos.

concurrencia:
Multiprogramacin con un CPU. El sistema operativo se encarga de repartir el CPU entre los procesos, intercalando su ejecucin para dar una apariencia de ejecucin simultnea. Multiprocesador. Mquina formada por ms de un CPU que comparten memoria principal. Multicomputadora. Es una mquina de memoria distribuida formada por una serie de computadoras, es posible la ejecucin simultnea de los procesos en los diferentes CPUs.

2.4.1 EXCLUSIN MUTUA DE SECCIONES CRTICAS.


Tipos de recursos: Compartibles: pueden ser usados por varios procesos de forma concurrente. No compartibles: su uso est restringido a un solo proceso a la vez.

Exclusin Mutua es la comunicacin requerida entre dos o ms procesos que se estn ejecutando en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el recurso no compartible a slo uno de los procesos, mientras que los otros deben permanecer a la espera hasta que finalice la utilizacin de dicho recurso por el proceso al que se le asigno. Cuando este proceso termine, el recurso ser asignado a uno de los procesos en espera. Si un recurso tiene slo un punto de entrada, se lo denomina recurso critico.

Requisitos para la exclusin mutua:


1. Debe cumplirse la exclusin mutua: slo un proceso de entre todos los que poseen secciones crticas por el mismo recurso u objeto compartido, debe tener permiso para entrar en ella en un instante dado. 2. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin estorbar a los otros. Es decir que si se cuelga un proceso que est usando un recurso, los dems procesos que esperan deben poder acceder al recurso de todas formas (el S.O. mata al proceso que se colg y as libera al recurso). 3. No se puede demorar indefinidamente la entrada de un proceso a un cierto recurso; no debe permitirse el interbloqueo y la inanicin. Todos los procesos deben poder acceder al recurso que solicitan, sino se van a morir sin usarlo y no es justo.

4. Cuando ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilatacin. Es decir, si nadie est usando un cierto recurso, entonces se le otorga al primer proceso que lo solicite. 5. Un proceso permanece en su seccin crtica slo 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.

2.4.2 Sincronizacin de procesos S.C.


En muchos casos, los procesos se renen para realizar tareas en conjunto, a este tipo de relacin se le llama procesos cooperativos. Para lograr la comunicacin, los procesos deben sincronizarse, de no ser as pueden ocurrir problemas no deseados.
Sincronizacin Coordinacin para llevar a cabo el trabajo de un grupo de procesos cooperantes asegurando el acceso a recursos compartidos.

La sincronizacin entre procesos es necesaria para prevenir y/o corregir errores de sincronizacin debidos al acceso concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos contendientes.
La sincronizacin entre procesos tambin permite intercambiar seales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones especficas de precedencia impuestas por el problema que se resuelve. Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecucin de un proceso.

Existen algoritmos diseados para este fin, son los siguientes:


Algoritmo de Espera activa. Estos algoritmos establecen la espera de entrada a la regin crtica con un bucle que ser roto en el momento en que se cumpla una determinada condicin. Se, les llama as por que el proceso no queda bloqueado en su ejecucin, sino que constantemente compite por el procesador. Entre los distintos algoritmos de este tipo existentes podemos citar:

Espera con mutex.

Algoritmo que utiliza un switch (MUTEX) a travs del cual se produce la sincronizacin.
Alternancia. Ligeramente mejor que el anterior, utiliza tambin una variable turno para realizar el sincronismo entre los Procesos. Algoritmo de DEKKER. Resuelve el problema mediante la solucin propuesta por DEKKER, basando su funcionamiento en una Tabla unidimensional de dos elementos lgicos (Switches).

Algoritmo de Espera no activa.

Son los algoritmos que establecen la espera para entrar en la regin crtica bloqueando, el proceso, haciendo que deje de competir por el procesador hasta que se cumpla la condicin de desbloqueo.

2.4.2.1 Mecanismos de semforos


Para eliminar los problemas que se producen con los algoritmos de espera activa, Dijkstra(1965) diseo un mecanismo basado en una variable entera utilizada como contador de peticiones de entrada a una seccin crtica. Esta variable es compartida por todos los procesos del sistema. Este nuevo tipo de variable se denomin semforo, por su capacidad de gestionar el trfico de los proceso que desean acceder a datos

compartidos. Con este sistema, cuando un proceso intente entrar en una regin crtica mientras otro est accediendo a los datos compartidos, se bloquear de igual manera que cuando un proceso accede a un recurso que est ocupado.

Un semforo S es una variable entera a la que, una vez que se le asignado un valor inicial, solo puede accederse a travs de dos operaciones atmicas estndar: espera y seal. (P y V). Operacin V: Esta operacin consiste en incrementar en uno el valor del semforo sobre el que acta. Operacin P: Bloqueo, decrementa en uno el valor del semforo sobre el que acta siempre y cuando el valor del semforo es >=0 (positivo)

TIPOS DE SEMFOROS

SEMFOROS BINARIOS (VALORES DE 1,0) SEMFOROS 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 asignacin 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 ms simple de todos pues solo tiene tres estados y las funciones internas son muy sencillas. Una caracterstica distintiva de este monitor es que el proceso que reinicia a otros debe salir del monitor, es decir abandona el estado activo.

Monitor tipo manager Este monitor es muy similar al monitor tipo monitor, la diferencia esencial es que un proceso que es reiniciado debe abandonar el monitor, es decir no se le permite que entre al estado activo. Monitor tipo mediador Este monitor fue propuesto por C.A.R. Hoare, tiene la caracterstica 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 tambin puede permanecer dentro del monitor.

Monitor tipo gladiador


Este monitor propuesto por Cavers y Brown tiene la caracterstica 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.

2.4.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. A diferencia de otros problemas de la gestin concurrente de procesos, no existe una solucin eficiente para el caso general.

Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o ms procesos.

Coffman, Elphick y Shoshani establecieron las cuatro condicin necesarias para que se produzca interbloqueo: 1. Condicin de exclusin mutua: los procesos reclaman control exclusivo de los recursos que piden. 2. Condicin de esperar y retener: los procesos mantienen los recursos que ya les han sido asignados mientras esperan por recursos adicionales. 3. Condicin de no expropiacin: los recursos no pueden ser extrados de los procesos que los tienen hasta su completa utilizacin. 4. Condicin de espera circular: existe una cadena circular de procesos en la cual cada uno de ellos mantiene a uno o ms recursos que son requeridos por el siguiente proceso de la cadena.

Puntos de estudio del interbloqueo:


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

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

La norma ms 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. Esta norma funciona si solo hay dos o tres coches en el cruce. Por ejemplo, si solo llegan al cruce los coches del norte y del oeste, el coche del norte esperar hasta que el del oeste pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se abstendr de entrar en el cruce, provocando interbloqueo.

Deteccin y Recuperacin de Interbloqueos


2.4.3.2 Deteccin

Las estrategias de prevencin 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 deteccin del interbloqueo no limitan el acceso a los recursos ni restringen las acciones de los procesos.

Peridicamente, el sistema operativo ejecuta un algoritmo que permite detectar la condicin de crculo vicioso de espera. El control del interbloqueo puede llevarse a cabo tan frecuentemente como las solicitudes de recursos o con una frecuencia menor, dependiendo de la probabilidad de que se produzca el interbloqueo

La comprobacin en cada solicitud de recurso tiene dos ventajas: Conduce a una pronta deteccin y el algoritmo es relativamente simple, puesto que est basado en cambios incremntales del estado del sistema. Por otro lado, tal frecuencia de comprobaciones consume un tiempo de procesador considerable.

2.4.3.3 Recuperacin

Una vez detectado el interbloqueo, hace falta alguna estrategia de recuperacin. Las tcnicas siguientes son posibles enfoques, enumeradas en orden creciente de sofisticacin: 1. Abandonar todos los procesos bloqueados. 2. Retroceder cada proceso interbloqueado 3. Abandonar sucesivamente los procesos bloqueados 4. Apropiarse de recursos sucesivamente

Para los puntos 3 y 4, el criterio de seleccin podra ser uno de los siguientes, consistentes en escoger el proceso con:
La menor cantidad de tiempo de procesador consumido hasta ahora El menor nmero de lneas de salida producidas hasta ahora El mayor tiempo restante estimado El menor nmero total de recursos asignados hasta ahora La prioridad ms baja

2.5 Niveles, objetivos y criterios de planificacin.

En un sistema multiprogramado, la memoria principal contiene varios procesos. Cada proceso alterna entre usar el procesador y esperar que se realice una operacin de E/S o que ocurra algn otro suceso. El procesador o los procesadores se mantienen ocupados ejecutando un proceso mientras los dems esperan. La clave de la multiprogramacin est en la planificacin.

El afn de la planificacin del procesador consiste en asignar los procesos al procesador o los procesadores para que sean ejecutados en algn momento, de forma que se cumplan objetivos del sistema tales como el tiempo de respuesta, la productividad y la eficiencia del procesador.

Niveles de planificacin

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

Planificacin a Largo Plazo


La planificacin a largo plazo determina cules son los programas admitidos en el sistema. De este modo, se controla el grado de multiprogramacin. Una vez admitido, un trabajo o un programa de usuario se convierte en un proceso y es aadido a la cola del planificador a corto plazo.

Planificacin a Mediano Plazo

La planificacin a medio plazo forma parte de la funcin de intercambio. Generalmente, la decisin de cargar un proceso en memoria principal se basa en la necesidad de controlar el grado de multiprogramacin. As pues, la decisin de carga en memoria tendr en cuenta las necesidades de memoria del proceso descargado

Planificacin a Corto Plazo

El planificador a corto plazo, tambin conocido como despachador (dispatcher), es el de ejecucin ms frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutar a continuacin. El planificador a corto plazo se ejecuta cuando ocurre un suceso que puede conducir a la interrupcin del proceso actual o que ofrece la oportunidad de expulsar de la ejecucin al proceso actual en favor de otro.

Criterios de Planificacin

A la hora de decidir qu algoritmo de planificacin utilizar en una situacin particular, debemos considerar las propiedades de los diversos algoritmos. Se han sugerido muchos criterios para comparar los distintos algoritmos de planificacin. Las caractersticas que se usen para realizar la comparacin pueden afectar enormemente a la determinacin de cul es el mejor algoritmo.

Utilizacin de la CPU

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

Tasa de procesamiento

Si la CPU est ocupada ejecutando procesos, entonces se estar llevando a cabo algn tipo de trabajo. Una medida de esa cantidad de trabajo es el nmero de procesos que se completan por unidad de tiempo, y dicha medida se denomina tasa de procesamiento. Para procesos de larga duracin, este valor puede ser de un proceso por hora; para transacciones cortas, puede ser de 10 procesos por segundo.

Tiempo de ejecucin

Desde el punto de vista de un proceso individual, el criterio importante es cunto tarda en ejecutarse dicho proceso. El intervalo que va desde el instante en que se ordena la ejecucin de un proceso hasta el instante en que se completa es el tiempo de ejecucin. Ese tiempo de ejecucin es la suma de los perodos que el proceso invierte en esperar para cargarse en memoria, esperar en la cola de procesos preparados, ejecutarse en la CPU y realizar las operaciones de E/S.

Tiempo de espera

El algoritmo de planificacin de la CPU no afecta a la cantidad de tiempo durante la que un proceso se ejecuta o hace una operacin de E/S; afecta slo al perodo de tiempo que un proceso invierte en esperar en la cola de procesos preparados. El tiempo de espera es la suma de los perodos invertidos en esperar en la cola de procesos preparados.

Tiempo de respuesta

En un sistema interactivo, el tiempo de ejecucin puede no ser el mejor criterio. 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 envan a la salida para ponerlos a disposicin del usuario. Por tanto, otra medida es el tiempo transcurrido desde que se enva una solicitud hasta que se produce la primera respuesta.

Objetivo

El objetivo consiste en maximizar la utilizacin de la CPU y la tasa de procesamiento, y minimizar el tiempo de ejecucin, el tiempo de espera y el tiempo de respuesta. En la mayora de los casos, lo que se hace es optimizar algn tipo de valor promedio. Sin embargo, en determinadas circunstancias, resulta deseable optimizar los valores mximo y mnimo en lugar del promedio. Por ejemplo, para garantizar que todos los usuarios tengan un buen servicio, podernos tratar de minimizar el tiempo de respuesta mximo.

2.6 Tcnicas de Administracin del Planificador

2.6.1. FIFO

First in, first out o FIFO (en espaol "primero en entrar, primero en salir"), es un concepto utilizado en estructuras de datos, contabilidad de costes y teora de colas. Tambin se lo llama First Come First Served o FCFS (en espaol "primero en llegar, primero en ser atendido"). FIFO se utiliza en estructuras de datos para implementar colas. La implementacin puede efectuarse con ayuda de arrays o vectores, o bien mediante el uso de punteros y asignacin dinmica de memoria.

2.6.2. SJF
El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos, los cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de entrada/salida, tambin conocidos por rfagas. La palabra shortest (el ms corto) se refiere al proceso que tenga el prximo ciclo de CPU mas corto. La idea es escoger entre todos los procesos listos el que tenga su prximo ciclo de CPU ms pequeo.

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, entonces dicho proceso es desalojado y el nuevo proceso toma la CPU. Sin desalojo: Cuando un proceso toma la CPU, ningn otro proceso podr apropiarse de ella hasta que que el proceso que la posee termine de ejecutarse.

Para el siguiente ejemplo se tienen 4 procesos (P1, P2,P3 y P4). A medida que estos se van incorporando a la cola de listos, se les calcula su prximo ciclo de CPU.

Para calcular el prximo ciclo de CPU se pueden emplear: mtodos estadsticos, clculos probabilsticos, entre otros.

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

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

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

El proceso P4 se incorpora a la cola de listos y se le calcula su CCPU (CCPU = 4). Luego P3 termina su ejecucin para cederle la CPU al prximo proceso que le corresponda segn el criterio que establece el algoritmo. Para el ejemplo le corresponde el turno a P2, luego a P4 y finalmente a P1.

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

Quantum = 20

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

2.6.4. Queves Multi-Level


Un algoritmo de planificacin multinivel particiona la cola de listos en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basndose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo.

Si los procesos se pueden clasificar segn sus cualidades, es posible dividir la lista de procesos listos (ready queue) en varias colas (una para cada clasificacin). Los procesos son asignados permanentemente a una de las colas. Cada cola tendr su propio algoritmo de planificacin propio. Adems, se debe tener una estrategia de planificacin entre las diferentes colas. Por ejemplo, una cola tendr prioridad sobre otra.

Por ejemplo, la cola interactiva podra planificarse usando RR y FIFO. Ningn trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no estn vacas. Si algn trabajo entra en una cola de mayor prioridad, el trabajo de otras colas es interrumpido.

2.6.5. Multi- Level Feedback Queves


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

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

BIBLIOGRAFA:

sistemas operativos - 5ta edicin - abraham silberschatz & peter baer galvin sistemas operativos sttallings.

Stallings, William (1997), Sistemas Operativos, 2 edicin, EEUU, Prentice Hall. Silberschatz, A., Baer, P., y Gagne, G. (2006) Fundamentos de sistemas operativos 7 edicin, EEUU, McGraw Hill.

S-ar putea să vă placă și