Вы находитесь на странице: 1из 14

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

TEMA 7. GESTIN DE PROCESOS


1. E L BLOQUE DE CONTROL DE PROCESOS ......................................................................................... 1
1.1.- CAMBIO DE CONTEXTO............................................................................................................... 2
2. ESTADO DE LOS PROCESOS............................................................................................................ 2
2.2.- TRANSICIONES DE ESTADO.......................................................................................................... 3
2.3.- OPERACIONES SOBRE PROCESOS.................................................................................................. 4
2.4.- P RIORIDADES. ............................................................................................................................ 4
2.5.- TIPOS DE PROCESOS.................................................................................................................... 4
a). Segn uso y forma de cdigo. ........................................................................................................ 4
b). Segn capacidad de acceso al microprocesador y recursos............................................................... 4
c). Segn la forma de ejecucin........................................................................................................... 5
3. PLANIFICACIN DEL PROCESADOR................................................................................................ 5
3.1.- OBJETIVOS................................................................................................................................. 5
3.2.- CRITERIOS. ................................................................................................................................ 5
3.3.- MEDIDA..................................................................................................................................... 6
3.4.- ALGORITMOS............................................................................................................................. 6
a). FCFS............................................................................................................................................ 7
b). Round-Robin (RR)........................................................................................................................ 8
c). El siguiente proceso, el mas corto (Shortest Job Next, SJN). ............................................................ 9
d). Prximo proceso, el de tiempo restante ms corto (Shortest Remaining Time SRT)........................... 9
e). Prioridades...................................................................................................................................10
f). Prximo el de mas alto ndice de respuesta (HRN. High Response Next)..........................................10
g). Colas Mltiples............................................................................................................................11
3.5.- P ROCESO EN PARALELO E INTERBLOQUEO ...................................................................................11
a). Conceptos....................................................................................................................................11
b). Exclusin mutua. .........................................................................................................................11
c). Sincronizacin. ............................................................................................................................12
3.6.- INTERBLOQUEO .........................................................................................................................13

1. El bloque de control de procesos.


Un proceso se representa desde el punto de vista del sistema operativo por un conjunto de
datos donde se incluye el estado en cada momento recursos utilizados, registros, etc. Esto se
denomina el bloque de control de proceso, que persigue dos objetivos:
1. Localizar informacin til para el sistema operativo.
2. Mantener registrado los datos en caso de tener que suspender temporalmente un
proceso.
La informacin contenida en el PCB es la siguiente: (Program Control Black)
Estado del proceso: informacin del contenido del contador del proceso, el estado del
procesador, modo de ejecucin y al estado de los registros internos del
microprocesador
Estadsticas de tiempo y ocupacin de recursos para la gestin de la planificacin del
procesador.
Ocupacin de memoria interna y externa para el intercambio o swapping.
Recursos en uso, normalmente unidades de E/S.
Archivos en uso.
Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

Privilegios.

Los datos relativos al estado del proceso se encuentran en memoria principal.


1.1.- Cambio de contexto.
Cuando un proceso pasa de un estado de ejecucin a otro de espera hay que guardar toda
su informacin actualizada con la finalidad de que cuando se reanude su ejecucin lo haga en las
condiciones en las que se suspendi.

2. Estado de los procesos.


Un proceso se puede encontrar activo o inactivo.
Estados activos.
Son aquellos procesos que compiten o estn en condiciones de hacerlo por la atencin del
microprocesador:
Procesos en ejecucin. Aquellos que se encuentran ejecutndose por el procesador.
En un sistema monoprocesador solo puede haber un proceso en ejecucin en un
instante concreto. En un sistema con n procesadores puede haber n procesos en
ejecucin.
Procesos preparados. Son aquellos que estn dispuestos para ser ejecutados, estn en
la cola de espera.
Procesos bloqueados. Son aquellos que no pueden ejecutarse porque necesitan algn
recurso que no est disponible, normalmente dispositivos de e/s.
Estados Inactivos.
Son procesos que no han terminado su trabajo pero pueden volver a competir por el
procesador. Su PGB se encuentra aparcado hasta que pueda volver a ser activado.
Encontramos:
Procesos suspendidos bloqueados: La causa que produjo la inactividad no ha
desaparecido.
Procesos suspendidos preparados: Se encuentran suspendidos pero no hay causa para
su bloqueo.
Dependiendo de su estado, los procesos estarn en algunas de las colas, las cuales son
gestionadas por el gestor de trabajos o el gestor de procesos siguiendo algn algoritmo.

Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

2.2.- Transiciones de estado.

Fig.: 1. Estados de un proceso y sus transiciones.

1. Comienzo de la ejecucin: Todo proceso comienza al ser dada la orden de ejecucin y se


inserta en la cola de preparados.
2. Paso a estado de ejecucin: Cuando el procesador se encuentra inactivo y existe algn
proceso preparado.
3. Paso a bloqueado: Cuando un proceso en ejecucin espera con un dispositivo de E/S u otra
causa. Su PCB se colocar en la cola de trabajos bloqueados
4. Paso a preparado: 4 causas:
- Cuando hay una orden de ejecucin de un programa.
- Si un proceso est bloqueado y la situacin que lo motiva desaparece.
- Si un proceso est en ejecucin y aparece una interrupcin que fuerza al S.O a ejecutar
otro proceso, el 1 pasa a preparado y su PCB a la cola del preparado.
- Activacin: un proceso suspendido sin estar bloqueado pasa al estado de preparado
cuando se activa nuevamente.
5. Paso a suspendido bloqueado: Cuando el S.O recibe la orden de suspender un proceso
bloqueado.
6. Paso a suspendido preparado: 3 causas:
- Suspensin de un proceso preparado pasando desde la cola del proceso preparado a la de
suspendido preparado.
- Suspensin de un proceso en ejecucin.
- Cuando se desbloquea un proceso que estaba suspendido por bloqueo.

Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

2.3.- Operaciones sobre procesos

Crear el proceso.
Un proceso se crea cuando se da la orden de ejecucin y suele necesitar varios
argumentos como por ejemplo su nombre y la prioridad, en este momento se crea su
PCB. La creacin de un proceso suele ser de dos tipos:
o Jerrquica: donde cada proceso que se crea es hijo de otro proceso y hereda su
entorno de ejecucin.
o No jerrquica: Cada proceso es independiente y tiene su propio entorno de
ejecucin.
Destruir un proceso.
Se trata de la eliminacin de un proceso y de su PCB.
Suspender un proceso.
Es una operacin de alta prioridad que paraliza un proceso que posteriormente puede ser
reanudado.
Reanudar un proceso.
Activar un proceso que ha sido previamente suspendido
Cambiar la prioridad de un proceso.
Temporizar la ejecucin de un proceso.
Hace que un determinado proceso se ejecute cada cierto tiempo
Despertar un proceso.
Desbloquear un proceso bloqueado

2.4.- Prioridades.
En general todo proceso lleva aparejadas necesidades de ejecucin en cuanto a su urgencia
y asignacin de recursos mediante unas prioridades que el sistema operativo le otorga o el propio
propietario del proceso.
Puede haber prioridades estticas no pueden ser modificadas durante la ejecucin del
proceso o dinmicas que si pueden ser variadas.
Estas prioridades van servir para que el proceso pueda tener preferencias sobre otros.
2.5.- Tipos de procesos.
a). Segn uso y forma de cdigo.

Reutilizables: Aquellos que pueden cambiar los datos que utilizan, pero si
vuelven a utilizar los datos necesitan comenzar en su estado inicial y procesar
nuevos datos.
Reentrantes: no tener asociados datos.

b). Segn capacidad de acceso al microprocesador y recursos.

Apropiativos: son aquellos que al tener asignado un recurso no permiten que


otro proceso pueda acceder a l hasta que hayan terminado.
No apropiativos: permiten a otros procesos que puedan acceder a un recurso
que el utiliza.

Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

c). Segn la forma de ejecucin.

Residentes: permanecen en memoria todo el tiempo que dure su ejecucin


Intercambiables: pueden ser sacados de memoria cuando se encuentren
bloqueados u otro estado.

3. Planificacin del procesador.


Son los mecanismos que utilizan los sistemas operativos para gestionar la utilizacin del
microprocesador, se conoce como Scheduller o planificador.
Bsicamente se distinguen tres niveles de planificacin:
a) Planificacin a largo plazo o planificador de trabajos: decide cual ser el prximo
trabajo que se va a ejecutar. En los sistemas de tiempo compartido se encarga de crear
los procesos y cargarles en memoria.
b) Planificador a medio precio o de swapping: decide si un proceso que esta en
ejecucin, en estado bloqueado o suspendido debe ser sacado de memoria
temporalmente.
c) Planificador a corto plazo o planificador del procesador: decide como y cuando tendr
acceso al procesador que esta preparado para ser utilizado.
3.1.- Objetivos.

Se intentara no favorecer o perjudicar a unos procesos frente a otros.


Mxima capacidad de ejecucin, se logra disminuyendo el numero de cambios de contexto.
Predicibilidad, en todo momento se podr saber como se est ejecutando la planificacin.
Minimizar la sobrecarga, tambin est estrechamente relacionado con la cantidad de cambios
de contexto.
Equilibrio en el uso de recursos, intentar que los recursos estn ocupados equitativamente el
mayor tiempo posible.
Seguridad de las prioridades, si un proceso tiene mayor prioridad que otro este debe
ejecutarse ms rpidamente.
3.2.- Criterios.

A la hora de disear un algoritmo de planificacin se deben tener en cuenta los siguientes


criterios:

Tiempo de respuesta: Velocidad con la que el ordenador da respuesta a una peticin, depende
mucho de los dispositivos de entrada - salida.

Tiempo de servicio: Tiempo que tarda en ejecutarse un proceso incluyendo su carga en


memoria, el tiempo de espera en la cola de preparados, el tiempo de ejecucin en el
procesador y el tiempo consumido en las operaciones de E/S.

Tiempo de ejecucin: igual al tiempo de servicio menos el tiempo de espera en preparados.


Seria el tiempo que dedicara el procesador a un proceso si este fuese el nico en el sistema.

Tiempo de procesador: tiempo que un proceso utiliza el procesador sin contar el tiempo que
se encuentra bloqueado.

Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

Tiempo de espera: es el tiempo en que los procesos estn activos pero sin ser ejecutados es
decir, los tiempos de espera en las distintas colas.

Eficiencia: es el rendimiento del procesador.

Rendimiento: es el numero de trabajos o procesos realizados en la unidad de tiempo.


3.3.- Medida.

Para estudiar el comportamiento de los diferentes algoritmos de planificacin definimos


dos medidas relacionadas entre si que nos indica como estamos tratando un proceso, estas son: el
tiempo de servicio(T) y el tiempo de espera (E). T(tiempo servicio)=tf-ti
E=T-t
Donde: t = tiempo de ejecucin.
ti = instante en que el usuario da la orden de ejecucin.
Tf =Instante en que el proceso termina.
A partir de los valores anteriores podemos establecer una relacin denominada ndice de
servicio. Que es I = t/T. Representa el tanto por uno de tiempo que el proceso esta en ejecucin
respecto al tiempo de vida del mismo en el sistema.
En el caso de multiprogramacin hablaremos de tiempos medios de servicio, tiempos
medios de espera y eficiencia.
As mismo tendremos en cuenta:
Tiempo del ncleo (Tiempo que consume el ncleo del sistema operativo para tomar
todas las decisiones del sistema de planificacin)
Tiempo de inactividad o Idle: Tiempo de inactividad: tiempo consumido cuando la cola
de preparados est vaca.
3.4.- Algoritmos.
Como ya hemos visto el planificador a corto plazo, asigna tiempo de ejecucin a los
procesos que estn en la cola de preparados, la cual se alimenta de dos formas:
i) Cada vez que el usuario inicia una aplicacin, el planificador a largo plazo crea el
proceso y lo pasa al planificador a corto plazo colocndose en la cola de preparados.
ii) Cuando un proceso deja de estar en estado de ejecucin o deja de estar bloqueado
pasa a la cola de preparados.
(Recordar el esquema de los estados de un proceso y sus transiciones).
Por otro lado cuando un proceso termina su ejecucin deja de existir para el planificador.
Los algoritmos de planificacin se agrupan en:
a) Apropiativos: el proceso que est haciendo uso del procesador puede ser
temporalmente suspendido y permitir que otro se apropie del uso del
procesador.
b) No apropiativos: el proceso no abandona nunca el procesador hasta que no
finaliza.
Para el estudio de los diferentes algoritmos utilizaremos tablas donde tendremos listados
los procesos y sus datos, tales como, instante de llegada, tiempo de ejecucin, prioridad, etc. As
mismo utilizaremos grficas donde representar en el tiempo los procesos (Diagrama de Gantt).
(Por otro lado supondremos que no es siempre as en la realidad que los procesos no realizan

Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

operaciones de entrada y salida. La unidad de tiempo que utilizaremos es una medida abstracta, y
el indice medio de servicio o eficiencia se suele expresar en porcentaje).
a). FCFS.

El procesador ir ejecutando cada proceso por orden de llegada hasta que lo

finaliza.
Sencillo y simple pero de poco rendimiento.
Se caracteriza por:
No es apropiativo.
Los procesos largos hacen esperar a los cortos.
Es predecible, es decir, podemos saber a priori como se llevar a cabo la planificacin.
Tiempo medio de servicio es muy variable y depende del numero de procesos y su duracin.

Ejemplo:
Se pide calcular los datos restantes y las media de T, E, I. Y el diagrama de Gantt
correspondiente aplicando algoritmos de FCFS:
Tenemos la siguiente tabla de procesos:
T(tiempo servicio)= Final Llegada.
E(tiempo espera)= T T. ejecucin.
I(ndice de servicio) = T. Ejecucin / T.
Proceso
A
B
C
D
E

Llegada
0
1
4
5
8

T. Ejecucin
3
5
2
6
4

Finaliza
3
8
10
16
20

T(servicio)

3
7
6
11
12
7.8

11

A0
0

I(iservicio)
1.00
0.71
0.33
0.55
0.33
0.58

12

E(espera)
0
2
4
5
8
3.8

Prof.: Justo Sez Arenas

10

12

14

16

18

20

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

b). Round-Robin (RR).

Tambin se denomina asignacin cclica o planificacin en rueda. Intenta ser ms justo


que el FCFS a la respuesta tanto de procesos cortos como largos.
Consiste en conceder a cada proceso un periodo de tiempo q (quantum) transcurrido el
cual si el proceso no ha terminado vuelve a la cola de preparados y entrando a ejecucin el
siguiente proceso. Este proceso se realiza repetidamente hasta que se terminen los procesos.
A la hora de gestionar la cola de preparados podemos aplicar una poltica FIFO o una de
prioridades.
Variando el quantum se obtienen diferentes comportamientos; a mayor q ms tiempo
necesita el proceso ms largo, si q es muy pequeo podemos sobrecargar el sistema al
incrementar mucho el numero de cambios de contexto.
Las caractersticas de este algoritmo son:
Baja sobrecarga, si el cambio de contexto es eficiente y los procesos siempre estn en
memoria principal.
El tamao optimo del quantum depende de:
S El tipo de sistema.
S Cargas que vaya a soportar el sistema.
S Nmero de procesos que tenemos y su tipo.
S Es la poltica que ms se utiliza para sistemas de tiempo compartido.
S Se obtiene un ndice de servicio uniforme para todos los procesos.
S Es una poltica apropiativa.
Ejemplo:
Se pide calcular los datos restantes y las media de T, E, I. Y el diagrama de Gantt
correspondiente aplicando algoritmos de FCFS:
Tenemos la siguiente tabla de procesos:
T(tiempo servicio)= Final Llegada.
E(tiempo espera)= T T. ejecucin.
I(ndice de servicio) = T. Ejecucin / T.
Teniendo un quantum de 1. q = 1
Si un proceso finaliza sin haber agotado su quantum entrara inmediatamente el siguiente
proceso con su respectivo quantum.
Los procesos que van saliendo se colocan al final.
Si un proceso comienza en el mismo momento que acaba un quantum se considera que ha
llegado a la cola antes de que finalice ese quantum.
Proceso
A
B
C
D
E

Llegada
0
1
4
5
8

Prof.: Justo Sez Arenas

T. Ejecucin
3
5
2
6
4

Finaliza
5
13
9
20
18
medias

T(servicio)

5
12
5
15
10
9.4

E(espera)
2
7
3
9
6
5.4

I(iservicio)
0.60
0.42
0.40
0.40
0.40
0.44

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

0 1 2
20
A B A
A

A
B

5
C

8
C

10 11 12 13

14

15 16 17 18 19
E

A
B

C
D

D
E

q=3
A

A
B

B
C

C
D

D
E

c). El siguiente proceso, el mas corto (Shortest Job Next, SJN).

Es una poltica de planificacin no apropiativa que trata de cubrir los mismos objetivos
que Round Robin. Consiste en tomar de la cola de preparados aquel proceso que necesite menos
tiempo de ejecucin, para ello se debe conocer el tiempo que necesita cada proceso lo cual no es
fcil pero se pueden conseguir unas aproximaciones a travs de diversos mtodos que el sistema
operativo utiliza para estimar el tiempo de ejecucin.
SJN es bueno para los procesos cortos y salen perjudicados los largos. Sus caractersticas
principales son :
No es apropiativo.
El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el
tiempo medio de espera con respecto a otros algoritmos es optimo.
Es poco predecible.
Perjudica los procesos largos.
Se obtiene un buen tiempo de servicio.
Resulta difcil de poner en prctica por los datos que necesita para realizarse la
aplicacin.
(Mirar ejercicio en hoja)

d). Prximo proceso, el de tiempo restante ms corto (Shortest Remaining


Time SRT).

Es una mezcla de los RR y SJN, para ello cambia el proceso que esta en ejecucin por
otro que exige menos tiempo de ejecucin mediante apropiacin de procesador.
El tiempo de respuesta medio de los procesos largos es mejor que en SJN, presenta un
excelente ndice de servicios (I) y el tiempo de espera (E) es bastante corto para la mayora de
Prof.: Justo Sez Arenas

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

los procesos. Consigue una buena eficiencia ya que logra que la lista de preparados sea lo ms
corta posible.
Sus principales caractersticas son :
Es una variante de SJN para hacerlo apropiativo.
Puede ser injusto ya que un proceso corto puede echar a uno largo que est haciendo
uso del procesador y que adems est terminando.
Presenta una mayor sobrecarga.
Excelente tiempo medio de servicio.
Es muy eficiente.
e). Prioridades.

En este algoritmo se asocia a cada proceso una prioridad de forma que se ejecutarn antes
los procesos de mayor prioridad. Las prioridades se pueden asignar interna o externamente, en el
primer caso el sistema operativo realiza unos clculos y asigna prioridades en base a criterios
como tiempos de ejecucin, necesidad de memoria, etc.; las prioridades externas las asigna el
usuario u otro programa.
El principal problema que puede surgir es el bloqueo o postergacin indefinida, ya que un
proceso de baja prioridad puede estar esperando su turno indefinidamente, una forma de evitar
esta postergacin es lo que se denomina envejecimiento de prioridades y consiste en aumentar
gradualmente las prioridades de los procesos que estn en espera.
Este algoritmo puede estar basado tanto en polticas apropiativas como no apropiativas,
en el caso de utilizar un criterio apropiativo, un proceso puede ser retirado si aparece otro de
mayor prioridad.
f). Prximo el de mas alto ndice de respuesta (HRN. High Response Next).

Este algoritmo intenta corregir las injusticias de SJN con los procesos largos o del FCFS
con los procesos cortos.
Se basa en hacer variables la prioridad de los procesos recalculandola constantemente
desacuerdo a la expresin.
P = (W + t) / t

P es prioridad del proceso.


W es tiempo que lleva esperando el proceso en cola preparados.
T es tiempo de ejecucin.

De esta expresin se deduce que la prioridad varia en relacin de W y t, de forma que


al principio P tiene un valor de 1 que ir creciendo paulatinamente segn permanezca en la
cola de preparados y va decreciendo cuanto ms tiempo est en ejecucin.
Las caractersticas de este algoritmo son:
No es apropiativo.
Bastante justo con procesos cortos y largos.
Es costoso de poner en prctica.
Produce una sobrecarga en el sistema, debido al tiempo que se necesita para hacer los
clculos y los cambios de contexto.
(mirar ejemplos)
Prof.: Justo Sez Arenas

10

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

g). Colas Mltiples.

Los procesos que van a ser ejecutados se agrupan y se asignan a diferentes colas cada una
puede tener su propia planificacin. Para decidir que cola tomar normalmente se utiliza un
algoritmo apropiativo de prioridad fija.
Un mtodo que se utiliza son las colas mltiples con realimentacin o Feedback Multiple
Queues (FB). Cuando el proceso que hace uso del procesador finaliza su quantum se selecciona
un nuevo proceso del principio de la cola. Cuando un proceso consume sus quantum en una cola
pasa a la siguiente. Caractersticas:
Es apropiativo.
Soporta bien la sobrecarga del sistema.
Es muy adaptable a las necesidades del sistema, ya que cada cola puede ser gestionada de
forma diferente.
3.5.- Proceso en paralelo e interbloqueo.
a). Conceptos.

Paralelismo: es la ejecucin de diversas actividades simultneamente en varios


procesadores, si slo existe un procesador en multiprogramacin hablamos de
pseudoparalelismo.
Concurrencia: varias actividades ejecutndose simultneamente, necesitarn sincronizarse
para actuar de forma conjunta, por ejemplo, si dos actividades necesitan escribir un mismo
fichero ser necesario establecer un orden e indicar cual de ellas ha escrito.
A continuacin vemos una serie de problemas que pueden surgir debido a la concurrencia
de actividades
b). Exclusin mutua.

Supuesto.
Tenemos un archivo formado por registros de cinco campos.
DNI
Nombre
Ap1
Ap2
Domicilio
Para que un registro sea valido debe estar actualizado en todo momento, as si
modificamos el campo DNI los dems campos deben ser coherentes
Si en el momento que un proceso escribe o modifica un registro existe otro proceso que
quiere leer el registro puede que se obtengan datos errneos. Para evitar esta situacin debemos
sincronizar las actividades de forma que cuando una esta escribiendo no permitimos que otro lea.
En el momento en que cambiamos de un proceso o actividad a otra se pueden producir las
siguientes actividades:
Sin sincronizacin entre procesos.
Si no sincronizamos corre el riesgo de leer datos inconsistentes.
Con sincronizacin entre procesos.
Prof.: Justo Sez Arenas

11

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

Utilizamos algn mecanismo que prohibe la lectura a cualquier proceso mientras


se est escribiendo. Esta sincronizacin es lo que conocemos como exclusin
mutua. La zona de cdigo de un proceso que no puede ser interrumpida por otro
se conoce como seccin crtica.
c). 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.
Se disean algoritmos para realizar esta operacin y podemos clasificarles en tres grupos:
Espera Activa: se establece la espera de entrada a la seccin crtica mediante un bucle
que se romper cuando se cumpla una determinada condicin. Se denomina activa
porque ele proceso no queda bloqueado durante su ejecucin sino que estar
compitiendo por el uso del procesador. Estos algoritmos sobrecargan el sistema
innecesariamente.
Tenemos tres tipos:
Espera con Mutex: se utiliza un switches o mutex a travs del cual se produce
la sincronizacin.
Algoritmos de alternancia: mejores que el anterior aunque tambin utilizan
una variable turno.
Algoritmo Dekker: resuelve el problema mediante la solucin propuesta por
Dekker que basa su funcionamiento en una tabla de switches.
Espera No activa: son algoritmos que establecen la espera para entrar en la seccin
crtica bloqueando el proceso hasta que se cumpla una condicin de desbloqueo.
Entre ellos tenemos a los siguientes:
Semforos: diseados por Dijkstra se basan en un mecanismo que utiliza una
variable entera como contador de peticiones de entrada a una seccin crtica.
Regiones crticas: slo permiten que los datos compartidos puedan ser
accedidos desde determinadas regiones del cdigo. No permiten que varias
actividades puedan leer simultneamente.
Monitores: en los mecanismos anteriores el programador deba proporcionar la
forma de sincronizacin. Para ellos se disea el monitor que permite compartir
datos entre varias actividades sin necesidad que el programador indique como.
Se basa en dos premisas: una consiste en separar las operaciones a ejecutar
sobre los datos, de los detalles de diseo propios de los mismos, otra es
realizar la exclusin mutua tal cual. Bsicamente consiste en reunir todas las
funciones que operan sobre un conjunto de datos compartidos en un solo
modulo de forma que todos los acceso a esos datos estarn forzados a utilizar
dichas funciones.
Mensajes: se basa en permitir a los procesos comunicarse entre s mediante
mensajes que utilizan una zona de memoria compartida oculta y gestionada
por el sistema operativo, de esta forma un proceso que quiere enviar un
mensaje a otro lo deja en la zona compartida donde lo leer el otro.
Llamadas remotas: cuando un proceso se ejecuta se crea una copia del mismo
que se sigue ejecutando de forma concurrente y hasta que no termina un
proceso no comienza otro. Se utiliza en programas que necesitan iniciarse
tantas veces como usuarios lo solicitan.
Prof.: Justo Sez Arenas

12

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

Rendez-vous: es una modificacin del de llamada remotas pero solo se crea


una copia de un grupo de sentencias.
Mecanismos Hardware: son mecanismos que aseguran la exclusin mutua mediante
soluciones del propio hardware. Las ms utilizadas son las siguientes:
- Deshabilitar interrupciones: consiste en la posibilidad hardware de no atender
las interrupciones que no nos interesen porque violen la exclusin mutua. Esta
atencin a las interrupciones puede ser habilitada o deshabilitada segn nos
interese.
- Instruccin Test-And-Set: es una instruccin del microprocesador que fuerza
la exclusin mutua. Por s sola no asegura la exclusin pero basndonos en
ella construimos los denominados locks.
- Lock: se basa en la instruccin anterior y su cometido es permitir el acceso a
la seccin crtica a un proceso en caso de no existir otra actividad dentro de su
seccin crtica, no permitindolo en caso contrario.

3.6.- Interbloqueo.
Es la situacin a la que se llega cuando un conjunto de procesos en estado de espera
puede continuar su ejecucin (por ejemplo, cuando un puente de va estrecha quieren entrar
varios coches a la vez).
El interbloqueo interfieren cuestiones como:
Recursos: elementos que un programa o proceso puede utilizar en el ordenador ya
sean dispositivos hardware como software. El problema consiste en aquellos recursos
que solo pueden ser utilizados por un proceso en un momento dado, en este caso se
siguen la secuencia: solicitar el recurso, optimizarlo y liberarlo.
Bloqueo o abrazo mortal (deadlock): se produce cuando a todos los procesos en
espera ninguno de ellos puede producir un suceso que solucione la situacin.
Postergacin indefinida: se produce cuando un proceso queda en espera indefinida
por algn recurso mientras los otros procesos son atendidos por el sistema. Esto se
suele producir en sistemas gestionados por prioridades (como vimos, se solucionaba
mediante el envejecimiento de prioridades).
Condiciones del interbloqueo: un conjunto de procesos llega al interbloqueo si se
producen las siguientes condiciones:
-. Exclusin mutua: existe al menos un recurso compartido al que solo puede
acceder un proceso.
-. Posesin y espera: un proceso tiene asignado un recurso pero no continua
porque espera otro recurso.
-. No apropiacin: los recursos no pueden ser liberados por el sistema u otros
procesos, solamente por el proceso que los utiliza, lo que puede producir
interbloqueos, esto se solucionara si el sistema u otros procesos pudiesen
apropiarse de otros recursos.
-. Espera circular: un proceso espera un recurso que utiliza otro proceso y este a su
vez espera un recurso que utiliza el primero.
Tratamiento de interbloqueo: existen cuatro estrategias para tratar el interbloqueo:

Prof.: Justo Sez Arenas

13

Sistemas Informticos Multiusuario y en Red

T-7.- Gestin de procesos.

Ignorar: no hacer caso al interbloqueo y el sistema sigue bloqueado, solucin


reiniciar el sistema
Prevenir: evitar alguna de las cuatro condiciones anteriores que producen el
interbloqueo.
Evitar: podemos evitar los interbloqueos haciendo un estudio previo de los
recursos que necesitara cada proceso y de esta forma aplicar un algoritmo (ej. El del
banquero, para planificar la utilizacin de los recursos).
Detectar y recuperar: consiste en abortar un proceso cuando existen indicios de
que est produciendo un interbloqueo. El sistema operativo puede abortar el proceso en
base a:
1. Prioridades: se elimina el de ms baja prioridad.
2. Tiempo de procesador usado, eliminar el que ms tiempo lleve
ejecutndose.
3. Tipo de recursos utilizados: eliminamos los procesos que utilizan recursos
crticos.
4. Necesidades de recursos: eliminamos los procesos que necesitan muchos
recursos.
5. Facilidad de suspensin/reanudacin: eliminamos aquellos procesos cuyo
trabajo perdido sea fcil de recuperar posteriormente.

Prof.: Justo Sez Arenas

14

Вам также может понравиться