articulo isuu
DESCRIPTION
articulo que es muy buenoTRANSCRIPT
1 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
ÍNDICE:
1.- ESTADOS DE LOS PROCESOS……………………………………………………………………………………………………………….. 1
2.- BLOQUE DE CONTROL DE PROCESOS (BCP)………………………………………………………………………………………… 1
3.- EL PLANIFICADOR DE PROCESOS…………………………………………………………………………………………………………. 2
4.- OBJETIVOS DE PLANIFICACIÓN……………………………………………………………………………………………………………. 3 5.- CRITERIOS DE PLANIFICACIÓN……………………………………………………………………………………………………………. 3 6.- SINCRONIZACIÓN Y COMUNICACIÓN DE PROCESOS…………………………………………………………………………. 3
6.1.- Concurrencia..……………………………………………………………………………………………………………………………. 4 6.2. Exclusión mutua…………………………………………………………………………………………………………………………… 4
6.3. Sincronización…………………………………………………………………………………………………………………………….. 5
7. – INTERBLOQUEO…………………………………………………………………………………………………………………………………. 6
8.-ALGORITMOS DE PLANIFICACIÓN……………………………………………………………………………………………………….. 8
8.1.- Planificación por prioridades……………………………………………………………………………………………………. 9
8.2.- Planificación Primero en llegar, primero en ser servido (FCFS)……………………………………………….. 9
8.3- Planificación Primera tarea más corta (Planificación SJF).(SJN)………………………………………………… 10
8.4.- Planificación Round-Robin (RR)………………………………………………………………………………………………. 10
8.5.- Planificación El siguiente proceso, el restante más corto (SRT)…………………………………………….. 11
8.6.- Planificación Próximo el de más corto índice de respuesta (HRN)………………………………………….. 11
8.7.- Planificación Colas múltiples……………………………………………………………………………………………………. 12
8.8.- Planificación Colas múltiples con realimentación (FB)……………………………………………………………… 12
8.9.- Planificación garantizada…………………………………………………………………………………………………………. 13
9.-CUESTIONES………………………………………………………………………………………………………………………………………… 13
10.-PROBLEMAS……………………………………………………………………………………………………………………………………… 17
1.- ESTADOS DE LOS PROCESOS: ■ Activo: se está ejecutando en ese instante.
■ Preparado: listo para ejecutarse, espera a que un/el procesador quede libre.
■ Bloqueado o suspendido: espera a que se cumpla alguna condición (termine alguna operación de E/S...).
■ Nonato: existe, pero no es conocido por el S.O.
■ Muerto: termina su ejecución o bien el S.O. ha detectado un error fatal.
✦ Se denomina estado global del sistema en un instante determinado, al conjunto de recursos
y procesos existentes con sus estados correspondientes.
2.- BLOQUE DE CONTROL DE PROCESOS (BCP): ■ El sistema mantiene toda la información sobre un proceso en una estructura de datos denominada bloque de control de procesos (BCP).
■ La creación de un proceso origina la creación de su BCP que sirve para describirle hasta que se elimina o pasa al estado muerto.
■ El S.O. mantiene listas del sistema: uno de los estados
◆ Una lista para los procesos que están en estado preparado
◆ Una lista de los procesos en estado bloqueado
✦ El proceso puede estar en una única lista de estados bloqueados o en una lista de estados suspendidos ligada en exclusiva a un dispositivo o evento
2 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
◆ Una lista de los procesos en estado activo o de en ejecución
✦ Si el sistema es monoprocesador, sólo posee una entrada
■ El planificador es el que gestiona el paso de los procesos de una lista a otra
3.- EL PLANIFICADOR DE PROCESOS
El objetivo principal de una planificación en los Sistemas Operativos, es dar un buen servicio a todos los
procesos que existan en un momento dado en el sistema.
Se denomina planificador al software del SO encargado de asignar los recursos de un sistema entre los
procesos que lo solicitan. Y al algoritmo que se usa algoritmo de planificación.
Por tanto, la planificación de procesos es el conjunto de mecanismos que establecen el orden en que se van a
realizar los diferentes procesos. Los procesos pueden entrar y salir de la CPU sin que tengamos control sobre ellos.
Para calcular los tiempos de estancia suponemos que la CPU se reparte por igual, así pues serán necesarios varios
contadores, uno para la CPU que corresponderá con el tiempo del reloj, y otros para cada proceso en ejecución, que
contabilizará el tiempo de uso de CPU.
El planificador (scheduler) puede ser:
� A largo plazo o de admisión al sistema. (PLP).- Carga los programas
� A medio plazo, (PMP). Planificador de swapping.- Decide qué proceso pasa de la memoria
principal a la secundaria o viceversa.
� A corto plazo (PCP). (dispatcher).- Decide qué proceso entra a ejecutarse.
4.- OBJETIVOS DE PLANIFICACIÓN. Las políticas de planificación intentan cubrir los siguientes objetivos:
• 1.- Justicia.- La política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y
perjudicar a otros.
• 2.-Máxima capacidad de ejecución.- Debe dar un servicio aceptable para que todos los trabajos se realicen
lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de proceso.
3 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
• 3.-Máximo número de usuarios interactivos.- En los sistemas de tiempo compartido se tratará de que
puedan estar trabajando el mayor número de usuarios simultáneamente.
• 4.-Predecibilidad.- La política de planificación debe concebirse de tal forma que en todo momento pueda
saberse cómo será su ejecución.
• 5.-Minimización de la sobrecarga.- La computadora debe tener poca sobrecarga, ya que ésta incide
directamente sobre el rendimiento final del sistema: a menor sobrecarga, mayor velocidad de proceso.
• 6.-Equilibrio en el uso de recursos.- Para obtener un buen rendimiento en el uso de los recursos y que
éstos estén ocupados equitativamente el mayor tiempo posible.
• 7.-Seguridad de las prioridades.- Si un proceso tiene mayor prioridad que otro, éste debe ejecutarse más
rápidamente.
� Los objetivos enunciados pueden entrar en ocasiones en contradicción; por ello es necesario llegar a una
situación de compromiso entre todos los objetivos para conseguir del sistema operativo un buen
rendimiento y un buen servicio.
5.- CRITERIOS DE PLANIFICACIÓN. Los criterios que se desean cumplir con un buen algoritmo de planificación son, sobre todo:
• Equidad: garantizar que cada proceso obtiene su proporción justa de la CPU.
• Eficacia o eficiencia: mantener ocupada la CPU el 100% del tiempo.
• Tiempo de respuesta a un evento: es el intervalo de tiempo que transcurre desde que se señala un
evento hasta que se ejecuta la primera instrucción de la rutina de servicio de dicho evento.
• Tiempo de regreso o retorno (turnaround): es el intervalo de tiempo que transcurre desde que un
proceso se crea o presenta hasta que se completa por el sistema.
• Rendimiento (Throughput): es una medida del nº de procesos por unidad de tiempo.
• Tiempo de espera: es el tiempo que el proceso espera hasta que se le concede el procesador.
6.- SINCRONIZACIÓN Y COMUNICACIÓN DE PROCESOS.
La idea básica es que los procesos ejecutan actividades diversas. Se puede compartir un procesador entre varios procesos utilizando un algoritmo de planificación que decida cuándo interrumpir la labor de un proceso y pasar a otro diferente.
Las tareas que corren en un sistema se diseñan para llevar a cabo un objetivo común y, por lo tanto, es
necesario que algunas de ellas se comuniquen entre sí; además, en su ejecución competirán por conseguir los
recursos del sistema, una zona de datos específicos, o un dispositivo de E/S y dicha competición se debe regular
proporcionando los mecanismos adecuados para la sincronización de los procesos.
• Concurrencia de procesos.- Son procesos que se pueden ejecutar simultáneamente, sin interferir unos
con otros.
• Sincronización de procesos: En la ejecución concurrente, algunos procesos no pueden empezar su
ejecución hasta que otros no hayan concluido, es decir, deben de sincronizarse. Una forma de lograr esto, es
mediante la generación de envío de señales de control. Los métodos de sincronización más utilizados son:
o Las variables compartidas
o Semáforos
o Monitores
4 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
6.1.- CONCURRENCIA.
• Es la existencia de varias actividades ejecutándose simultáneamente, y necesitan sincronizarse para actuar
conjuntamente.
• Para que dos actividades sean concurrentes, es necesario que tengan alguna relación entre sí, como
puede ser la cooperación en un trabajo determinado o el uso de información compartida.
• En un sistema monoprocesador, la existencia de multiprogramación es condición necesaria, pero no
suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.
Por ejemplo, un editor y un compilador pueden estar ejecutándose simultáneamente en una
computadora sin que exista concurrencia entre ellos. Por otro lado, si un programa se está ejecutando y se
encuentra grabando datos en un archivo, y otros programa también en ejecución está leyendo datos de ese mismo
archivo, sí existe concurrencia entre ellos, pues el funcionamiento de uno interfiere en el otro.
• Si un sistema es multiprocesador, también pueden presentarse situaciones de concurrencia siempre y
cuando las actividades necesiten actuar entre sí, bien por utilizar información común o por cualquier otra causa.
Con este ejemplo podemos resumir estos conceptos:
Supongamos un estudiante que tiene que preparar varias asignaturas durante el curso. Relacionamos el
estudiante con un ordenador con un único procesador, su cerebro. Una organización secuencial del estudio de las
asignaturas podría ser estudiar una asignatura durante un número de días hasta aprenderla, después otra
asignatura y así sucesivamente hasta preparar la última. Otra organización podría ser estudiar cada día un poco de
cada asignatura. En cada instante de tiempo estará estudiando una única asignatura, pero visto el trabajo a una
escala macroscópica al cabo del curso podríamos afirmar que el estudiante ha llevado las asignaturas en paralelo o
de forma concurrente.
Durante el proceso de aprendizaje habrá momentos en que tendrá que abandonar temporalmente ésta
para realizar otras tareas, como atender una llamada de teléfono o abrir la puerta. Al añadir estas nuevas tareas de
su quehacer cotidiano el estudiante necesita una cierta planificación que le permita determinar cuándo debe pasar
de la ejecución de una tarea a otra. Dicha planificación forma parte de su “modus operandi” o sistema operativo;
según éste, el estudio de una asignatura se realizará durante un cierto intervalo de tiempo, transcurrido el cuál se
producirá el cambio a otra asignatura. Si durante el estudio se produce, por ejemplo, una llamada telefónica, el
estudiante la atenderá y salvo que la llamada le obligue a realizar otra tarea como salir a comprar comida para los
amigos que le acaban de comunicar que van a venir a cenar, proseguirá su estudio.
Si este ejemplo lo pasáramos más al campo informático, podemos situarlo en la ejecución de un programa
de edición de textos. Aunque los procesos de edición se pueden considerar independientes, lo cierto es que éstos
compiten por el uso de los recursos del sistema, de manera que se necesitan herramientas que permitan la
sincronización y la comunicación entre los mismos. A veces dos o más procesos cooperan para alguna operación
común. En cualquier instante, sólo un proceso estará en ejecución mientras que los otros estarán preparados para
acceder al procesador cuando lo disponga el SO, o bloqueados, esperando que ocurra algún evento que les permita
volver a estar dispuestos para acceder al procesador.
6.2. EXCLUSIÓN MÚTUA.
• Es una sincronización por la cual una actividad impide que otras puedan tener acceso a un dato mientras
se encuentra realizando una operación sobre el mismo.
• Cuando se realiza una operación de escritura y otro proceso diferente de lectura quiere entrar, se ha de
bloquear este último proceso, pues sus datos serían inconsistentes. Hasta que no se terminan de modificar unos
campos o ampliar o reducir el fichero, no podemos leer datos fiables y seguros.
5 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
• Si realizamos una operación de lectura y otro proceso diferente de lectura quiere entrar, pueden
perfectamente aunque sea el mismo registro.
La zona de código de un proceso que no puede ser interrumpida por otro, se denomina sección crítica.
6.3. SINCRONIZACIÓN.
• Es un elemento necesario para asegurar la exclusión mutua.
• Si una actividad desea impedir que otra acceda a ciertos datos compartidos, mientras no se cumpla una
determinada condición, debemos sincronizar las actividades con dicha condición.
� 1.-Espera activa. Son aquellos algoritmos que basan todo su funcionamiento en establecer la espera de
entrada a la sección crítica con un bucle que será roto en el momento en que se cumpla una determinada
condición.
Se llaman de espera activa porque el proceso no queda bloqueado durante su ejecución, sino que estará
compitiendo por el procesador constantemente. Por este motivo, estos algoritmos sobrecargan el sistema
innecesariamente.
Los primeros en utilizarse y han sido sustituidos por otros más eficientes.
Ente los distintos algoritmos 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
� Algoritmo de DEKKER1. Resuelve el problema mediante la solución propuesta por Dekker, basando su
funcionamiento en una tabla unidimensional de dos elementos lógicos (Switches).
� 2.- Espera no activa. Son los algoritmos que establecen la espera para entrar en la sección crítica
bloqueando el proceso, haciendo que deje de competir por el procesador hasta que se cumpla
la condición de desbloqueo.
� Semáforos.- Gestiona el tráfico de procesos que desean acceder a datos compartidos. Es 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 recursos del sistema.
Con este sistema, cuando un proceso intenta entrar en una sección crítica mientras otro está
accediendo a los datos compartidos, se bloqueará de igual manera que cuando un proceso accede a un
recurso que está ocupado.
� Regiones críticas.- Sólo permiten que los datos compartidos se puedan acceder desde determinadas
regiones, para protegerse de algunos usuarios. No sincronizan bien y no permiten actividades de lectura
simultánea.
1 El algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mútua, que permite a dos procesos hilos de ejecución compartir un recurso sin conflictos. Fue uno de los primeros algoritmos de exclusión mutua inventados, implementado por Edsger Dijkstra. Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo elige un proceso según una variable turno. Si el otro proceso está ejecutando en su sección crítica, deberá esperar su finalización.
6 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
� Regiones críticas condicionales.- Consiste en una mejora del método anterior tratando de resolver los
problemas de sincronización.
� Monitores.- Solucionan el problema de los anteriores que necesitaban que el programador tenía que
proporcionar de forma explícita el modo de sincronización.
Un monitor permite compartir, segura y eficientemente, datos entre varias actividades,
garantizando la exclusión mutua, sin necesidad de que el programador tenga que suministrarla
explícitamente.
Se basa en dos premisas:
La primera es la abstracción de datos consistente en una técnica capaz de separar las
operaciones a ejecutar sobre los datos, de los detalles de diseño propios de los mismos ADA y
MODULA).
La segunda es que realizan la exclusión mutua de forma implícita.
� Contadores de eventos.- Es un mecanismo para sincronizar actividades sin que sea necesario forzar la exclusión mutua, ya sea porque no deseamos limitar la concurrencia de las actividades, o simplemente porque no lo necesitemos. Se basa en una variable entera cuya misión es contar determinadas operaciones.
� Mensajes.- Es un mecanismo que permite a los procesos intercambiar aquella información que sea necesaria durante el desarrollo normal de su ejecución.
Es más un mecanismo de cooperación que de sincronización. Esta cooperación se realiza por medio de mensajes que se envían entre sí los procesos, guardando estos mensajes en un zona de memoria compartida. Existen dos tipos de comunicación entre procesos: Directa e indirecta.
o Directa.- Los procesos envían y reciben los mensajes directamente entre sí, de manera que se asocia un enlace bidireccional único entre cada dos procesos.
o Indirecta.- Los mensajes son enviados y recibidos a través de mailboxes o buzones de correos. Con este método cada proceso puede estar relacionado con tantos buzones como desee consiguiendo comunicarse con tantos procesos como sea necesario.
� Llamadas remotas.- Es una mezcla entre el concepto de mensaje y paso de parámetros, siendo dicha
ejecución concurrente. Este tipo de interacción asegura que hasta que un proceso no termine determinadas operaciones, el siguiente permanecerá a la espera.
� Rendez-vous.- Es una modificación del método de las llamadas remotas, donde la llamada, en lugar de ser a todo un procedimiento, lo es solamente a un grupo de sentencias dentro de él.
o Se trata de un procedimiento similar al monitor, pero con más versatilidad y potencia. o Se ha llevado a la práctica con el lenguaje ADA.
� 3.-Mecanismos hardware.- Son instrucciones hardware que aseguran la exclusión mútua. Entre las más
utilizadas se citan las siguientes: Deshabilitar interrupciones, Instrucción TEST_AND_SET, LOCK.
� Deshabilitar interrupciones.-Por este medio, se puede forzar la exclusión mutua deshabilitando las interrupciones mientras haya alguna actividad en las sección crítica.
� Instrucción TEST_AND_SET.- Es una instrucción máquina para forzar la exclusión mutua. No puede ser interrumpida por ser una instrucción hardware.
� LOCK.- Se basa en la anterior, además permite el acceso a la sección crítica a un proceso en caso de no existir otra actividad.
7. - INTERBLOQUEO
Se define como la situación de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene
suficientes criterios para continuar su ejecución. También conocido como abrazo mortal (deadlock).
• Recursos:
7 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
– Se entiende como recurso un elemento que un programa o proceso puede utilizar en la
computadora donde se está ejecutando. Es algo (hardware o software) que puede ser utilizado
por un solo proceso en un instante dado.
– Para que un proceso pueda utilizar un recurso, deberá realizar la siguiente secuencia de
operaciones:
• Solicitar el recurso (sino está disponible se bloquea hasta poder ser asignado).
• Utilizar el recurso
• Liberar el recurso
• Modelo:
Los principios en que se basa todo sistema informático:
� Posee un número finito de recursos
� Existe un número finito de procesos que compiten por los recursos.
� Los recursos se pueden dividir en tipos de tal forma que cada uno de ellos esté compuesto por
recursos idénticos entre sí.
� Los procesos deben realizar las tres acciones expuestas anteriormente sobre los recursos:
solicitar, utilizar y liberar.
� Un proceso puede pedir tantos recursos como necesite para realizar su trabajo, ya sean del
mismo tipo o no, siempre que no excedan del total existente en el sistema.
� Las operaciones sobre los recursos se realizarán a través de llamadas al S.O., de manera que si
se solicita un recurso que está siendo utilizado, quedará bloqueado en espera de que se libere
dicho recurso.
� Postergación indefinida:
� La postergación indefinida (starvation), consiste en que un recurso puede quedar esperando
indefinidamente mientras otros reciben la atención del sistema.
� Este tipo de problemas suele surgir en sistemas gestionados por prioridades, pues puede quedar
un proceso bloqueado porque lleguen procesos con mayor prioridad. Una forma de corregirlo es
con el envejecimiento de prioridades.
� Condiciones de interbloqueo:
� Podemos asegurar que un conjunto de procesos ha llegado al interbloqueo si se cumplen las
siguientes condiciones: Exclusión mutua, posesión y espera, no apropiación y espera circular.
� Exclusión mutua.- Existencia al menos de un recurso compartido por los procesos, al
cual sólo puede acceder uno simultáneamente.
� Posesión y espera.- Debe existir algún proceso que tenga asignado un recurso y esté
esperando a que se le asignen otros que están siendo utilizados por otros procesos.
� No apropiación.- Los recursos no pueden ser apropiados por los procesos, es decir, los
recursos sólo podrán ser liberados voluntariamente por sus propietarios.
� Espera circular.- Si existen varios procesos que se están esperando cíclicamente.
8 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
� En caso de que alguna de las condiciones anteriores no estuviera presente, podemos
asegurar sin ningún género de dudas que no existe interbloqueo.
• Tratamiento de interbloqueo:
Existen cuatro estrategias para el tratamiento del interbloqueo: ignorar, prevenir, evitar y
detectar y recuperar.
� 1.- Ignorar.- Se trata de no tener en cuenta en el S.O. este tipo de situaciones, teniendo en
cuenta que su aparición es bastante improbable. La solución es volver a arrancar el sistema. Se
le llama algoritmo del avestruz. Es decir, mete la cabeza bajo tierra e ignora el problema. Linux
funciona con este algoritmo.9
� 2.- Prevenir.- Consiste en evitar alguna de las cuatro condiciones que deben estar presentes
para que pueda aparecer el interbloqueo, con lo cual nunca se podrá presentar tal situación.
� 3.- Evitar.- Se pueden evitar los posibles interbloqueos siempre y cuando tengamos disponible
cierta información sobre los recursos que necesita cada proceso por adelantado. Para evitar el
interbloqueo se han estudiado diversos métodos, entre los que podemos citar el algoritmo del
banquero.
� Algoritmo del banquero. Este algoritmo usualmente es explicado usando la analogía
con el funcionamiento de un banco. Los clientes representan a los procesos, que
tienen un crédito límite, y el dinero representa a los recursos. El banquero es el
sistema operativo.
El banco confía en que no tendrá que permitir a todos sus clientes la utilización de
todo su crédito a la vez. El banco también asume que si un cliente maximiza su crédito será
capaz de terminar sus negocios y retornar el dinero de vuelta a la entidad, permitiendo servir a
otros clientes.
� 4.- Detectar y recuperar: Consiste en abortar un proceso cuando existen indicios de que se
pueda producir interbloqueo. Para abortar un proceso, el sistema operativo se basa en varias
características del mismo: prioridad, tiempo de procesador usado, tipo de recursos utilizados,
necesidades de recursos y facilidad de suspensión/reanudación.
4.1.- Prioridad- Se elimina el menos prioritario.
4.2.- Tiempo de procesador usado.- Cuanto menos tiempo haya estado el proceso a abortar
menos trabajo se pierde y más fácil será recuperarlo.
4.3.- Tipo de recursos utilizados.- Si los recursos son muy críticos y escasos, será preferible
liberarlos cuanto antes.
4.4.- Necesidad de recursos.- Es conveniente eliminar aquellos procesos que necesitan un gran
número de recursos.
4.5.- Facilidad de suspensión/reanudación.- Se eliminarán antes aquellos procesos cuyo trabajo
perdido sea fácil de recuperar.
8. – ALGORITMOS DE PLANIFICACIÓN.
• El planificador del procesador tiene como misión la asignación del mismo a los procesos que están en la
cola de procesos preparados. Esta cola es alimentada desde dos puntos distintos:
9 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
� Cada vez que un usuario inicie la ejecución de un programa, el planificador a largo plazo recibe la
orden de ejecución, crea el proceso y lo pasa al planificador a corto plazo, colocándose en la cola de procesos
preparados.
� Cuando un proceso deja de estar en estado de ejecución y no existen causas para su bloqueo, o
deja de estar bloqueado, pasa nuevamente a la cola de procesos preparados.
• Las políticas de planificación se agrupan en:
� Políticas expropiativas o apropiativas o expulsora.- Son las que producen un cambio de proceso
con cada cambio de contexto; es decir, el proceso que está haciendo uso del procesador puede ser temporalmente
suspendido y permitir que otro proceso se apropie del procesador. Se utilizan en sistemas operativos con tiempo
compartido y tiempo real.
� Políticas no expropiativa o apropiativas o no expulsora.- Son aquellas en las que un proceso no
abandona nunca el procesador desde su comienzo hasta su fin. Se utilizan en sistemas de proceso por lotes.
8.1.- Planificación por prioridades.-
Esta política asocia a cada proceso una prioridad.
• Las prioridades puede ser definidas interna o externamente. En el primer caso, el sistema operativo se
basa en una serie de informaciones medibles para el cálculo y asignación de dichas prioridades (tiempo
necesitado de procesador, necesidad de memoria, etc.)
• El principal problema de esta política es el bloqueo o postergación indefinida, ya que un proceso de baja
prioridad puede estar esperando su turno indefinidamente.
• Para evitar lo anterior, se suele emplear lo que se denomina envejecimiento de las prioridades, que
aumenta gradualmente las prioridades de los procesos que están a la espera de utilizar el procesador.
� El valor inicial puede ser asignado por el usuario o por el sistema. La asignación puede se de dos tipos:
a) Estática.- en cuyo caso no cambia durante el tiempo en que el proceso existe.
b) Dinámica.- cuando la prioridad puede ser modificada por el propio usuario o sistema. La
modificación se suele realizar en función de ciertos parámetros como la cantidad de memoria que utiliza,
el número de acciones de E/S que lleva realizado, el tiempo medio de utilización del procesador hasta ese
momento, el número de ficheros abiertos, etc.
– Las características de la política de prioridad son:
o Puede ser apropiativo o no apropiativo. En el primer caso, un proceso puede ser retirado del
procesador si aparece otro de mayor prioridad en la cola de procesos preparados.
o Puede ser injusto.
8.2.- Planificación Primero en llegar, primero en ser servido (FCFS).
En esta política de planificación FCFS (First Come, First Served), el procesador ejecuta cada proceso hasta
que termina: por tanto, los procesos que entren en cola de procesos preparados permanecerán
encolocados en el orden en que lleguen hasta que les toque su ejecución. Este método se conoce también
como “primero en entrar, primero en salir” (First Input, First Output-FIFO).
– Las características de esta política son:
• No es apropiativa
10 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
• Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
• Es una política predecible
• El tiempo medio de servicio es muy variable en función del número de procesos y su
duración.
• No se utiliza mucho solo, aunque si en combinación con otros algoritmos.
8.3- Planificación Primera tarea más corta (Planificación SJF).(SJN)
El método SJN (Shortest Job Next) o SJF (Shortest Job First) es una política de planificación que tata de
cubrir los mismos objetivos que la RR.
• Esta política toma de la cola de procesos preparados el que necesite menos tiempo de ejecución para
realizar su trabajo.
• Para lo anterior, debe saber el tiempo de procesador que necesita cada proceso mediante método como
pueden ser la información suministrada por el propio usuario, por el propio programa, basándose en la
historia anterior (heurística), etc.
– Las características de la política SJN o SJF son:
• No es apropiativa
• El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el
tiempo medio de espera con respecto a otras políticas es óptimo.
• Es poco predecible
• No es justa con los procesos largos
• Buen tiempo de servicio
• Resulta difícil de poner en práctica por los datos que necesita para realizarse la
planificación.
8.4.- Planificación Round-Robin (RR).
Su traducción podría ser asignación cíclica o planificación en rueda, es una mejora de FCFS. Trata de ser
más justa en cuanto a la respuesta tanto de los procesos cortos como de los largos.
• Consiste en conceder a cada proceso en ejecución un determinado período de tiempo q (quantum),
transcurrido el cual, si el proceso no ha terminado, se le devuelve al final de la cola de procesos
preparados, concediéndose el procesador al siguiente proceso por su correspondiente quantum.
• Esta interrupción periódica continúa hasta que el proceso termine su ejecución, formando una rueda de
procesos que serán ejecutados, cíclicamente hasta que terminen.
• La gestión de la cola de procesos preparados se puede realizar de muy diversas maneras, siendo las más
comunes la FIFO o por prioridades, donde los procesos se ordenan según su prioridad.
– Las características de la política R-R son:
– Baja sobrecarga si el cambio de contexto es eficiente y los procesos siempre están en
la memoria principal
– El tamaño óptimo del quantum depende de:
11 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
– Es una política apropiativa
– El tipo de sistema
– Las cargas que vaya a soportar el sistema
– El número de procesos en el sistema y su tipo
– Es la política más utilizada para tiempo compartido
– Ofrece un índice de servicio uniforme para todos los procesos.
8.5.- Planificación El siguiente proceso, el restante más corto (SRT).
La política SRT (Shortest Remainining Time) es una mezcla de los dos métodos anteriores (RR y SJN).
• Trata de obtener las ventajas de ambos
• Esta técnica cambia el proceso que está en ejecución cuando se ejecuta un proceso (paso del planificador
de largo plazo al de corto plazo), con una exigencia de tiempo de ejecución total menor que el que se está
ejecutando en el procesador.
• El valor del tiempo de respuesta medio de los procesos largos mejora con respecto a SJN.
– Las características de la política SRT son:
• Es una variante de SJN, para hacerla apropiativa
• Puede ser injusta, ya que un proceso corto puede echar a uno largo que esté haciendo
uso del procesador y que además esté terminando
• Presenta una mayor sobrecarga
• Excelente tiempo medio de servicio
• Es muy eficiente.
8.6.- Planificación Próximo el de más corto índice de respuesta (HRN)
HRN (High Response Next) es una política que trata de corregir las posibles injusticias de la política SJN con
los procesos largos y las de la política FCFS con los procesos cortos.
– Presenta los siguientes inconvenientes:
• Si un usuario ejecuta un proceso corto inmediatamente después de que un proceso
largo hay comenzado a utilizar el procesador, deberá sufrir una larga espera.
• Es muy costosa de llevar a la práctica, ua que la prioridad de be calcularse para todos
los procesos en espera, cada vez que termine el proceso que está haciendo uso del
procesador
• Sobrecarga mucho el sitema debido a los cálculos que debe realizar.
– Las características de la política HRN son:
• No es apropiativa
• Es justa
12 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
• Es costosa de poner en práctica
• Produce una gran sobrecarga en el sistema.
8.7.- Planificación Colas múltiples
Cuando los procesos que van a ser ejecutados en una computadora se pueden agrupar en distintos
grupos, podemos asignarlos a diferentes colas, cada una con distinta planificación, para darle a cada una de
ellas la que realmente necesite.
• Esta política divide la cola de procesos preparados en varias colas separadas, de manera que los
procesos se asignan a una determinada cola según sus necesidades y tipo.
• Para determinar en cada caso qué cola es la que suministrará un proceso para que acceda al
procesador cuando éste deje a otro anterior, será controlada por un algoritmo de planificación
entre las colas, que normalmente es apropiativo de prioridad fija.
• Un algoritmo de planificación con una variante al de planificación por prioridad.
• Este algoritmo consiste en dar distinto quantum a cada una de las distintas colas que agrupan los procesos
de una misma prioridad. De esta manera se intenta beneficiar ciertos procesos cuyo tiempo de ejecución
mayor, mejora ostensiblemente la eficiencia del trabajo con procesos con prioridad.
• En este algoritmo los procesos de mayor prioridad se ejecutan en un quantum. Los procesos de la
siguiente clase se ejecutan en dos quantum, los de la siguiente clase en 4 quantum, y así sucesivamente.
Cuando un proceso consume todos los quantum asignados a él, se le mueve a la siguiente clase.
8.8.- Planificación Colas múltiples con realimentación (FB)
La política FB (Feedback Multiple Queues) intenta dar un trato justo a los procesos por medio de
separación de los mismo en categorías, para así darles el servicio que necesitan.
• Para dar un trato justo a los procesos, es necesario conocer previamente todos sus parámetros
característicos: la longitud, si están limitados por entrada/salida o por procesador, la memoria que van a
necesitar, etc. Como estos datos no suelen ser conocidos, es difícil determinar el trato que debe recibir
cada proceso.
• Este método divide los procesos en varias colas de procesos preparados: cola 0, cola 1….., de manera que
las de numeración más baja tendrán asignadas mayor prioridad.
• Los procesos limitados por procesador irán a las colas de menor prioridad (nivel más alto), mientras los de
mayor prioridad serán aquellos procesos muy interactivos.
• Cuando el proceso que está haciendo uso del procesador finaliza su quantum, se selecciona un nuevo
proceso del principio de la cola del nivel más bajo que tenga algún proceso.
• Una vez que un proceso haya consumido el quantum de su cola un determinado número de veces, sin
haber finalizado su ejecución, será colocado al final de la de nivel inmediatamente superior al anterior.
– Las características de la política FB son:
• Es apropiativa
• Soporta bien la sobrecarga
• Es muy adaptable a las necesidades del sistema, ya que cada cola puede ser
gestionada de forma diferente.
13 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
8.9.- Planificación garantizada
Es una técnica en la que se establecen verdades compromisos de desempeño con el usuario y se debe de
sujetar a ellos.
• Para mantener esa promesa, el sistema debe de tener un registro del tiempo de CPU que cada usuario ha
tenido desde su entrada al sistema, así como del tiempo transcurrido desde esa entrada. Posteriormente,
calcula entonces la cantidad de tiempo en CPU prometida al usuario, es decir, el tiempo transcurrido
desde la entrada, dividido entre n (nº de procesos). Puesto que también se conoce la cantidad de tiempo
en CPU realmente utilizada por el usuario, mediante un cálculo directo se obtiene la proporción del
tiempo de CPU real entre el tiempo de CPU prometido.
• Una proporción de 0,5 indica que un proceso sólo ha dispuesto de la mitad del tiempo debido, mientras
que una proporción de 2 indica que un proceso ha usado el doble de lo que debería.
• El algoritmo ejecuta entonces el proceso con la menor proporción, hasta que ésta se acerque a la de su
competidor más cercano.
� ¿Qué algoritmo de planificación se debe elegir para un sistema determinado?. Será misión del diseñador
del sistema operativo la elección de los mecanismos apropiados para que la política elegida partiendo de los
criterios anteriores sea satisfactoria y ofrezca un alto rendimiento global.
� A veces ocurre que un proceso tiene muchos hijos ejecutándose bajo su control. Por desgracia, ninguno
de los planificadores analizados anteriormente acepta datos de los procesos del usuario relativos a
decisiones de planificación. Como resultado, el planificador pocas veces hace la mejor elección.
� La solución a este problema es separar el mecanismo de planificación de la política de planificación. Es
decir, el algoritmo de planificación deberá quedar parametrizado y los parámetros deberán de ser
determinados por medio de procesos del usuario.
9.-CUESTIONES
a) Representación gráfica de la planificación de procesos.
A los gráficos que se utilizan para ver el funcionamiento de los algoritmos de planificación o cronogramas
también se les denominan diagramas de Gantt, que son unos gráficos ideados por H. L. Gantt en la segunda década
de siglo XX para organizar actividades, mostrando las fechas o tiempos de inicio de cada actividad y su duranción
estimada.
En éstos se representa el eje de abcisas el tiempo y en el eje de coordenadas los procesos que se
planifican para su ejecución por la CPU. Para cada proceso, una línea o un rectángulo muestra el tiempo en que
dicho proceso dispone de la CPU. A continuación se muestra el diagrama de Gantt de tres procesos; P1, P2, P3, que
se ejecutan en este orden, con tiempos de ejecución t1, t2 y t3 y de conmutación de tareas, c.
c) Durante la ejecución de un programa, éste transcurre entre fases de cálculo y fases de e/s. Estos
dispositivos son más lentos comparados con el procesador, ello hace que el procesador esté desocupado a
menudo, durante bastante tiempo, esperando que termine la operación de e/s antes de seguir con la
ejecución de dicho programa. Si dos programas tienen un comportamiento idéntico con el procesador y
con las operaciones de e/s, podríamos decir que el procesador pasa parte del tiempo ejecutando el
programa hasta que encuentra una instrucción de e/s, con lo que esperará hasta que ésta termine para
continuar. Podemos verlo en el siguiente dibujo de dos programas en serie:
14 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
P1 e/s P1 e/s P1 P2 e/s P2 e/s P2
t +c +t +c +t +t +c +t +c +t
El tiempo total que ha necesitado los dos procesos para terminar su ejecución ha sido el tiempo necesario
del proceso P1 (3t), del proceso P2 (3t) y el tiempo que han tenido que estar en espera por las cuatro operaciones
de e/s que se han realizado y en las que el procesador ha estado desocupado (4c).
Este desaprovechamiento del procesador puede solucionarse si se dispone de suficiente memoria para
alojar a los dos programas, cuando un proceso en ejecución necesite esperar por una operación de e/s, el
procesador puede pasar a ejecutar el otro trabajo, que probablemente no estará esperando por una e/s. Quedaría
así:
P1 P2 P1 P2 P1 P2
t1 +c + t1 +c + t1 + t2
c) Transiciones que se producen entre los diferentes estados de un proceso por actuación del planificador
a corto plazo (PCP), el planificador a medio plazo (PMP) y el planificador a largo plazo (PLP).
El planificador a corto plazo selecciona, en base a un determinado algoritmo, el proceso que pasará al estado activo
de entre todos los procesos que están en el estado de preparado.
Transición entre estados a que da lugar la acción del planificador a corto plazo
El planificador a medio plazo selecciona el proceso que pasará al estado preparado de entre todos los procesos que
están en el estado bloqueado pero que además se encuentran en memoria secundaria. La característica de este
planificador es que forma parte de la función de intercambio o swapping relativa a la gestión de memoria.
Transición entre estados a que da lugar la acción del planificador a medio plazo
El planificador a largo plazo determina que procesos se admiten en el sistema es por ello que el proceso pasará del
estado nonato al estado de preparado.
Transición entre estados a que da lugar la acción del planificador a largo plazo
Lista de estados
preparados
Activo PCP
Lista de estados
Bloqueados en memoria
secundaria
PMP
Lista de estados
preparados
nonato Lista de estados
preparados
PLP
15 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
a) Los criterios de planificación más utilizados son el tiempo de retorno o regreso, el tiempo de espera, el
rendimiento y la eficacia. Explicar dichos conceptos de manera sencilla y breve.
Entre las medidas de rendimiento y los criterios de optimización más habituales que los planificadores
pueden utilizar en su intento de maximizar el rendimiento del sistema se incluyen:
• El tiempo de retorno o regreso es el tiempo que transcurre desde que un proceso se crea hasta
su finalización.
• El tiempo de espera es el tiempo que un proceso o trabajo consume esperando la asignación de
recursos debido a la competencia con otros en un sistema multiprogramación. En otras
palabras, el tiempo de espera es la penalidad impuesta por compartir recursos con otros
procesos.
• El rendimiento o productividad es el número de procesos terminados por unidad de tiempo.
Esta medida indica la cantidad de trabajo que se está llevando a cabo.
• La eficacia o utilización es el porcentaje de tiempo en el que el procesador está ocupado.
b) Ecuación que relaciona los siguientes períodos de tiempo de un trabajo: tiempo de retorno, tiempo de
ocupación de la CPU y tiempo de espera.
El tiempo de retorno R, es la suma del tiempo de ejecución real o de ocupación del procesador, U, y el
tiempo consumido en la espera por los recursos, E, incluido el procesador. Expresado matemáticamente:
R= E+U
c) Expresión matemática que expresa los conceptos de eficacia y rendimiento:
Dentro del conjunto de criterios con los que se evalúa las diversas estrategias de planificación se
encuentra la eficiencia (Ef) que corresponde al tiempo medio de utilización del procesador.
Matemáticamente se puede expresar como la fracción entre el tiempo de ejecución útil o real., U, y el
tiempo de uso de la CPU total, T, de ese proceso (expresado en tanto por ciento):
Ef= U/T * 100%
El rendimiento o productividad P, es una medida del número de trabajos completados por unidad de
tiempo. De esta forma, si es N, el número de procesos completados en S segundos, su expresión sería:
P=N/S
d) Se tienen 3 procesos P1, P2 y P3, con tiempos de ejecución, 85,45 y 118 ms, respectivamente. Si actúa el
planificador a corto plazo según el algoritmo SJF determinar el orden en que se encuentran en la lista de
preparados. ¿En qué se diferencia si el planificador fuera a largo plazo?.
a) El proceso seleccionado será aquél que posea menor tiempo de ejecución. De esta forma el primer
proceso que pasará al estado activo de entre estos tres procesos será P2, pues 45 ms es el menor
tiempo de ejecución. Cuando este proceso finaliza su ejecución será de nuevo llamado el algoritmo
de planificación que en este caso seleccionará al proceso P1 para su ejecución, cuando éste muera se
pasará a ejecutar el P3.
b) La estrategia no varía, el orden de selección será el mismo. Pero esta selección no sería para pasar a
ejecución, sino a la lista de procesos en estado de preparados.
16 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
e) Para los tres procesos anteriores calcular sus tiempos de retorno, de espera, rendimiento y eficacia del
sistema. Dibujar el diagrama de Gantt o diagrama temporal de la posesión del procesador.
P2 P1 P3
45 130 248
Proceso P1:
• Tiempo de retorno: R1: 130 ms
• Tiempo de espera: E1:R1-U1=130-85=45 ms
• Eficacia Ef1: Ef1=U1/T1 *100=85/130 *100= 65,38%
Proceso P2:
• Tiempo de retorno: R2: 45 ms
• Tiempo de espera: E2:R2-U2=45-45=0 ms
• Eficacia Ef2: Ef2=U2/T2 *100=45/45 *100= 100%
Proceso P3:
• Tiempo de retorno: R3: 248 ms
• Tiempo de espera: E3:R3-U3=248-118=30 ms
• Eficacia Ef3: Ef3=U3/T3 *100=118/248 *100= 47,58%
El rendimiento del sistema es:
P= N/S= 3/248=0,012
f) Si el tiempo de retorno o regreso de un proceso, P1, es de 30 ms y el de ejecución real de 10 ms, ¿cuál será
el tiempo de retorno o regreso de P1 y P2?.
La expresión que relaciona el tiempo de retorno con el tiempo de espera es:
R= E+U
Por lo tanto:
E=R-U = 30-10 =20 ms
La eficacia será:
Ef=U/T *100=10/30*100=33,33 %
El rendimiento será:
P=N/S=1/30=0,033
17 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
g) Se tienen dos procesos, P1 y P2, de tiempos de ejecución 25 y 30 ms, respectivamente. El planificador a
corto plazo actúa según el algoritmo RR o de prioridad circular con quantum de 10 ms. ¿Cuál será el
tiempo de retorno o regreso de P1 y P2?
De acuerdo con este algoritmo los procesos en la lista de preparados irán pasando a ejecución de manera
secuencial durante un tiempo definido igual a 10 ms. Cuando terminan de tomar el procesador todos los
procesos de la lista durante el tiempo establecido vuelven a comenzar, de ahí el nombre de prioridad
circular. Si el orden en la lista de preparados es primero P! y después P2, entonces pasará a ejecutarse P1
durante 10 ms y después P2 durante otros 10 s. De nuevo comienza el ciclo con P1 durante 10ms, y a
continuación P2 con el mismo quantum. Finalmente comienza su ejecución P1 pero no necesita todo el
quantum asignado para terminar, solamente 5 ms. Al terminar este proceso, es estado global del sistema
varía por lo que de nuevo se vuelve a llamar al planificador, como sólo el proceso P2 está en la lista de
preparados pasará a ejecución requiriendo todo el quantum asignado para terminar su ejecución por
completo. De esta forma el tiempo de retorno para el proceso P1 es el tiempo que transcurre desde que
se crea (se supone que ambos procesos se crean al tiempo 0 ms) hasta que finaliza su ejecución. Por lo
tanto, se debe contabilizar el tiempo en el que finalizan su ejecución ambos procesos. Para P1
corresponde a dos ciclos totales más 5 ms, en total 45 ms y para P2 serán 10 ms más, es decir 55 ms. Si se
representa el diagrama de Gantt se pueden observar de forma más clara los tiempos de retorno:
P1 P2 P1 P2 P1 P2
25-
10=15
30-
10=20 15-10=5
20-
10=10 5-5=0 10-10=0
10 20 30 40 45 55ms
h) Sean dos procesos: P1 con tiempo de ejecución de 20 ms y P2 con 15 ms. El planificador a corto plazo
actúa según el algoritmo de prioridad circular con quantum de 10 ms y tiempo de conmutación de tarea
de 5 ms. Marcar el tiempo de retorno (regreso) de P1 y P2.
El proceso P1 comienza su ejecución, transcurrido el quantum de 10 ms tiene lugar el cambio de contexto
que tarda 5 ms y cambia a la ejecución del proceso P2 durante otros 10 ms. A continuación tiene lugar
otro ciclo, pasa a ejecutarse el proceso P1 que finaliza su ejecución con el cuanto, por lo que su tiempo de
retorno es de 40 ms. Transcurrido el tiempo de conmutación de tarea necesario para que el proceso P2
sea planificado, comienza éste a ejecutarse, pero no necesitará todo el cuanto sino que transcurridos 5 ms
finaliza su ejecución, por lo que el tiempo de retorno es de 50 ms. Con el diagrama de Gantt observamos
que el tiempo de retorno para el proceso p1 es de 40 ms y para el proceso P2 es de 50 ms.
P1 c P2 c P1 c
P2
20-10 5 15-10 5 10-10 5 5
10 15 25 30 40 45
50
18 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
10.-PROBLEMAS
1) Supóngase que se tienen que realizar cinco trabajos cuyas características se muestran en la tabla siguiente,
llegando en el mismo orden en el que se muestran:
Trabajo Tiempo de ejecución Prioridad
1 1 1
2 10 4
3 2 3
4 2 4
5 6 2
Tabla 1.1
Se pide:
A) Realizar los diagramas de Gantt que ilustren la ejecución de estos trabajos utilizando los algoritmos
siguientes: FCFS (primero en llegar primero en ser servido), SJFS (primera tarea más corta), SRT (tiempo
que queda más corto), RR (prioridad circular) con un quantum de 1 ms y, finalmente una planificación por
prioridades no expropiativa.
B) Determinar para cada uno de los procesos con cada uno de los algoritmos de planificación anteriores el
tiempo de retorno. Calcular la media resultante para cada algoritmo.
C) Lo mismo que el anterior para la eficiencia.
D) Lo mismo que el anterior para el tiempo de espera.
E) Lo mismo que el anterior para el tiempo de respuesta.
F) Analizar los resultados anteriores y extraer consecuencias.
19 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
2) Supóngase que se tienen que realizar cinco trabajos cuyas características se muestran en la siguiente tabla:
Trabajo Tiempo de uso de CPU Prioridad
1 10 3
2 1 1
3 2 3
4 1 4
5 5 2
Se pide:
a) Realizar un diagrama de Gantt que ilustre la ejecución de estos trabajos para los algoritmos: FCFS (primero
en llegar primero en ser servido), RR (prioridad circular) con quantum de 1 ms, SJF (primera tarea más
corta), prioridades no expropiativo.
b) ¿Cuál es el tiempo de retorno de cada trabajo para cada uno de los algoritmos anteriores de
planificación?, ¿Cuál es el tiempo de de espera de cada trabajo para cada uno de los algoritmos anteriores
de planificación?. Razonar sobre el tiempo de espera medio de cada algoritmo.
1) Se deben ejecutar cinco trabajos: P1, P2, P3, P4 y P5. Sus tiempos de ejecución (en ms) previstos son: 9, 6, 3, 5 y X.
¿En qué orden se deberían de ejecutar aplicando el algoritmo SJF?. Calcular el tiempo de espera medio para cada
uno de los casos. (Obviamente la solución propuesta dependerá de X).
2) Se tiene un SO de tiempo real con tres tareas críticas (tienen que terminar en un tiempo máximo llamado tiempo
crítico). Estos tiempos junto con los tiempos de ejecución por tarea se definen en la siguiente tabla:
Trabajo Tiempo crítico Tiempo de ejecución
A 200 ms 80 ms
B 100 ms 40 ms
C 250 ms 120 ms
Se pide:
a) Representar el orden de las tareas después de la actuación del planificador a largo plazo
b) Representar el orden de ejecución de las tareas en un diagrama de Gantt.
20 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
c) Calcular el tiempo de retorno de las tareas, su tiempo de espera y decir si todas las tareas se ejecutan antes
de finalizar su tiempo crítico.
Para ello se debe conocer que:
- Las tareas han llegado a la vez y el planificador a largo plazo actúa según el
algoritmo SJF.
- La planificación a corto plazo es por prioridad circular con quantum de 25 ms,
utilizando el algoritmo FSFC para determinar cual es el siguiente proceso que
pasa al estado activo.
- El tiempo de conmutación de proceso es de 0,5 ms.
- Si una tarea no ha terminado al finalizar su tiempo crítico, continúa hasta
completar la ejecución.
- Las tareas no realizan peticiones de e/s.
3) La siguiente tabla recoge la información de cinco procesos que se van a ejecutar en un sistema.
Trabajo Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 10
B 1 2
C 2 3
D 3 1
E 4 5
Calcular el tiempo de retorno de cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los
siguientes algoritmos:
a) FCFS
b) SRT
c) RR, con quantum de 2 ms. Si el quantum de un proceso en ejecución expira a la vez que la llegada de un
nuevo proceso, entonces éste se añade a la cola de procesos preparados antes que el proceso termina.
Despreciar el tiempo necesario para el cambio de contexto.
4) En la tabla siguiente se muestra el orden en el que están las tareas en la lista de preparados (todas tienen la
misma prioridad), los cuantos que se conceden a cada tarea cada vez que obtiene la CPU (un valor fijo para cada
tarea), los tiempos que tardarán las tareas en completarse si fueran las únicas del sistema, y los tiempos máximos
permitidos (tiempo máximo entre el comienzo de la tarea hasta su finalización)
Suponiendo que ninguna tarea realiza ninguna operación de e/s, decir si todas las tareas se realizarán sin
problemas (es decir, se realizan antes de su tiempo máximo permitido, no dando un error denominado time_out),
Se pide:
• Dibujar un diagrama de Gantt de las tareas
21 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
• Calcular los tiempos de retorno de cada una de ellas.
• Explicar brevemente las diferencias del algoritmo prioridad cirucular (RR) y el algoritmo aplicado.
Nota: Tener en cuenta que el quantum es de 40 ms y el tiempo de conmutación de tarea es de 10 ms.
Trabajo Orden en la cola Cuantos asignados Tiempo de ejecución (ms) Tiempo máximo permitido
(ms)
A 1 3 160 540
B 2 2 280 1000
C 3 3 200 800
D 4 2 200 900
E 5 1 400 Infinito
5) La siguiente tabla muestra información de cinco procesos. Calcular el tiempo de retorno de cada uno (despreciar el
tiempo de cambio de contexto) y representar la ejecución en diagramas de Gantt para los algoritmos:
a) SJF
b) RR, con quantum de 4 ms. Si el quantum de un proceso en ejecución exprira a la vez que la llegada de un
nuevo proceso, entonces el nuevo proceso se añade a la cola de procesos en espera de ejecutarse antes
que el proceso que termina.
Trabajo Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 14
B 3 12
C 5 7
D 7 4
E 19 7
6) La siguiente tabla recoge la información de cinco procesos que se van a ejecutar en un sistema. Calcular el tiempo de
retorno de cada uno de los trabajos y representar la ejecución en diagrama de Gantt para los siguientes
algoritmos:
a) FCFS
b) SJF
c) RR, con quantum de 2 ms. Si el quantum de un proceso en ejecución expira a la vez que la llegada de
un nuevo proceso, entonces el nuevo proceso se añade a la cola de procesos en espera de ejecutarse
antes que el proceso que termina.
22 TEMA 3. GESTIÓN DE PROCESOS. (Ampliación).
d) Lo mismo pero con RR con prioridades, teniendo en cuenta que la máxima prioridad corresponde a 4 y
la mínima a 1.
Despreciar el tiempo necesario para el cambio de contexto.
Trabajo Tiempo de llegada ms Tiempo de ejecución
ms
Prioridad
A 1 8 2
B 2 2 4
C 3 1 3
D 4 2 4
E 5 5 1