Unidad 2 Sistemas Operativos

October 5, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Unidad 2 Sistemas Operativos...

Description

 

SISTEMAS OPERATIVOS

 

UNIDAD II ADMINISTRACION DE PROCESOS Y DEL PROCESADOR

 

2.1 CONCEPTO PROCESO DE Un obstáculo para tratar a los sistemas sistemas operativos 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.

 

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 ejecución (running).- se están ejecutando instrucciones. 3.-en espera (waiting).-el proceso esta esperando

a que de una ocurra operación algún de suceso E/S). (como la terminación 4.-listo (ready).- el proceso esta esperando que se le asigne asigne a un procesador procesador.. 5.-terminado (terminated).-el proceso termino su ejecución

 

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 suspensión. Realmente no haría ningún bienla traer de nuevo a memoria principal un proceso Bloqueado porque no esta todavía 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 ejecución.

 

Listo: El proceso esta en memoria principal y listo para



la ejecución. El proceso esta en memoria principal Bloqueado: esperando un suceso. Bloqueado y suspendido: El proceso esta en memoria secundaria esperando un suceso. Listo y suspendido: El proceso esta en memoria •





secundaria esta disponible para principal. su ejecución tan pronto comopero se cargue en la memoria

 

2.3 PROCESOS LIGEROS (HILOS O HEBRAS). 

Un hilo de ejecución, 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 más tareas que corren simultáneamente, por medio de la multiprogramación. En realidad, este método permite el rendimiento de un procesador de incrementar manera considerable. 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.

 



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

 

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

compartido dinámicamente entre varios trabajos o aplicaciones activas.

 







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

 

concurrencia: • 

Multiprogramación con un CPU. El sistema operativo se encarga de repartir el CPU entre los procesos, intercalando su ejecución para dar una apariencia de ejecución simultánea. • Multiprocesador.

Máquina formada por más de un CPU que comparten memoria principal. •  Multicomputadora.

Es una máquina de memoria

distribuida una serie de computadoras,formada es posiblepor la ejecución simultánea de los procesos en los diferentes CPU’s.

 

2.4.1 EXCLUSIÓN MUTUA DE  



SECCIONES CRÍTICAS.

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.

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 r ecurso no compartible. Consiste en asignar el recurso no compartible a sólo uno de los procesos, 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. Cuando este proceso termine, el recurso será asignado a uno de los procesos en espera. Si un recurso tiene sólo un punto de entrada, se lo denomina recurso critico.

 

Requisitos para la exclusión mutua: 1. Debe cumplirse la exclusión mutua: sólo un proceso deel entre losu objeto que poseen secciones críticas por mismotodos recurso compartido, debe tener permiso para entrar en ella en un u n instante dado. 2. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin estorbar a los otros. Es decir que si se cuelga un proceso que está usando un recurso, los demás 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. se puede indefinidamente entrada de un No proceso a undemorar cierto recurso; no debe la permitirse el interbloqueo y la inanición. Todos los procesos deben poder acceder al recurso que solicitan, sino se van a morir sin usarlo y no es justo.

 

4. Cuando ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilatación. 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 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.

 

2.4.2 Sincronización de procesos S.C. En muchos casos, los procesos se reúnen para realizar tareas en conjunto, a este tipo de relación se le llama procesos Para lograr los procesos cooperativos. deben sincronizarse, de lanocomunicación, ser así pueden ocurrir problemas no deseados.

Sincronización 

Coordinación para cooperantes llevar a cabo el trabajo de un grupo de procesos asegurando el acceso a recursos compartidos.

 

La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al tales acceso concurrente compartidos, como estructuras ade recursos datos o dispositivos de E/S, de procesos contendientes. La sincronización entre procesos también permite intercambiar señales de cooperantes tiempo (ARRANQUE/PARADA) entre procesos para garantizar las relaciones específicas 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 ejecución de un proceso.

 

Existen algoritmos diseñados diseñados para este fin, son los siguientes: siguientes:  Algoritmo de Espera activa.  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. Se, les llama así por que el proceso no queda bloqueado en su ejecución, 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 través del cual se produce la sincronización.

Alternancia.  Ligeramente mejor que el anterior, utiliza también una variable turno para realizar el sincronismo entre los Procesos.   Resuelve problema mediante la solución propuesta Algoritmoelde DEKKER. por DEKKER, basando su funcionamiento en una Tabla unidimensional de dos elementos lógicos (Switches).

 

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

 

2.4.2.1 Mecanismos de semáforos Para eliminar los problemas que se producen con los algoritmos de espera activa, Dijkstra(1965) diseño un mecanismo basado en una variable entera utilizada como contador de peticiones de entrada a una sección crítica. variable Este es compartida todos los procesosEsta del sistema. nuevo tipo por de variable se denominó semáforo, por su capacidad de gestionar el tráfico de los proceso que desean acceder a datos

compartidos.

Con sistema, cuando procesootro intente entrareste en una región crítica un mientras está accediendo a los datos compartidos, se bloqueará de igual manera que cuando un proceso accede a un recurso que está ocupado.

 



Un semáforo S es una variable entera a la que, que, una vezaccederse que se le aasignado un valor inicial, solo puede través de dos operaciones atómicas estándar: espera y señal. señal. (P y V).



Operación V:  Esta



Operación P:  Bloqueo, Bloqueo, decrementa en uno el

operación operación consiste en incrementar el que actúa. en uno el valor del semáforo sobre

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 enHansen. Pascal Es Concurrente, lenguaje desarrollado por Per Brinch 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.

 

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 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.

 

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.

 

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

 

Coffman, Elphick y Shoshani establecieron las cuatro condición necesarias para que se produzca interbloqueo:

1. Condición de exclusión mutua: los procesos reclaman control exclusivo de los recursos que piden. 2. Condición de esperar y retener: los procesos mantienen los recursos que ya les han sido asignados mientras esperan por recursos adicionales. 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. 4. 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.

 

Puntos de estudio del interbloqueo:  Prevención del interbloqueo: condiciona al sistema para que elimine interbloqueo.

toda

posibilidad

de

que

se

produzca

Estrategias:

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

 

Todos los interbloqueos surgen de necesidades que no pueden ser satisfechas, por parte de dos o más procesos. En la vida real, un ejemplo puede ser el de cuatro autos que se encuentran en una intersección 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 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. 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.

 

Detección y Recuperación de Interbloqueos 2.4.3.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.

 





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

 



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. Por otro lado, tal frecuencia de comprobaciones consume un tiempo de procesador considerable. considerable.

 

2.4.3.3 Recuperación 

Una vez detectado el interbloqueo, interbloqueo, hace falta alguna estrategia de recuperación. Las técnicas siguientes son posibles enfoques, enumeradas enumeradas en orden creciente de sofisticación: 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 selección podría ser uno de los siguientes, 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

 

2.5 Niveles, objetivos y criterios de planificación. 



En un sistema sist ema multiprogramado multiprogramado,, la memoria principal contiene varios procesos. 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. El procesador o los procesadores se mantienen ocupados ejecutando un proceso mientras los demás esperan. La clave de la multiprogramación está en la planificación.

 



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 ti empo de respuesta, la productividad y la eficiencia del procesador.

 

Niveles de planificación 

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

 

Planificación a Largo Plazo 



La planificación a largo plazo determina cuáles son los programas admitidos en el sistema. De este modo, se controla el grado de multiprogramación. Una vez admitido, 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 Mediano Plazo 

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

de

memoria

del

proceso

 

Planificación a Corto Plazo 



El planificador a corto plazo, también conocido como despachador (dispatcher), es el de ejecución frecuente decisiones un mayormás detalle sobrey toma el proceso que con se ejecutará a continuación. 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.

 

Criterios de Planificación 



A la hora de decidir qué algoritmo de planificación utilizar en una situación particular, debemos considerar las propiedades de los diversos algoritmos. Se han sugerido muchos criterios para comparar los distintos algoritmos de planificación. 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.

 

Utilización de la CPU 



Deseamos mantener la CPU .tan ocupada como sea posible. Conceptualmente, la utilización 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 un (para sistema ligeramente cargado) y el 90 (para por ciento un sistema intensamente utilizado).

 

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, y dicha medida se denomina tasa de procesamiento. procesamiento.  



Para duración, este valor puede procesos ser de de un larga proceso por hora; para transacciones cortas, puede ser de 10 procesos por segundo.

 



Tiempo de ejecución Desde el punto de vista de

un proceso individual, el criterio importante es cuánto tarda en ejecutarse dicho proceso. 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. Ese tiempo de ejecución es la suma de los períodos 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 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 espera es la suma de los períodos invertidos en esperar en la cola de procesos preparados.

 

Tiempo de respuesta 

En un sistema interactivo, el tiempo de ejecución 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 envían a la salida a disposición del usuario. Por para tanto,ponerlos otra medida es el tiempo transcurrido desde que se envía una solicitud hasta que se produce la primera respuesta.

 

Objetivo 



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

 

 

2.6 Técnicas de Administración del Planificador 

2.6.1. FIFO

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

 

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, también conocidos por ráfagas. La palabra shortest (el más corto) se refiere al proceso queidea tenga próximo ciclo CPU mas corto. La esel escoger entredetodos los procesos listos el que tenga su próximo ciclo de CPU más pequeño.

 

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, ningún 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 próximo ciclo de CPU.

Para calcular el próximo ciclo de CPU se pueden emplear: métodos estadísticos, cálculos probabilísticos, entre otros. 

 

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,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 ejecución, 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 ejecución 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 ejecución para cederle CPU al próximo procesolaque le corresponda según 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 intervalo de tiempo para el uso del procesador (time quantum). Al finalizar el tiempo, procesador le de es la expropiado y vuelve al estado prontoel(ready) al final cola. Es fácil 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 planificación multinivel particiona la cola de listos en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basándose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo.

 









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

 

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

 

2.6.5. 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 formaen similar, un proceso espera demasiado tiempo una sicola 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 según 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 tendrán baja prioridad. Los procesos, según el consumo de CPU que hagan, serán promovidos a una cola de mayor prioridad o rebajados a una de menor prioridad.

 

BIBLIOGRAFÍA: 









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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF