Beruflich Dokumente
Kultur Dokumente
NDICE:
1.- ESTADOS DE LOS PROCESOS.. 1
2.- BLOQUE DE CONTROL DE PROCESOS (BCP) 1
3.- EL PLANIFICADOR DE PROCESOS. 2
4.- OBJETIVOS DE PLANIFICACIN. 3
5.- CRITERIOS DE PLANIFICACIN. 3
6.- SINCRONIZACIN Y COMUNICACIN DE PROCESOS. 3
6.1.- Concurrencia... 4
6.2. Exclusin mutua 4
6.3. Sincronizacin.. 5
7. INTERBLOQUEO. 6
8.-ALGORITMOS DE PLANIFICACIN.. 8
8.1.- Planificacin por prioridades. 9
8.2.- Planificacin Primero en llegar, primero en ser servido (FCFS).. 9
8.3- Planificacin Primera tarea ms corta (Planificacin SJF).(SJN) 10
8.4.- Planificacin Round-Robin (RR). 10
8.5.- Planificacin El siguiente proceso, el restante ms corto (SRT).. 11
8.6.- Planificacin Prximo el de ms corto ndice de respuesta (HRN).. 11
8.7.- Planificacin Colas mltiples. 12
8.8.- Planificacin Colas mltiples con realimentacin (FB) 12
8.9.- Planificacin garantizada. 13
9.-CUESTIONES 13
10.-PROBLEMAS 17
1.- Justicia.- La poltica debe ser lo ms justa posible con todo tipo de procesos, sin favorecer a unos y
perjudicar a otros.
2.-Mxima capacidad de ejecucin.- Debe dar un servicio aceptable para que todos los trabajos se realicen
lo ms rpidamente posible. Esto se logra disminuyendo el nmero de cambios de proceso.
3.-Mximo nmero de usuarios interactivos.- En los sistemas de tiempo compartido se tratar de que
puedan estar trabajando el mayor nmero de usuarios simultneamente.
4.-Predecibilidad.- La poltica de planificacin debe concebirse de tal forma que en todo momento pueda
saberse cmo ser su ejecucin.
5.-Minimizacin 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 estn ocupados equitativamente el mayor tiempo posible.
7.-Seguridad de las prioridades.- Si un proceso tiene mayor prioridad que otro, ste debe ejecutarse ms
rpidamente.
Los objetivos enunciados pueden entrar en ocasiones en contradiccin; por ello es necesario llegar a una
situacin de compromiso entre todos los objetivos para conseguir del sistema operativo un buen
rendimiento y un buen servicio.
Tiempo de respuesta a un evento: es el intervalo de tiempo que transcurre desde que se seala un
evento hasta que se ejecuta la primera instruccin 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.
Tiempo de espera: es el tiempo que el proceso espera hasta que se le concede el procesador.
6.1.- CONCURRENCIA.
Es la existencia de varias actividades ejecutndose simultneamente, y necesitan sincronizarse para actuar
conjuntamente.
Para que dos actividades sean concurrentes, es necesario que tengan alguna relacin entre s, como
puede ser la cooperacin en un trabajo determinado o el uso de informacin compartida.
En un sistema monoprocesador, la existencia de multiprogramacin es condicin 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 ejecutndose simultneamente 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 tambin en ejecucin 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, tambin pueden presentarse situaciones de concurrencia siempre y
cuando las actividades necesiten actuar entre s, bien por utilizar informacin comn 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 organizacin secuencial del estudio de las
asignaturas podra ser estudiar una asignatura durante un nmero de das hasta aprenderla, despus otra
asignatura y as sucesivamente hasta preparar la ltima. Otra organizacin podra ser estudiar cada da un poco de
cada asignatura. En cada instante de tiempo estar estudiando una nica asignatura, pero visto el trabajo a una
escala macroscpica al cabo del curso podramos 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 telfono o abrir la puerta. Al aadir estas nuevas tareas de
su quehacer cotidiano el estudiante necesita una cierta planificacin que le permita determinar cundo debe pasar
de la ejecucin de una tarea a otra. Dicha planificacin forma parte de su modus operandi o sistema operativo;
segn ste, el estudio de una asignatura se realizar durante un cierto intervalo de tiempo, transcurrido el cul se
producir el cambio a otra asignatura. Si durante el estudio se produce, por ejemplo, una llamada telefnica, 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 pasramos ms al campo informtico, podemos situarlo en la ejecucin de un programa
de edicin de textos. Aunque los procesos de edicin 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
sincronizacin y la comunicacin entre los mismos. A veces dos o ms procesos cooperan para alguna operacin
comn. En cualquier instante, slo un proceso estar en ejecucin mientras que los otros estarn preparados para
acceder al procesador cuando lo disponga el SO, o bloqueados, esperando que ocurra algn evento que les permita
volver a estar dispuestos para acceder al procesador.
6.2. EXCLUSIN MTUA.
Es una sincronizacin por la cual una actividad impide que otras puedan tener acceso a un dato mientras
se encuentra realizando una operacin sobre el mismo.
Cuando se realiza una operacin de escritura y otro proceso diferente de lectura quiere entrar, se ha de
bloquear este ltimo proceso, pues sus datos seran inconsistentes. Hasta que no se terminan de modificar unos
campos o ampliar o reducir el fichero, no podemos leer datos fiables y seguros.
Si realizamos una operacin de lectura y otro proceso diferente de lectura quiere entrar, pueden
perfectamente aunque sea el mismo registro.
La zona de cdigo de un proceso que no puede ser interrumpida por otro, se denomina seccin crtica.
6.3. SINCRONIZACIN.
Si una actividad desea impedir que otra acceda a ciertos datos compartidos, mientras no se cumpla una
determinada condicin, debemos sincronizar las actividades con dicha condicin.
1.-Espera activa. Son aquellos algoritmos que basan todo su funcionamiento en establecer la espera de
entrada a la seccin crtica con un bucle que ser roto en el momento en que se cumpla una determinada
condicin.
Se llaman de espera activa porque el proceso no queda bloqueado durante su ejecucin, 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 ms eficientes.
Ente los distintos algoritmos 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).
2.- Espera no activa. Son los algoritmos que establecen la espera para entrar en la seccin crtica
bloqueando el proceso, haciendo que deje de competir por el procesador hasta que se cumpla
la condicin de desbloqueo.
Semforos.- Gestiona el trfico 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 seccin crtica. Esta
variable es compartida por todos los recursos del sistema.
Con este sistema, cuando un proceso intenta entrar en una seccin 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.
Regiones crticas.- Slo 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
simultnea.
El algoritmo de Dekker es un algoritmo de programacin concurrente para exclusin mtua, que permite a dos procesos hilos de ejecucin compartir un
recurso sin conflictos. Fue uno de los primeros algoritmos de exclusin mutua inventados, implementado por Edsger Dijkstra. Si ambos procesos intentan
acceder a la seccin crtica simultneamente, el algoritmo elige un proceso segn una variable turno. Si el otro proceso est ejecutando en su seccin crtica,
deber esperar su finalizacin.
Regiones crticas condicionales.- Consiste en una mejora del mtodo anterior tratando de resolver los
problemas de sincronizacin.
Monitores.- Solucionan el problema de los anteriores que necesitaban que el programador tena que
proporcionar de forma explcita el modo de sincronizacin.
Un monitor permite compartir, segura y eficientemente, datos entre varias actividades,
garantizando la exclusin mutua, sin necesidad de que el programador tenga que suministrarla
explcitamente.
Se basa en dos premisas:
La primera es la abstraccin de datos consistente en una tcnica capaz de separar las
operaciones a ejecutar sobre los datos, de los detalles de diseo propios de los mismos ADA y
MODULA).
La segunda es que realizan la exclusin mutua de forma implcita.
Contadores de eventos.- Es un mecanismo para sincronizar actividades sin que sea necesario forzar la
exclusin 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 misin es contar determinadas
operaciones.
Mensajes.- Es un mecanismo que permite a los procesos intercambiar aquella informacin que sea
necesaria durante el desarrollo normal de su ejecucin.
Es ms un mecanismo de cooperacin que de sincronizacin.
Esta cooperacin se realiza por medio de mensajes que se envan entre s los procesos, guardando estos
mensajes en un zona de memoria compartida.
Existen dos tipos de comunicacin entre procesos: Directa e indirecta.
o
Directa.- Los procesos envan 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 travs de mailboxes o buzones de correos.
Con este mtodo 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 parmetros, siendo dicha
ejecucin concurrente. Este tipo de interaccin asegura que hasta que un proceso no termine
determinadas operaciones, el siguiente permanecer a la espera.
Rendez-vous.- Es una modificacin del mtodo 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 ms versatilidad y potencia.
o
Se ha llevado a la prctica con el lenguaje ADA.
3.-Mecanismos hardware.- Son instrucciones hardware que aseguran la exclusin mtua. Entre las ms
utilizadas se citan las siguientes: Deshabilitar interrupciones, Instruccin TEST_AND_SET, LOCK.
Deshabilitar interrupciones.-Por este medio, se puede forzar la exclusin mutua deshabilitando las
interrupciones mientras haya alguna actividad en las seccin crtica.
Instruccin TEST_AND_SET.- Es una instruccin mquina para forzar la exclusin mutua. No puede ser
interrumpida por ser una instruccin hardware.
LOCK.- Se basa en la anterior, adems permite el acceso a la seccin crtica a un proceso en caso de no
existir otra actividad.
7. - INTERBLOQUEO
Se define como la situacin de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene
suficientes criterios para continuar su ejecucin. Tambin conocido como abrazo mortal (deadlock).
Recursos:
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 recursos se pueden dividir en tipos de tal forma que cada uno de ellos est compuesto por
recursos idnticos 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 realizarn a travs 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.
Postergacin indefinida:
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:
Posesin y espera.- Debe existir algn proceso que tenga asignado un recurso y est
esperando a que se le asignen otros que estn siendo utilizados por otros procesos.
No apropiacin.- Los recursos no pueden ser apropiados por los procesos, es decir, los
recursos slo podrn ser liberados voluntariamente por sus propietarios.
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 aparicin es bastante improbable. La solucin 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 situacin.
3.- Evitar.- Se pueden evitar los posibles interbloqueos siempre y cuando tengamos disponible
cierta informacin sobre los recursos que necesita cada proceso por adelantado. Para evitar el
interbloqueo se han estudiado diversos mtodos, entre los que podemos citar el algoritmo del
banquero.
El banco confa en que no tendr que permitir a todos sus clientes la utilizacin de
todo su crdito a la vez. El banco tambin asume que si un cliente maximiza su crdito 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
caractersticas del mismo: prioridad, tiempo de procesador usado, tipo de recursos utilizados,
necesidades de recursos y facilidad de suspensin/reanudacin.
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 ms fcil ser recuperarlo.
4.3.- Tipo de recursos utilizados.- Si los recursos son muy crticos y escasos, ser preferible
liberarlos cuanto antes.
4.4.- Necesidad de recursos.- Es conveniente eliminar aquellos procesos que necesitan un gran
nmero de recursos.
4.5.- Facilidad de suspensin/reanudacin.- Se eliminarn antes aquellos procesos cuyo trabajo
perdido sea fcil de recuperar.
8. ALGORITMOS DE PLANIFICACIN.
El planificador del procesador tiene como misin la asignacin del mismo a los procesos que estn en la
cola de procesos preparados. Esta cola es alimentada desde dos puntos distintos:
Cada vez que un usuario inicie la ejecucin de un programa, el planificador a largo plazo recibe la
orden de ejecucin, crea el proceso y lo pasa al planificador a corto plazo, colocndose en la cola de procesos
preparados.
Cuando un proceso deja de estar en estado de ejecucin y no existen causas para su bloqueo, o
deja de estar bloqueado, pasa nuevamente a la cola de procesos preparados.
Polticas 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.
Polticas 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.- Planificacin por prioridades.Esta poltica 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 clculo y asignacin de dichas prioridades (tiempo
necesitado de procesador, necesidad de memoria, etc.)
El principal problema de esta poltica es el bloqueo o postergacin 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 estn a la espera de utilizar el procesador.
El valor inicial puede ser asignado por el usuario o por el sistema. La asignacin puede se de dos tipos:
a) Esttica.- en cuyo caso no cambia durante el tiempo en que el proceso existe.
b) Dinmica.- cuando la prioridad puede ser modificada por el propio usuario o sistema. La
modificacin se suele realizar en funcin de ciertos parmetros como la cantidad de memoria que utiliza,
el nmero de acciones de E/S que lleva realizado, el tiempo medio de utilizacin del procesador hasta ese
momento, el nmero de ficheros abiertos, etc.
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.
No es apropiativa
Es justa, aunque los procesos largos hacen esperar mucho a los cortos.
Esta poltica toma de la cola de procesos preparados el que necesite menos tiempo de ejecucin para
realizar su trabajo.
Para lo anterior, debe saber el tiempo de procesador que necesita cada proceso mediante mtodo como
pueden ser la informacin suministrada por el propio usuario, por el propio programa, basndose en la
historia anterior (heurstica), etc.
No es apropiativa
Es poco predecible
Resulta difcil de poner en prctica por los datos que necesita para realizarse la
planificacin.
Esta interrupcin peridica contina hasta que el proceso termine su ejecucin, formando una rueda de
procesos que sern ejecutados, cclicamente hasta que terminen.
La gestin de la cola de procesos preparados se puede realizar de muy diversas maneras, siendo las ms
comunes la FIFO o por prioridades, donde los procesos se ordenan segn su prioridad.
10
El tipo de sistema
Esta tcnica cambia el proceso que est en ejecucin cuando se ejecuta un proceso (paso del planificador
de largo plazo al de corto plazo), con una exigencia de tiempo de ejecucin 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.
Puede ser injusta, ya que un proceso corto puede echar a uno largo que est haciendo
uso del procesador y que adems est terminando
Es muy eficiente.
11
No es apropiativa
Es justa
Esta poltica divide la cola de procesos preparados en varias colas separadas, de manera que los
procesos se asignan a una determinada cola segn 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 planificacin
entre las colas, que normalmente es apropiativo de prioridad fija.
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 ejecucin
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.
Para dar un trato justo a los procesos, es necesario conocer previamente todos sus parmetros
caractersticos: la longitud, si estn limitados por entrada/salida o por procesador, la memoria que van a
necesitar, etc. Como estos datos no suelen ser conocidos, es difcil determinar el trato que debe recibir
cada proceso.
Este mtodo divide los procesos en varias colas de procesos preparados: cola 0, cola 1.., de manera que
las de numeracin ms baja tendrn asignadas mayor prioridad.
Los procesos limitados por procesador irn a las colas de menor prioridad (nivel ms alto), mientras los de
mayor prioridad sern 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 ms bajo que tenga algn proceso.
Una vez que un proceso haya consumido el quantum de su cola un determinado nmero de veces, sin
haber finalizado su ejecucin, ser colocado al final de la de nivel inmediatamente superior al anterior.
12
Es apropiativa
Es muy adaptable a las necesidades del sistema, ya que cada cola puede ser
gestionada de forma diferente.
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 tambin se conoce la cantidad de tiempo
en CPU realmente utilizada por el usuario, mediante un clculo directo se obtiene la proporcin del
tiempo de CPU real entre el tiempo de CPU prometido.
Una proporcin de 0,5 indica que un proceso slo ha dispuesto de la mitad del tiempo debido, mientras
que una proporcin de 2 indica que un proceso ha usado el doble de lo que debera.
El algoritmo ejecuta entonces el proceso con la menor proporcin, hasta que sta se acerque a la de su
competidor ms cercano.
Qu algoritmo de planificacin se debe elegir para un sistema determinado?. Ser misin del diseador
del sistema operativo la eleccin de los mecanismos apropiados para que la poltica elegida partiendo de los
criterios anteriores sea satisfactoria y ofrezca un alto rendimiento global.
A veces ocurre que un proceso tiene muchos hijos ejecutndose bajo su control. Por desgracia, ninguno
de los planificadores analizados anteriormente acepta datos de los procesos del usuario relativos a
decisiones de planificacin. Como resultado, el planificador pocas veces hace la mejor eleccin.
9.-CUESTIONES
a) Representacin grfica de la planificacin de procesos.
A los grficos que se utilizan para ver el funcionamiento de los algoritmos de planificacin o cronogramas
tambin se les denominan diagramas de Gantt, que son unos grficos ideados por H. L. Gantt en la segunda dcada
de siglo XX para organizar actividades, mostrando las fechas o tiempos de inicio de cada actividad y su durancin
estimada.
En stos se representa el eje de abcisas el tiempo y en el eje de coordenadas los procesos que se
planifican para su ejecucin por la CPU. Para cada proceso, una lnea o un rectngulo muestra el tiempo en que
dicho proceso dispone de la CPU. A continuacin se muestra el diagrama de Gantt de tres procesos; P1, P2, P3, que
se ejecutan en este orden, con tiempos de ejecucin t1, t2 y t3 y de conmutacin de tareas, c.
c)
13
Durante la ejecucin de un programa, ste transcurre entre fases de clculo y fases de e/s. Estos
dispositivos son ms lentos comparados con el procesador, ello hace que el procesador est desocupado a
menudo, durante bastante tiempo, esperando que termine la operacin de e/s antes de seguir con la
ejecucin de dicho programa. Si dos programas tienen un comportamiento idntico con el procesador y
con las operaciones de e/s, podramos decir que el procesador pasa parte del tiempo ejecutando el
programa hasta que encuentra una instruccin de e/s, con lo que esperar hasta que sta termine para
continuar. Podemos verlo en el siguiente dibujo de dos programas en serie:
P1
e/s
P1
e/s
P1
P2
e/s
P2
e/s
P2
+c
+t
+c
+t
+t
+c
+t
+c
+t
El tiempo total que ha necesitado los dos procesos para terminar su ejecucin 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 ejecucin necesite esperar por una operacin de e/s, el
procesador puede pasar a ejecutar el otro trabajo, que probablemente no estar esperando por una e/s. Quedara
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 actuacin 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 estn en el estado de preparado.
Lista de estados
PCP
Activo
preparados
Transicin entre estados a que da lugar la accin del planificador a corto plazo
El planificador a medio plazo selecciona el proceso que pasar al estado preparado de entre todos los procesos que
estn en el estado bloqueado pero que adems se encuentran en memoria secundaria. La caracterstica de este
planificador es que forma parte de la funcin de intercambio o swapping relativa a la gestin de memoria.
Lista de estados
Lista de estados
PMP
Bloqueados en memoria
secundaria
preparados
Transicin entre estados a que da lugar la accin 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.
nonato
PLP
Lista de estados
preparados
Transicin entre estados a que da lugar la accin del planificador a largo plazo
14
a)
Los criterios de planificacin ms 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 optimizacin ms habituales que los planificadores
pueden utilizar en su intento de maximizar el rendimiento del sistema se incluyen:
b)
El tiempo de retorno o regreso es el tiempo que transcurre desde que un proceso se crea hasta
su finalizacin.
Ecuacin que relaciona los siguientes perodos de tiempo de un trabajo: tiempo de retorno, tiempo de
ocupacin de la CPU y tiempo de espera.
El tiempo de retorno R, es la suma del tiempo de ejecucin real o de ocupacin del procesador, U, y el
tiempo consumido en la espera por los recursos, E, incluido el procesador. Expresado matemticamente:
R= E+U
c)
d)
15
Se tienen 3 procesos P1, P2 y P3, con tiempos de ejecucin, 85,45 y 118 ms, respectivamente. Si acta el
planificador a corto plazo segn 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 aqul que posea menor tiempo de ejecucin. 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 ejecucin. Cuando este proceso finaliza su ejecucin ser de nuevo llamado el algoritmo
de planificacin que en este caso seleccionar al proceso P1 para su ejecucin, cuando ste muera se
pasar a ejecutar el P3.
b)
La estrategia no vara, el orden de seleccin ser el mismo. Pero esta seleccin no sera para pasar a
ejecucin, sino a la lista de procesos en estado de preparados.
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 posesin del procesador.
P2
P1
P3
45
130
248
Proceso P1:
Proceso P2:
Proceso P3:
f)
Si el tiempo de retorno o regreso de un proceso, P1, es de 30 ms y el de ejecucin real de 10 ms, cul ser
el tiempo de retorno o regreso de P1 y P2?.
La expresin 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
16
g)
h)
P1
P2
P1
P2
P1
P2
2510=15
3010=20
15-10=5
2010=10
5-5=0
10-10=0
10
20
30
40
45
55ms
Sean dos procesos: P1 con tiempo de ejecucin de 20 ms y P2 con 15 ms. El planificador a corto plazo
acta segn el algoritmo de prioridad circular con quantum de 10 ms y tiempo de conmutacin de tarea
de 5 ms. Marcar el tiempo de retorno (regreso) de P1 y P2.
El proceso P1 comienza su ejecucin, transcurrido el quantum de 10 ms tiene lugar el cambio de contexto
que tarda 5 ms y cambia a la ejecucin del proceso P2 durante otros 10 ms. A continuacin tiene lugar
otro ciclo, pasa a ejecutarse el proceso P1 que finaliza su ejecucin con el cuanto, por lo que su tiempo de
retorno es de 40 ms. Transcurrido el tiempo de conmutacin 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 ejecucin, 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.
17
P1
P2
P1
P2
20-10
15-10
10-10
10
15
25
30
40
45
50
10.-PROBLEMAS
1) Supngase que se tienen que realizar cinco trabajos cuyas caractersticas se muestran en la tabla siguiente,
llegando en el mismo orden en el que se muestran:
Trabajo
Tiempo de ejecucin
Prioridad
10
Tabla 1.1
Se pide:
A)
Realizar los diagramas de Gantt que ilustren la ejecucin de estos trabajos utilizando los algoritmos
siguientes: FCFS (primero en llegar primero en ser servido), SJFS (primera tarea ms corta), SRT (tiempo
que queda ms corto), RR (prioridad circular) con un quantum de 1 ms y, finalmente una planificacin por
prioridades no expropiativa.
B)
Determinar para cada uno de los procesos con cada uno de los algoritmos de planificacin anteriores el
tiempo de retorno. Calcular la media resultante para cada algoritmo.
C)
D)
E)
F)
18
2) Supngase que se tienen que realizar cinco trabajos cuyas caractersticas se muestran en la siguiente tabla:
Trabajo
Prioridad
10
Se pide:
a)
Realizar un diagrama de Gantt que ilustre la ejecucin 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 ms
corta), prioridades no expropiativo.
b)
Cul es el tiempo de retorno de cada trabajo para cada uno de los algoritmos anteriores de
planificacin?, Cul es el tiempo de de espera de cada trabajo para cada uno de los algoritmos anteriores
de planificacin?. 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 ejecucin (en ms) previstos son: 9, 6, 3, 5 y X.
En qu orden se deberan de ejecutar aplicando el algoritmo SJF?. Calcular el tiempo de espera medio para cada
uno de los casos. (Obviamente la solucin propuesta depender de X).
2) Se tiene un SO de tiempo real con tres tareas crticas (tienen que terminar en un tiempo mximo llamado tiempo
crtico). Estos tiempos junto con los tiempos de ejecucin por tarea se definen en la siguiente tabla:
Trabajo
Tiempo crtico
Tiempo de ejecucin
200 ms
80 ms
100 ms
40 ms
250 ms
120 ms
Se pide:
a)
Representar el orden de las tareas despus de la actuacin del planificador a largo plazo
b)
19
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 crtico.
Para ello se debe conocer que:
-
Las tareas han llegado a la vez y el planificador a largo plazo acta segn el
algoritmo SJF.
3) La siguiente tabla recoge la informacin de cinco procesos que se van a ejecutar en un sistema.
Trabajo
10
Calcular el tiempo de retorno de cada uno de los trabajos y representar la ejecucin en diagramas de Gantt para los
siguientes algoritmos:
a)
b)
c)
FCFS
SRT
RR, con quantum de 2 ms. Si el quantum de un proceso en ejecucin expira a la vez que la llegada de un
nuevo proceso, entonces ste se aade 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 estn 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 tardarn las tareas en completarse si fueran las nicas del sistema, y los tiempos mximos
permitidos (tiempo mximo entre el comienzo de la tarea hasta su finalizacin)
Suponiendo que ninguna tarea realiza ninguna operacin de e/s, decir si todas las tareas se realizarn sin
problemas (es decir, se realizan antes de su tiempo mximo permitido, no dando un error denominado time_out),
Se pide:
Dibujar un diagrama de Gantt de las tareas
20
Orden en la cola
Cuantos asignados
160
540
280
1000
200
800
200
900
400
Infinito
5) La siguiente tabla muestra informacin de cinco procesos. Calcular el tiempo de retorno de cada uno (despreciar el
tiempo de cambio de contexto) y representar la ejecucin en diagramas de Gantt para los algoritmos:
6)
a)
SJF
b)
RR, con quantum de 4 ms. Si el quantum de un proceso en ejecucin exprira a la vez que la llegada de un
nuevo proceso, entonces el nuevo proceso se aade a la cola de procesos en espera de ejecutarse antes
que el proceso que termina.
Trabajo
14
12
19
La siguiente tabla recoge la informacin 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 ejecucin en diagrama de Gantt para los siguientes
algoritmos:
21
a)
FCFS
b)
SJF
c)
RR, con quantum de 2 ms. Si el quantum de un proceso en ejecucin expira a la vez que la llegada de
un nuevo proceso, entonces el nuevo proceso se aade a la cola de procesos en espera de ejecutarse
antes que el proceso que termina.
d)
Lo mismo pero con RR con prioridades, teniendo en cuenta que la mxima prioridad corresponde a 4 y
la mnima a 1.
Despreciar el tiempo necesario para el cambio de contexto.
22
Trabajo
Tiempo de llegada ms
Tiempo de ejecucin
ms
Prioridad