Vous êtes sur la page 1sur 124

Tema 2: GESTIN DE

PROCESOS

Iaki Fernndez de Viana y Gonzlez


(i.fviana@diesia.uhu.es)
Juan Manuel Crdoba Malagn
(juanmanuel.cordoba@diesia.uhu.es)
Pedro Abab Herrera
(ababhe@uhu.es)
Miguel ngel Vlez Vlez
(velez@uhu.es)

Tema 2: GESTIN DE PROCESOS

ndice

ndice

1.

Introduccin.

2.

Concepto de proceso.

3.

Estados de un proceso.

4.

Transiciones de estado de los procesos.

5.

Procesos e hilos (procesos ligeros o threads).

6.

El bloque de control de procesos (PCB).

7.

Operaciones sobre procesos.

8.

Interrupciones.

9.

Planicacin de procesos

a)

Niveles de planicacin.

b)

Objetivos de la planicacin.

Tema 2: GESTIN DE PROCESOS

ndice

c)
d)

Medidas.

e)

Algoritmos de planicacin.

f)

Planicacin en POSIX.

g)

Planicacin en Windows NT 2000.

h)
10.

Criterios de planicacin.

Planicacin clsica en UNIX.

Mecanismos de sincronizacin entre procesos.

Tema 2: GESTIN DE PROCESOS

Bibliografa

Bibliografa

Referencias
[MORERA.95] Morera Pascual, Juan; Prez Campanero,
Juan A. Teora y diseo de los sistemas

operativos. Anaya Multimedia, 1995.


[TANENB.03]

Tanenbaum, Andrew S. Sistemas opera-

tivos modernos. Prentice-Hall, 2003.


[STALLI.01]

Stallings, William. Sistemas Operativos.


Prentice-Hall 2001.

[CARRET 01]

Jess Carretero, Flix Garca, Pedro De


Miguel,

Fernando

Prez.

McGraw-Hill,

2001.

[SILBERS.99]

A. Silberschatz, J. Peterson, P. Galvin.

Sistemas operativos. Conceptos fundamentales. Addison-Wesley, 1999.

Tema 2: GESTIN DE PROCESOS

1 Introduccin

1 Introduccin

Antes introducir el concepto de proceso repasaremos


los siguientes conceptos:

Registros.

Ejecucin de instrucciones.

Niveles de ejecucin.

Interrupcin de reloj.

Tema 2: GESTIN DE PROCESOS

1.1 Registros

1.1 Registros

La arquitectura de registros depende de la mquina.

Ofrecen el nivel de memoria ms rpido y pequeo.


Se dividen en dos grandes grupos:

Registros visibles por el usuario

: estn dispo-

nibles para el programador (el compilador los puede


usar para optimizar). Se clasican en:

Registros de datos (AX, BX,...): son de propsito general con restricciones (p. ej. slo para
operaciones en coma otante).

Registros de direccin: contienen direcciones de


memoria de datos e instrucciones. A veces estn
dedicados a un modo concreto de direccionamiento:
Registro ndice (SI,DI): para direccionamiento
indexado (base + ndice).
Puntero de segmento (CS,DS): para direccionamiento segmentado (CS,DS). La memoria
est dividida en segmentos.
Puntero de pila(SP): contiene la direccin de
la cima de la pila.

Tema 2: GESTIN DE PROCESOS

1.1 Registros

Registro de cdigo de condicin(FLAGS) : bits


activados como resultado de determinadas operaciones. Se agrupan en uno o ms registros.

No todas las mquinas salvan estos registros al


llamar a una subrrutina de tratamiento de interrupciones.

Registros de control y estado

: para la ejecu-

cin de instrucciones son esenciales los siguientes:

Contador de programa (PC) : la direccin de la


prxima instruccin a leer.

Registro de Instruccin (IR) : la ltima instruccin


leda.

Palabra de estado del los elementos del sistema


(PSW) : es un conjunto de registros que contiene
informacin de estado (cdigos de condicin y
otra informacin). Entre otros: bits de signo, bits
de cero, bits de acarreo, igualdad, desbordamiento, habilitar/deshabilitar interrupcin, supervisor,
...

Otros registros de estado: registros con punteros


a rutinas de tratamiento de interrupcin, direccin de memoria con ms informacin de estado,
etc.

Tema 2: GESTIN DE PROCESOS

1.1.1 Ejemplo - Procesador de 64 bits Intel Itanium

1.1.1 Ejemplo - Intel Itanium 64 bits

o de

Tipo de

Tamao (Bits)

Nomenclatura

Registro

registros

Propsito

128

54+1

gr0..gr127

Coma Flotante

128

82

fr0..fr127

Prediccin

64

pr0..pr63

Branch

64

br0..br7

Propsito

128

64

ar0..ar127

General

General 64 bits

Tema 2: GESTIN DE PROCESOS

1.2 Ejecucin de instrucciones

1.2 Ejecucin de instrucciones

Los pasos que realiza un procesador para ejecutar un


programa se denomina

ciclo de instruccin. Estos

son:
1.

Trae la instruccin desde memoria, en IR se almacena el contenido indicado por PC.

2.

Ejecucin de la instruccin.

Estos pasos se repiten hasta acabar el programa:

P1icio

Leervsiguie1te
i1strucci1

pdecutar
i1strucci1

Ciclovlectura

Ciclovedecuci1

Fi1

Tema 2: GESTIN DE PROCESOS

1.2 Ejecucin de instrucciones

El procesador interpreta la instruccin, esta puede ser:

Procesador / memoria: transere datos de procesador a memoria y viceversa.

Procesador- E/S: transere datos de o desde procesador a mdulos de E/S (dispositivos).

Tratamiento de datos: el procesador realiza alguna


operacin aritmtica o lgica de los datos.

Control: se altera la secuencia de ejecucin (saltos,


saltos condicionales ...). Esto se realiza ajustando
el valor de PC.

Otras instrucciones.

Tema 2: GESTIN DE PROCESOS

1.3 Niveles de ejecucin

1.3 Niveles de ejecucin

Existen dos niveles de ejecucin del procesador:

Nivel de usuario:

en este modo se ejecutan

los programas de usuario, tiene ciertas restricciones


(subconjunto de instrucciones y registros, prohibidas E/S directamente, etc.).

Nivel del ncleo (modo supervisor):

es

el nivel en el que se ejecuta el ncleo y no tiene


restricciones.

Por tanto la computadora presenta dos

modelos

de programacin. Uno ms restrictivo y otro ms


permisivo.

El cambio del nivel de ejecucin se realiza modicando


uno o varios bits del registro de estado.

Tema 2: GESTIN DE PROCESOS

10

1.3.1 Niveles de ejecucin Windows 2003 Server

1.3.1 Niveles de ejecucin Windows


2003 Server

Tema 2: GESTIN DE PROCESOS

11

1.4 Interrupcin de reloj

1.4 Interrupcin de reloj

El trmino reloj se aplica a:

Seal que marca el ritmo de ejecucin de instrucciones.

Generador de interrupciones peridicas.


Contador de fecha y hora.

La seal producida por el oscilador que gobierna la


ejecucin de instrucciones se divide para generar una
interrupcin cada cierto tiempo (20 ms).

Estas interrupciones se denominan

de reloj.

interrupciones

Objetivo: provocar que el S.O tome el control mediante la RSI (Rutina de Servicio de la Interrupcin) del
reloj.

Tema 2: GESTIN DE PROCESOS

12

2 Concepto de proceso

2 Concepto de proceso

Aparece con los sistemas multiprogramados.

Qu es un proceso?

Un programa en ejecucin que comprende el valor


actual del contador de programa, de los registros y
de las variables (mquina virtual).

Es la unidad de procesamiento gestionada por el


SO, el procesador est conmutando entre un proceso y otro.

Es una entidad dinmica ya que es una instancia


de un programa (entidad esttica) en ejecucin.

Tema 2: GESTIN DE PROCESOS

13

3 Estados de un proceso

3 Estados de un proceso

Un SO multiusuario y multitarea se caracteriza por:

Memoria principal capaz de almacenar varios procesos.

Alternancia en los procesos de fases de E/S y de


procesamiento.

Paralelismo real entre E/S y procesador.

Estan caractersticas hacen necesario denir los posibles estados en los que puede estar un proceso.

Estados por los que puede pasar un proceso a lo largo


de su vida:
P1

Putpouods
<<create>>

P1

B7sqCtods

icoLervs

aFtLCLrlc
Tema 2: GESTIN DE PROCESOS

14

3 Estados de un proceso

Estados

Inactivo: el proceso no ha sido creado (programa).


Preparado: tiene todos los recursos menos el
micro. El planicador asigna la CPU a alguno de
los procesos preparados.

Ejecucin: el proceso tiene la CPU, se est ejecutando (uno por microprocesador).

Bloqueado: al procesador le falta la CPU y otro


recurso. Las operaciones de E/S o de sincronizacin suelen provocar el bloqueo del proceso. En
todo momento el conjunto de procesos activos est
cambiando de estado.

Estado global del sistema:

los estados de los

procesos activos y los recursos del sistema.

Tema 2: GESTIN DE PROCESOS

15

4 Transiciones de estado de los procesos

4 Transiciones de estado de los


procesos

El diagrama de transacciones es el siguiente:


Ejecucin

Tiempo real
(max. prioridad)
Espera suceso
E/S

Termina
quantun

Inactivo

Bloqueado

Despachado
Ocurre
suceso

Se crea

Preparado

Interbloqueo

Antes de ejecutar un programa hay que crear un


proceso. Este pasa de inactivo a preparado.

Hay ms de un proceso en estado preparado. Todos


estos procesos se almacenan en una cola de procesos
preparados.
Tema 2: GESTIN DE PROCESOS

16

4 Transiciones de estado de los procesos

Los procesos de esta cola se van poco a poco pasando


de preparados a ejecutndose.

El

planicador (scheduler) ser el encargado de

realizarlo.

Quanto (quantum):

tiempo mximo de ocupa-

cin del procesador por parte de un proceso.

Si el proceso no acaba antes del quanto es el SO el


que lo lleva a la cola de preparados.

Si el proceso naliza su ejecucin antes del quantum, el


SO destruir el proceso y pasar a un estado inactivo.

Cuando realice alguna operacin de E/S antes de que


nalice su tiempo, l mismo liberar el procesador y
se bloquear esperando la nalizacin de la operacin
de E/S.

Cuando se produzca la operacin de E/S, (o llegue la


seal) el proceso volver de nuevo a estar preparado.

La nica transicin de estado iniciada por el proceso


es el bloqueo.
Tema 2: GESTIN DE PROCESOS

17

4 Transiciones de estado de los procesos

Proceso nulo: proceso de baja prioridad que ejecuta


un bucle innito, se planica cuando no hay otro
proceso en ejecucin.

Este concepto sirve para generalizar el proceso de


planicacin de los procesos.

Tema 2: GESTIN DE PROCESOS

18

4.1 Estados suspendidos

4.1 Estados suspendidos

Un proceso suspendido: proceso al que se le quita


la memoria asignada y se almacena en una zona de
intercambio.

Para qu suspender un proceso? Dejamos ms memoria al resto de procesos y evitar la hiperpaginacin


(thrasing ).

Si el proceso que se suspende est en la cola de preparados ir al estado de

preparado y suspendido,

pero si est en la cola de bloqueados se pasar al


estado de

suspendido bloqueado.

Los procesos batch que entren al sistema lo podrn


hacer pasando al estado de preparado o suspendido
preparado.

No todos los SO permiten swapping.

Diagrama de estados:
Tema 2: GESTIN DE PROCESOS

19

4.1 Estados suspendidos


Tiempo real
(max. prioridad)

Ejecucin

Espera suceso
E/S
Termina
quantun

Inactivo

Bloqueado

Despachado
Ocurre
suceso

Se crea

Memoria

Preparado
Expulsado
a
disco
Interbloqueo

Recuperado
de disco

Expulsado
a disco

listo y
suspendido

Tema 2: GESTIN DE PROCESOS

Fin E/S

suspendido
y bloqueado

Zona de
intercambio

20

5 Procesos e hilos

5 Procesos e hilos

Todo proceso se pueden ver como:

Unidad de propiedad de los recursos (los recursos


se asignan al proceso).

Unidad de expedicin: el proceso es unidad de


ejecucin y planicacin.

Estas caractersticas se pueden diferenciar para que


sean tratadas de forma independiente por el SO:

Unidad de propiedad de los recursos: proceso o


tarea.

Unidad de expedicin: Hilo.

A los hilos tambin se le llaman procesos ligeros,


hebras o thread.

Un hilo es un programa en ejecucin (ujo de ejecucin), que comparte la imagen de memoria y otras
informaciones con otros hilos.
Tema 2: GESTIN DE PROCESOS

21

5 Procesos e hilos

Los procesos tradicionales (o procesos pesados) se


pueden ver como procesos que slo tienen una hebra.

Utilidad: puede existir ms de un hilo dentro del


mismo proceso

mejora concurrencia y comparticin

de recursos. Podemos hacer que las aplicaciones sean


'paralelizables' y conseguimos que el proceso avance
ms rpidamente (el cambio de contexto entre hebras
es mnimo).

Cambio de contexto = Salvar BCP + CP a la direccin de la rutina de tratamiento de interrupcin +


cambio modo + ejecucin rutina de tratamiento de
interrupcin.

Las hebras de un proceso no son tan independientes


(no hay proteccin) como los procesos distintos ya
que:
Tema 2: GESTIN DE PROCESOS

22

5 Procesos e hilos

comparten espacio de direcciones

uso de mem-

canismos de sincronizacin.

comparten archivos, procesos hijos, recursos E/S,


....
LElementosLporLheGraL

ElementosLporLprocesoL

IontauorLuelLprograma
Pila
Registros
HilosLhiqos
Estauo

EspacioLueLuirecciones
VariaGlesLgloGales
Archi.osLaGiertos
ProcesosLhiqos
Ironmetros
Seales
Semforos
Estausticas

Ventajas:

Es ms rpido crear un hilo en un proceso existente


que crear un proceso nuevo.

Es ms rpido terminar el hilo que el proceso.


Es ms rpido cambiar entre dos hilos de un mismo
proceso.

La comunicacin entre hebras se hace a travs de la


memoria compartida.

Cada hilo slo pertenece a un proceso y no puede


existir fuera de l.
Tema 2: GESTIN DE PROCESOS

23

5 Procesos e hilos

El proceso tiene un estado pero los hilos tienen su


propio estado.

Los estados de los hilos sern:

preparados.
bloqueados.
en ejecucin.

Si un hilo est en ejecucin entonces el proceso est


en ejecucin.

Si un hilo est preparado, entonces el proceso est


preparado.

Si todos los hilos estn bloqueados, no hay ninguno


preparado, entonces el proceso est bloqueado.

La nalizacin de un proceso supone la nalizacin de


todos los hilos.

Con los hilos no tiene sentido hablar de estados suspendidos, puesto que si el proceso est suspendido,
todos sus hilos lo estarn.
Tema 2: GESTIN DE PROCESOS

24

5 Procesos e hilos

En Windows NT un hilo constituye una unidad ejecutable.

La estructura de un proceso en Windows NT es:

Niveles de implantacin de las hebras:

En el kernel: el SO proporciona llamadas para la


creacin, destruccin, etc. de hebras.

Sobre el kernel: mediante llamadas a libreras, son


estas las que nos permiten gestionar las hebras.
Para el SO slo hay procesos pesados.

Tema 2: GESTIN DE PROCESOS

25

6 El bloque de control de procesos

6 El bloque de control de procesos

El SO necesita saber en todo momento el estado


global del sistema,

estructuras

de datos.

La estructura que usa el SO para controlar sus datos


y la ejecucin de los programas de los usuarios se
denomina Bloque de Control del Sistema (SCB) y
bsicamente contiene la siguiente informacin:
nnnnLElemntonsprholrlnnn
nngprholrnocnoPohuhEacnn

guceoprnmRntolhpEserpntonsprholr
quonlonoleAnoPohuemctr.n
guceoprnmnRmnhrRmntonsposmpmtrln

nnnnirRmntonsprholrlnnnn
HRrquomtrl

guceoprnmnRmnhrRmntonHRrquomtrln

irRmntonsprholrl
nlulsoctEtrlnsposmpmtrln

guceoprnmnRmnhrRmntonlulsoctEtrl
sposmpmtrln

irRmntonsprholrl
nlulsoctEtrlnHRrquomtrln

guceoprnmnRmnhrRmntonlulsoctEtrl
HRrquomtrln

VoherpolntonEceoppushEac

GoleEac
IceoppushErcol

LElemntontolhpEserpolntonsprholrl

nnnnirRmntonsprholrlnnnn
sposmpmtrl

LElemnton
sprholrl

ueEcmlntonepmemSEocerntonEceoppushErcol

Tema 2: GESTIN DE PROCESOS

26

6 El bloque de control de procesos

6.1 Introduccin

La informacin de cada proceso se guarda univocamente en una estructura denominada Bloque de


Control de Proceso (PCB):
CB
DesLe SCB

ILentificaLor Lel
proceso (ID)
rivileqios

Permisos de acceso

rioriLaL
VstaLo HarLware

Estado de procesador

VstaLo roceso
2

Rec.rsos

Mapa Le memoria

Lista de descriptores de recursos


usados
Tabla de memoria del proceso

roceso paLre
2

PCB del padre

roceso hijo

PCB de los hijos

Ficheros abiertos

El PCB debe estar en memoria principal, para poder


realizar el acceso de forma rpida.
No toda la informacin de un proceso se encuentra en
el PCB. La decisin de donde colocarla depender:

Eciencia: la tabla de PCB's suele ser una estructura esttica, donde los PCB's tienen un tamao
jo.

Tema 2: GESTIN DE PROCESOS

27

6 El bloque de control de procesos

Compartir informacin: cuando la informacin es


compartida por varios procesos, esta no se incluye
en el PCB (p. ej. archivos abiertos).

Tema 2: GESTIN DE PROCESOS

28

6.2 Objetivos

6.2 Objetivos

Con el PCB se persiguen dos objetivos fundamentales:

Que el SO pueda localizar fcilmente la informacin.

Preservar los datos del proceso en caso de que tenga


que ser suspendido temporalmente su ejecucin.

Tema 2: GESTIN DE PROCESOS

29

6.3 Prioridades

6.3 Prioridades

No todos los procesos tienen las mismas exigencias de


tiempo en su ejecucin.

Algunos requieren atencin inmediata (+ acceso al


procesador) y otros no

prioridades.

Los procesos ms prioritarios se ven ms favorecidos


en la ejecucin que los procesos menos prioritarios.

La prioridad normalmente viene dada por un nmero.


Dependiendo del S.O. un nmero ms alto indicar
mayor prioridad o al revs.

La prioridad de un proceso se puede modicar en


ejecucin.

Tema 2: GESTIN DE PROCESOS

30

6.4 Estado global del sistema

6.4 Estado global del sistema

HDw
IIIILentiIfcIaor cnrnIII
IIlor cnrIcpIcsc ( epII
IIIIDr)iIfcIaor cnrnIIII
aocaioifrn
IIIIDr)iIfcIaor cnrnIIII
v)rq(cifrn
Dr)iIfcIaor cnrn
In(nacpfefrnIaocaioifrnI
Dr)iIfcIaor cnrn
In(nacpfefrnIv)rq(cifrnI
Vc trocnIfcIeptcoo(a ep

Dr)iIaor cnrn
aocaioifrn
lor cnrIm
lor cnrIF
.
.
.
lor cnrIp

Dr)iIaor cnrn
v)rq(cifrn
lor cnrIm
lor cnrIF
.
.
.
lor cnrIp

Dr)iIaor cnrn
n(nacpfefrn
aocaioifrn
lor cnrIm
lor cnrIF
.
.
.
lor cnrIp
Dr)iIaor cnrn
n(nacpfefrn
v)rq(cifrn
lor cnrIm
lor cnrIF
.
.
.
lor cnrIp

Rf.Iaor cnr
.
.
.
MntifrIaor cnr
.
.
.
Rf.Iaor cnr
.
.
.
MntifrIaor cnr
.
.
.

Rf.Iaor cnr
.
.
.
MntifrIaor cnr
.
.
.

Rf.Iaor cnr
.
.
.
MntifrIaor cnr
.
.
.

Rf.Iaor cnr
.
.
.
MntifrIaor cnr
.
.
.

31

Tema 2: GESTIN DE PROCESOS

7 Operaciones sobre procesos

7 Operaciones sobre procesos

Creacin:

como argumentos requiere argumentos

como el nombre y la prioridad.

Que acciones se realizan?

Dar un identicador al proceso.


Buscar un hueco en la lista de PCB's del sistema.
Crear el PCB del proceso con toda la informacin
necesaria.

Asignarle los recursos que necesite.


Insertar el proceso en la lista de procesos preparados.

La creacin de procesos puede ser de:

Jerrquica: el proceso que se crea es hijo del proceso


creador y hereda el entorno de ejecucin de su
padre:

Tema 2: GESTIN DE PROCESOS

32

7 Operaciones sobre procesos


swapp r

PuPt

c tty

c tty

c tty

c tty

ldcPu

sh

sh

IP

No jerrquica: los procesos nuevos son independientes


de su creador. Windows NT no mantiene de forma
explcita la estructura jerrquica de procesos.

Destruir un proceso:

se destruye su PCB y se

libera el hueco de la lista de PCB's del sistema. En


una jerarquia de proceso hay que decidir si se destruye
a los hijos al destruir el proceso o no.

Cambiar la prioridad de un proceso.


Retardar o dormir un proceso:
Tema 2: GESTIN DE PROCESOS

suspender el
33

7 Operaciones sobre procesos

proceso durante un determinado nmero de tics de


reloj.

Despertar un proceso:

activar un proceso que

estaba retardados.

Despachar un proceso: poner en ejecucin a uno


de los procesos que hay en la cola de preparados.

Abortar.
Suspender un proceso en ejecucin: se lleva al
proceso a la cola de procesos suspendidos preparados.

Desbloqueo de un proceso de la cola de


suspendidos bloqueados: ocurre el evento que
esperaba el proceso, ste pasar a la cola de procesos
suspendidos preparados.

Tema 2: GESTIN DE PROCESOS

34

7.1 Ejemplo

7.1 Ejemplo

Partiendo de la gura siguiente:


Putswap dw
hJhswmr wt
wjwcucJt

Putswap r
cpyr lawlrardph
ID: GUARDAR

ID:CALCULAR

PR: 1

PR: 4

ST: PREPARADO

ST: PREPARADO

...
Putswap r
cpyr dw bypquwrdph
ID:IMPRIMIR

ID: RECOGER

PR: 3

PR: 2

ST: BLOQUEADO

ST: BLOQUEADO

...
Rrzt dw
bypquwp

Ehlwar hwry
dw CALCULAR

Tema 2: GESTIN DE PROCESOS

Ehlwar hwry
dw CALCULAR I GUARDAR

35

7.1 Ejemplo

El proceso guardar pasa a ejecucin


Puntero de
sistema en
ejecucin

Puntero a
cola preparados
ID: GUARDAR

ID:CALCULAR

PR: 1

PR: 4

ST: EJECUCION

ST: PREPARADO

///
Puntero a
cola de bloqueados
ID:IMPRIMIR

ID: RECOGER

PR: 3

PR: 2

ST: BLOQUEADO

ST: BLOQUEADO

///
Razn de
bloqueo

Espera seal
de CALCULAR

Tema 2: GESTIN DE PROCESOS

Espera seal
de CALCULAR y GUARDAR

36

7.1 Ejemplo

Se realiza una peticin de E/S de disco por guardar


Puntero de
sistema en
ejecucin

Puntero a
cola preparados

qULL

ID:CALCULAR
PR: 4
ST: EbECUCIOq

Puntero a
cola de 1loJueados
ID:IMPRIMIR

ID: GUARDAR

PR: 3

PR: 2

PR: N

ST: BLOQUEADO

Razn de
1loJueo

ID: RECOGER

ST: BLOQUEADO

ST: BLOQUEADO

Espera seal
de CALCULAR

Tema 2: GESTIN DE PROCESOS

Espera seal
de CALCULAR y GUARDAR

Operacin
E/S

37

7.1 Ejemplo

El proceso guardar termina la E/S de disco


Puntero de
sistema en
e?ecucin

Puntero a
cola preparados

ID: GUARDAR
PR: 1
ST: PREPARADO

ID:CALCULAR
PR: 4
ST: EJECUCION

Puntero a
cola de bloqueados
ID:IMPRIMIR
PR: 3

PR: 2

ST: BLOQUEADO

Razn de
bloqueo

ID: RECOGER

ST: BLOQUEADO

Espera seal
de CALCULAR

Tema 2: GESTIN DE PROCESOS

Espera seal
de CALCULAR y GUARDAR

38

7.1 Ejemplo

El quantum del proceso 4 naliza


Puntero de
sstea en
eyecucbn

Puntero a
cola preparados

ID: GUARDAR

ID:CALCULAR

PR: i

PR: m

ST: PREPARADO

ST: PREPARADO

Puntero a
cola de 4loJueados
ID:IMPRIMIR
PR: 3

PR: 2

ST: BLOQUEADO

RaNbn de
4loJueo

ID: RECOGER

ST: BLOQUEADO

Espera seqal
de CALCULAR

Tema 2: GESTIN DE PROCESOS

Espera seqal
de CALCULAR z GUARDAR

39

8 Interrupciones

8 Interrupciones

Una interrupcin es la presencia de un evento o seal


que obliga al SO a tomar el control del procesador
para tratarla.
De cara al usuario es una interrupcin de la secuencia de ejecucin, no necesita aadir ningn cdigo
especial:
Programa usuario

RutiXa de tratamieXto
de iXterruYciX

1
-

i
IXterruYciX
i+1

Ocurre por dos tipos de eventos: las interrupciones y


las excepciones.
Para poder atenderlas en el SCB estn las direcciones
de las rutinas que deben activarse (vector de interrupciones o excepciones):
Tema 2: GESTIN DE PROCESOS

40

8 Interrupciones

Estas rutinas forman parte del SO.

Tema 2: GESTIN DE PROCESOS

41

8.1 Utilidades

8.1 Utilidades

En multiprogramacin permiten al SO tomar el control


ante un error del HW o del programa en ejecucin.

Permiten simultanear el uso de la E/S y el procesador


(el dispositivo avisa con una interrupcin).

Permite reparto de tiempos (tiempo compartido).

Posibilidad de reconocer eventos externos que deba


controlar el sistema.

Tema 2: GESTIN DE PROCESOS

42

8.2 Tipos de interrupciones

8.2 Tipos de interupciones

Interrupciones HW (asncronas): son inesperadas


e independientes del procesamiento. Se clasican en:

Interrupciones de E/S (generadas por dispositivos


de E/S).

Interrupciones de reloj (generadas por el reloj).


Interrupciones de reinicio (ctrl.+alt+del) .

Interrupciones SW:

son las llamadas al sistema

(SC), y producen siempre cambios de contexto, aunque no necesariamente de proceso.

Excepciones:

cuando se produce alguna situacin

que amenaza la integridad de un proceso. La naturaleza inesperada de estas hace que la programacin
secuencial normal sea inadecuada

gestores de ex-

cepciones. Las excepciones se pueden deber a:

Fallos HW y SW. (divisin por 0).


Eventos anmalos (desborda variable de coma otante).

Datos de entrada incorrectos por parte del usuario.

Tema 2: GESTIN DE PROCESOS

43

8.2 Tipos de interrupciones

Dependiendo de la naturaleza del fallo sern:

Catastrcos (fallo de tensin), imposible recuperar


sistema

No recuperables (divisin por 0), imposible continuar programa

Recuperables (datos incorrectos), se tratan y el


proceso se recupera.

Tema 2: GESTIN DE PROCESOS

44

8.3 Diferencias entre interrupciones y excepiones

8.3 Diferencias entre interrupciones


y excepiones
Interrupciones

Excepciones

Referentes al proceso en

No relacionadas con el

ejecucin

proceso

Afectan al proceso y su

Afectan al sistema

entorno
Hay prioridades

No hay prioridades

Pueden aparecer varias

Slo aparece una

Tema 2: GESTIN DE PROCESOS

45

8.4 Ejemplo Interrupciones

8.4 Ejemplo Interrupciones

En todos los casos, incluso cuando el tiempo de espera E/S es muy alto, el tiempo se ejecucin usando
interrupciones es menor.
Tema 2: GESTIN DE PROCESOS

46

8.4 Ejemplo Interrupciones

Tema 2: GESTIN DE PROCESOS

47

8.5 Gestin de las interrupciones.

8.5 Gestin de las interrupciones

Una interrupcin desencadenan una serie de sucesos


hardware y software:

Tema 2: GESTIN DE PROCESOS

48

8.6 Interrupciones y ciclo de instruccin.

8.6 Interrupciones y ciclo de


instruccin

Se aade un ciclo de interrupcin:

En este ciclo:

Comprobamos si hay interrupciones pendientes.


Si no las hay continuamos la ejecucin.
Si hay pendientes se suspende la ejecucin y se
ejecuta la rutina de tratamiento.

El nuevo ciclo aade una pequea sobrecarga de proceso en comparacin con el tiempo que se gana al
usar interrupciones.

Tema 2: GESTIN DE PROCESOS

49

8.7 Llamadas al sistema:

8.7 Cambios de contexto

Supongamos que tenemos proceso

P1, P2,...,Pm

ac-

tivos en un sistema monoprocesador.

De ellos

Si

P1

P1

est en ejecucin.

realiza una llamada al SO se realizan las si-

guientes acciones:

P1 debido a una llamada al SO.


del proceso P1 .

Se deja de ejecutar
Se salva el PCB

El ncleo del S.O toma el control del procesador


(se pasa a modo supervisor), se ha realizado un
cambio de contexto.

Se ejecuta el tratamiento de la interrupcin.


Finaliza el el tratamiento de la interrupcin.
Se realiza un nuevo cambio de contexto y se sigue
ejecutando

P1

El ncleo mira si P2 est preparado, y de ser


as, realiza el cambio de contexto, devolviendo el
procesador a modo usuario, y reponiendo el estado
de P2 desde su PCB. El cambio de contexto se

Tema 2: GESTIN DE PROCESOS

50

8.7 Llamadas al sistema:

produce siempre por una llamada al S.O o por una


interrupcin.

P1

acaba su quantum y el planicador elige a

P2

como nuevo proceso en ejecucin.

P1 debido a una llamada al SO.


del proceso P1 .

Se deja de ejecutar
Se salva el PCB

El ncleo del SO toma el control del procesador (se


pasa a modo supervisor), se ha realizado un cambio
de contexto.

Se comprueba si

P2

est preparado, y de ser as,

realiza un cambio de contexto.

P2

pasa e ejecutarse.

Los cambios de contexto se deben siempre a llamadas


al SO o interrupciones.

Una interrupcin conlleva un cambio de contexto pero


no siempre un cambio de proceso.

Tema 2: GESTIN DE PROCESOS

51

8.7 Interrupciones mltiples.

8.7 Interrupciones mltiples

Es posibles que lleguen varias interrupciones a la vez.

Dos enfoques para resolverlo:

Inhabilitar interrupciones mientras se trata una, se


ignorar las seales de interrupcin que quedaran
pendientes. Se tratan las interrupciones secuencialmente, no tiene en cuenta las necesidades crticas
de tiempo:

i+MP+ror1ga1m mr+uM
111--111
-----------

smRutr1X
ga1R+rRrouatRM
ga1utRa++mdeuMta
--1--1
1--1

smRutr1Y
ga1R+rRrouatRM
ga1utRa++mdeuMta
--1--1
1--1

Denir priopridades, una interrupcin de alta prioridad puede interrumpir a otra de menos prioridad.

Tema 2: GESTIN DE PROCESOS

52

8.7 Interrupciones mltiples.

C5DE5101A2eAusu15iD
AAABBAAA
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB

Rutin1AX
2eAt51t10ientD
2eAinte55upciDnes
BB
BB
ABBA
ABBA

Rutin1AY
2eAt51t10ientD
2eAinte55upciDnes
BB
BB
ABBA
ABBA

Tema 2: GESTIN DE PROCESOS

53

8.8 El ncleo del SO.

8.8 El ncleo del SO

El nclo es la parte del SO ms utilizada.

Debe residir en Memoria Principal de forma permanente.

Realiza el procesamiento de interrupciones, habilita


o deshabilita las interrupciones total o parcialmente
segn las necesidades.

En relacin a los procesos el kernel se encarga de:

Manejo de interrupciones
Crear y destruir procesos.
Cambio de estado de procesos.
Despachar los procesos.
Suspensin y reanudacin de procesos.
Comunicacin y sincronizacin.
Manipulacin del PCB.

Tema 2: GESTIN DE PROCESOS

54

9 Planicacin del procesador

9 Planicacin del procesador

En un sistema multiprogramado tenemos varios procesos que se alternan en el uso del procesador y en
esperar a realizar operaciones E/S u otro suceso.

La clave de la multitarea es la planicacin.

La planicacin consiste en asignar procesos al procesador para que sean ejecutados a lo largo del tiempo
cumpliendo una serie de objetivos.

En el apartado siguiente hablaremos de tres clases de


planicacin.

Tema 2: GESTIN DE PROCESOS

55

9.1 Niveles de planicacin

9.1 Niveles de planicacin

La actividad de planicacin se divide en tres funciones


o niveles independientes:

Tema 2: GESTIN DE PROCESOS

56

9.1 Niveles de planicacin

El planicador a largo plazo (planicador


de trabajos)

Determina cules son los programas admitidos al


sistema, controla el grado de multiprogramacin.

El programa o trabajo se convierte en un proceso


y se aade a la cola del planicador a corto o
medio plazo.

En

sistemas de procesamiento por lotes

los procesos recin incorporados se encaminan


hacie el disco y permanecen detenidos en un cola
de procesos por lotes.

Crear procesos a partir de esta cola cuando sea


posible. Decisiones:
Permite el sistemas ms procesos?
Que trabajos pasaremos a proceso?

En los

sistemas en tiempo compartido

slo se encarga de cargar los programas que se


desean ejecutar hasta que el sistema se sature.

Su frecuencia de actividad es de varios minutos.

Decide si el proceso debe ser suspendido para re-

El planicador a medio plazo (planicador de procesos suspendidos)


ducir el grado de multiprogramacin y devolverlo
despus a memoria cuando sea necesario.

Existe en sistemas de tiempo compartido y en

Tema 2: GESTIN DE PROCESOS

57

9.1 Niveles de planicacin

aquellos que tengan gestin de memoria virtual


o procesos intercambiables.

Su frecuencia de actividad es de varios segundos.

Tiene la responsabilidad de decidir cmo y cun-

El planicador a corto plazo (planicacin del procesador)

do un proceso que est preparado pasa a ejecutarse, realiza las funciones de multiprogramacin.

Siempre est en memoria, se suele ejecutar con


muchas frecuencia (milisegundos) y es muy rpido.

Es en este nivel donde nos preocupamos de dar


un buen servicio a los procesos interactivos.

El planicador a corto plazo es el que vamos a estudiar.

Tema 2: GESTIN DE PROCESOS

58

9.2 Objetivos de la planicacin

9.2 Objetivos de la planicacin

Cada planicador intenta alcanzar los siguientes objetivos:

Justicia: reparto equitativo del procesador.


Mxima capacidad de ejecucin: que

los

trabajos se ejecuten lo ms rpidamente posible


(reducir el tiempo de respuesta), dando un servicio aceptable a todos

disminuir el nmero de

cambios de proceso.

Mximo nmero de usuarios interactivos:


es primordial en sistemas de tiempo compartido.
Requiere mucha memoria, un procesador rpido y
una planicacin gil.

Minimizacin de la sobrecarga:

incide en

el rendimiento del ordenador. Menos cambios de


contexto

los procesos gozarn de mayor tiempo

del procesador.

Equilibrio del uso de recursos: se intenta que


no haya bloqueos indeseados, consiguiendo que los
recursos soporten una ocupacin similar al mayor
tiempo posible.

Tema 2: GESTIN DE PROCESOS

59

9.2 Objetivos de la planicacin

Seguridad de las prioridades: favorecer a los


procesos que tienen mayor prioridad.

Muchos de estos objetivos son contradictorios hay que


llegar a un equilibrio.

Resumen: el SO debe ofrecer un buen rendimiento


y un buen servicio.

Tema 2: GESTIN DE PROCESOS

60

9.3 Criterios de planicacin

9.3 Criterios de la planicacin

El diseador estudiar el comportamiento del algoritmo segn los criterios siguientes con objeto de
observar si se alcanzan los objetivos jados:

Tiempo de respuesta:

velocidad con que el

ordenador empieza a dar respuesta a una peticin de


usuario. No se tiene en cuenta porque depende de la
E/S y otros factores. Es slo un factor psicolgico.

Tiempo de servicio o retorno : tiempo que


transcurre entre que el usuario da la orden de cargar
hasta que naliza su ejecucin.

Tservicio = Tcarga +Tespera +Ttprocesador +Te/s

Tiempo de ejecucin:

representa el tiempo

terico que un proceso necesita para ejecutarse si


estuviera solo.

Tejecucion = Tcarga + Ttprocesador + Te/s

Tema 2: GESTIN DE PROCESOS

61

9.3 Criterios de planicacin

Tiempo de procesador: tiempo que el proceso


hace uso del procesador.

Tiempo de espera:

tiempos de espera en las

colas de bloqueados y preparados.

Eciencia: relacin entre el tiempo de procesador


de cada proceso y la ocupacin total del procesador.

Rendimiento:

nmero de procesos ejecutados

por unidad de tiempo.

Tema 2: GESTIN DE PROCESOS

62

9.4 Medidas

9.4 Medidas

t el tiempo de procesador, ti el momento de


carga y tf el momento de nalizacin de un proceso
p.
Sea

Denimos las siguientes medidas:

T s = tf t i
Tiempo de Espera: Te = Ts t
ndice de Servicio: I = t/Ts . Es el
Tiempo de Servicio:

porcentaje de

tiempo que el proceso est en ejecucin respecto


su tiempo de vida. Mide el rendimiento. Es adimensional y se suele expresar en %. Interpretacin:

Para I =1 el proceso siempre estar ejecutndose


(raro porque suelen necesitar E/S).

Para I =0 el proceso nunca se ejecuta.


Cuanto ms alto sea I

menos desperdicio se

produce.

Si I est prximo a 1 decimos que el proceso est


limitado por el procesador.

Si I est prximo a 0 decimos que el proceso est


limitado por E/S.

Tema 2: GESTIN DE PROCESOS

63

9.4 Medidas

Otras medidas: tiempo para salvar el contexto,


tiempo de reposicin del contexto, tiempo de planicacin, tiempo de cambio de proceso...

Para sistema multitarea con

procesos, usaremos los

promedios:

Tms = n Ts
N
Te
Tiempo medio de espera: Tme =
n N
I
ndice medio de servicio: Im =
nN

Tiempo medio de servicio:

Tema 2: GESTIN DE PROCESOS

64

9.5 Organizacin de la planicacin

9.5 Organizacin de la planicacin

La tarea de pasar un proceso de preparado a ejecucin


(realizada por el ncleo) se divide en:

Planicacin de procesos (planicador): elige qu


proceso entre los que estn en la cola de preparados
pasa a ejecucin.

Despachar un proceso (activador o despachador):


entrega al procesador, extrayndolo de la cola de
procesos preparados, cambiando su estado y reponiendo el estado del procesador.

Tema 2: GESTIN DE PROCESOS

65

9.6 Algoritmos de planicacin

9.6 Algoritmos de planicacin

Para los ejemplos usaremos esta tabla de procesos y


tiempos:
Proceso

to

tejecucion

Cola

Evaluaremos los algoritmos de planicacin bajo la


misma carga, podemos comparar su 'bondad' .

No se realiza E/S,

Tejecucion = Tprocesador .

El valor ms representativo de la poltica de planicacin es el ndice de Servicio.

Tema 2: GESTIN DE PROCESOS

66

9.6 Algoritmos de planicacin

Caractersticas del planicador de procesos:

Modo de decisin,

especica los instantes de

tiempo en que se evaluarn los procesos.

Apropiativas: se interrumpen la ejecucin de un


proceso para estudiar si puede seguir siendo ejecutado o por el contrario debe ser otro el que lo
haga. Se usan en SO de tiempo compartido y/o
tiempo real.

No apropiativas: un proceso nunca abandona el


procesador una vez comenzada su ejecucin. Se
emplean en procesamiento por lotes.

Clculo de la prioridad, peridicamente el SO


asocia a cada proceso una prioridad denominada

prioridad interna

(la

prioridad externa

la

denida por el usuario). Cmo calcularlo?

Intrnsecos: inherentes a la naturaleza del proceso


(tiempo de ejecucin, tiempo total de servicio,
tiempo que le queda para acabar el trabajo,....)

Extrnsecos: independientes de la naturaleza del


proceso (instante de carga del sistema, prioridad
externa,...)

Modo de regulacin de la planicacin,


reglas que denen el denen el mecanismo por el
que el SO decidir qu proceso pasa a ejecucin.

Tema 2: GESTIN DE PROCESOS

67

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

9.6.1 Algoritmos primero en servirse


(FCFS - FIFO)

Es una poltica

no apropiativa, el proceso se eje-

cuta hasta que termine.

Se basa nica y exclusivamente en el orden de llegada


de los procesos.

Ejemplo:

Cronograma o diagrama de ocupacin:

E
D
C
B
A
5

Tema 2: GESTIN DE PROCESOS

10

15

20

68

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Tabla de sucesos: como superindice indicamos lo


que le queda de rafaga, el tiempo que usara la cpu
hasta que realice la siguiente operacion de E/S.
Los instantes marcados en negrita indican que el
planicador se activa.

Tema 2: GESTIN DE PROCESOS

69

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Finalizados

0
1
2

A, B

A, B

10

A, B, C

11

A, B, C

12

A, B, C

13

A, B, C

14

A, B, C

15

A, B, C

16

A, B, C, D

17

A, B, C, D

18

A, B, C, D

19

A, B, C, D

20

Esperando

Ejecucin

A3
B5
B5
B5
C2
C 2, D6
C 2, D6
C 2, D6
C 2, D6, E 4
D6, E 4
E4
E4
E4
E4
E4
E4
E4

A3
A2
A1
B5
B4
B3
B2
B1
C2
C1
D6
D5
D4
D3
D2
D1
E4
E3
E2
E1

A, B, C, D, E

Tema 2: GESTIN DE PROCESOS

70

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Tabla de tiempos:

ti

tf

Ts

Te

0.71

10

0.33

16

11

0.54

20

12

0.33

Media

7.8

3.8

0.58

Nombre
proceso

Tema 2: GESTIN DE PROCESOS

71

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Ejemplo 2:

con entrada/salida. Suponemos que si

ocurren simultneamente los sucesos de n de operaciones de E/S y la llegada de un nuevo proceso, ste
ltimo evento ocurre primero.

Proceso

to

Ejecucion

Cola

1 + E/S + 1

2 + 2 E/S + 1

3 + 2 E/S + 1

1 + 1 E/S + 2

Cronograma o diagrama de ocupacin:

Tema 2: GESTIN DE PROCESOS

72

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Tabla de sucesos: como superindice indicamos lo que


le queda de rafaga de cpu o E/S, como subindice lo
que le queda para nalizar. Los instantes marcados en
negrita indican que el planicador se activa.

Fin

Listos

0
1
2

3
4

A, C

A, C

A, C

9
10
11
12

13
14

A, C
A, C, B
A, C, B
A, C, B, D
A, C, B, D
A,

C,

B,

A1
3
2
B5
A1
1
A1
1
2
C2
3
1
D6 , B1
3
1
D6 , B1
1
B1
1
1
B 1 , E4
1
1
B 1 , E4
1
E4
1
D1
2
E2
2
E2

Bloq.

A1
2
2
B3
1
B2

2
D3
1
D2
1
E3

Ejec.

A1
3
2
B5
1
B4
A1
1
2
C2
1
C1
3
D6
2
D5
1
D4
1
B1
1
E4
1
D1
2
E2
1
E1
1
E1

D, E

Tema 2: GESTIN DE PROCESOS

73

9.6.1 Algoritmos primero en servirse (FCFS - FIFO)

Tabla de tiempos:

ti

tf

Ts

Te

2/4

10

3/9

2/2

13

4/8

15

3/7

Nombre
proceso

Media

Ventaja:

Es fcil de llevar a la prctica.


Es justa.
Es predecible.

Desventaja:

penaliza los procesos cortos, sobre todo cuando


llegan detrs de uno largo. Las esperas siempre
dependen de los procesos que estn en la cola,

Ts

no suele ser el deseado.

Tema 2: GESTIN DE PROCESOS

74

9.6.2 Algoritmos Round Robin (RR)

9.6.2 Algoritmos Round Robin (RR)

Se traduce como rueda o asignacin cclica (Round


Robin).

Trata de ser ms justa que la FIFO para procesos


cortos.

Es apropiativa, concede el procesador a un proceso


durante un quantum 'q' de tiempo (10-100 msg.),
antes de devolverlo a la cola de procesos preparados.

La cola de procesos preparados se gestiona mediante


una FIFO (aunque a veces se hace por prioridades).

Inuye 'q' en el comporamiento?

FIFO.
pequeo sobrecarga.

q grande
q

Tema 2: GESTIN DE PROCESOS

75

9.6.2 Algoritmos Round Robin (RR)

Condiciones a tener en cuenta:

Si un proceso naliza en su quantum se le concede


el procesador a otro por un quantum completo.

Los procesos nuevos entran en la cola al nal de


preparados.

Si un proceso llega al sistema justo al nal de un


quantum consideraremos que lo hace justo antes
de acabar el quantum.

Ejemplo 1: q=1

Cronograma o diagrama de ocupacin: como superindice indicamos el quantum que le queda, como
subindice lo que le queda por ejecutarse .

E
D
C
B
A
5

10

15

20

Tablas de sucesos:

Tema 2: GESTIN DE PROCESOS

76

9.6.2 Algoritmos Round Robin (RR)

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Finalizados

A
A
A
A
A, C

A,C,B
A,C,B
A,C,B
A,C,B
A,C,B
A, C, B, E
A,C,B,E

Esperando

Ejecucin

A1
3
1
B5 , A1
2
1
A1, B4
2
1
B4 , A1
1
1
1
1
A1, C2 , B3
1
1
1
C2 , B3 ,D6
1
1
1
B3 ,D6 , C1 ,
1
1
1
D6 , C1 , B2
1
1
1
1
C1 , B2 , E4 D5 ,
1
1
1
B2 , E4 D5
1
1
1
E4 , D5 , B1
1
1
1
D5 , B1 , E3
1
1
1
B1 , E3 , D4
1
1
E3 , D4
1
1
D4 , E2
1
1
E2 , D3
1
1
D3 , E1
1
1
E1 , D 2
1
D2
1
D1

A1
3
1
B5
A1
2
1
B4
A1
1
1
C2
1
B3
1
D6
1
C1
1
B2
1
E4
1
D5
1
B1
1
E3
1
D4
1
E2 ,
1
D3
1
E1
1
D2
1
D1

Tabla de tiempos:

Tema 2: GESTIN DE PROCESOS

77

9.6.2 Algoritmos Round Robin (RR)

ti

tf

Ts

Te

0.6

13

12

0.42

0.40

20

15

0.40

18

10

0.40

Media

7.8

3.8

0.44

Nombre
proceso

Ejemplo 2: q=3
Proceso

Ejecucion

Cola

1 + E/S + 1

2 + 2 E/S + 1

3 + 2 E/S + 1

to

1 + 1 E/S + 2

Cronograma o diagrama de ocupacin :

E
D
C
B
A
5
Tema 2: GESTIN DE PROCESOS

10

15

20
78

9.6.2 Algoritmos Round Robin (RR)

Tablas de sucesos, como superindice indicamos el


quantum que le queda, como subindice lo que le
queda por ejecutarse

Tema 2: GESTIN DE PROCESOS

79

9.6.2 Algoritmos Round Robin (RR)

Finalizados

0
1
2

A, C

A,C

10

A,C

11

A,C

12

A,C

13

A,C,B

14

A,C,B

15

A,C,B

16

A,C,B

17
18

19

A,C,B,D

20

Esperando

Ejecucin

A3
3
3
B5
3
B5
3
B5
3
C2
3
3
C2 , D6
3
3
3
C2 , D6 , B2
3
3
D6 , B2
3
3
3
D6 , B2 , E4
3
3
B 2 , E4
3
3
B 2 , E4
3
3
3
B2 , E4 ,D3
3
3
E4 ,D3
3
3
E4 ,D3
3
D3
3
D3
3
3
D3 , E1
3
E1
3
E1
3
E1

A3
3
A2
2
A1
1
3
B5
2
B4
1
B3
3
C2
2
C1
3
D6
2
D5
1
D4
3
B2
2
B1
3
E4
2
E3
1
E2
3
D3
2
D2
1
D1
3
E1

A,B,C,D,E

Tema 2: GESTIN DE PROCESOS

80

9.6.2 Algoritmos Round Robin (RR)

Tabla de tiempos:

ti

tf

Ts

Te

13

12

0.42

0.50

19

14

0.43

20

12

0.33

Media

0.54

Nombre
proceso

Ejemplo 2: q=3 con entrada/salida


Proceso

Ejecucion

Cola

1 + E/S + 1

2 + 2 E/S + 1

3 + 2 E/S + 1

to

1 + 1 E/S + 2

Cronograma o diagrama de ocupacin,


Tabla de sucesos, como superindice indicamos el
quantum que le queda y la rafaga, como subindice
lo que le queda por ejecutarse:

Tema 2: GESTIN DE PROCESOS

81

9.6.2 Algoritmos Round Robin (RR)


t

Finalizados

Esperando

Bloqueados

Ejecucion

3,1
A3

3,2
B5

3,1
A1

3,1
A1

2
B3

3,1
A1

1
B2

3,2
C2

3,2
C2

A, C

A, C

A, C

10

A, C, B

11

A, C, B

12

A, C, B, D

13

A, C, B, D

14

3,2
B5
2,1
B4

A, C

A1
2

3,3
3,1
D6 , B 1
3,3
3,1
D6 , B 1

3,1
A3

A, C, B, D, E

2,1
C1
3,3
D6
2,2
D5

3,1
3,1
B1 , E4
3,1
3,1
B1 , E4
3,1
E4
3,1
D1
3,2
E2

Tema 2: GESTIN DE PROCESOS

1,1
D4
2
D3

3,1
B1

1
D2

3,1
E4
3,1
D1
3,2
E2
3,1
E1

1
E3

82

9.6.2 Algoritmos Round Robin (RR)

Tabla de tiempos:

ti

tf

Ts

Te

2/4

10

3/9

2/2

12

4/7

14

8/6

Nombre
proceso

Media

Conclusiones:

Con q=1 el tiempo de servicio permanece prcticamente constante.

Con q=3 el tiempo de espera crece con la longitud


de los procesos.

Propiedades de la poltica:

Baja sobrecarga si el cambio de contexto es eciente


y los procesos estn en memoria principal.

Es la ms usada para tiempo compartido.


Ofrece un ndice de servicio uniforme para todos
los procesos.

Tema 2: GESTIN DE PROCESOS

83

9.6.3 El siguiente proceso el ms corto (SJF)

9.6.3 El siguiente proceso el ms


corto (SJF)

Es una poltica no apropiativa.

Se escoge de la cola de procesos preparados el de


menor

tiempo de ejecucin. En caso de igualdad

por orden de llegada.

Cmo conocer a priori el tiempo de ejecucin de los


procesos?

Lo proporciona el usuario, poco able.


Cada proceso se auto describe, difcil de conseguir
ya que los procesos no siempre se ejecutan igual.

Tomar la decisin de forma Heurstica, basndose


en informacin recabada estadsticamente. Slo es
posible en ambientes de ejecucin muy repetitivos.

Tema 2: GESTIN DE PROCESOS

84

9.6.3 El siguiente proceso el ms corto (SJF)

Ejemplo:

Cronograma o diagrama de ocupacin:

E
D
C
B
A
5

10

15

20

Tablas de sucesos, como superindice indicamos el


tiempo de ejecucin que resta

Tema 2: GESTIN DE PROCESOS

85

9.6.3 El siguiente proceso el ms corto (SJF)

Finalizados

0
1
2
3

A, B

A, B

10

A, B, C

11

A, B, C, E

12

A, B, C, E

13

A, B, C, E

14

A, B, C, E

15

A, B, C, E

16

A, B, C, E

17

A, B, C, E

18

A, B, C, E

19

A, B, C, E

20

Esperando

Ejecucin

A3
B5
B5
B5
C2
C 2, D6
C 2, D6
C 2, D6
C 2, D6, E 4
D6, E 4
D6, E 4
D6
D6
D6
D6

A3
A2
A1
B5
B4
B3
B2
B1
C2
C1
E4
E3
E2
E1
D6
D5
D4
D3
D2
D1

A, B, C, E, D

Tema 2: GESTIN DE PROCESOS

86

9.6.3 El siguiente proceso el ms corto (SJF)

Tabla de tiempos:

Proceso

ti

tf

Ts

Te

0.71

10

0.33

20

15

0.40

14

0.67

Media

7.4

3.4

0.62

Ejemplo 2 : con entrada/salida


Proceso

to

Ejecucion

Cola

1 + E/S + 1

2 + 2 E/S + 1

3 + 2 E/S + 1

1 + 1 E/S + 2

Tema 2: GESTIN DE PROCESOS

87

9.6.3 El siguiente proceso el ms corto (SJF)

Cronograma o diagrama de ocupacin:

Tablas de sucesos

Tema 2: GESTIN DE PROCESOS

88

9.6.3 El siguiente proceso el ms corto (SJF)


t

Finalizados

E/S

B5

B5
A1

B4

A2

A3

B4 , A1

Ejecucin

A3

Esperando

B4

B3

C2

C2

B2

D6 ,C1

C1

A, C

B 1 , D6

B1

A, C, B

D6

D6

A, C, B

D5 , E4

E4

A, C, B

D5

D5

10

A, C, B

D4 ,E2

E2

11

A, C, B

D4

E1

12

A, C, B,E

D4

D4

13

A, C, B, E

D3

14

A, C, B, E

D2

15

A, C, B, E

16

A, C, B, E, D

Tema 2: GESTIN DE PROCESOS

E3

D6
D1

D1

89

9.6.3 El siguiente proceso el ms corto (SJF)

Tabla de tiempos

Nombre proce-

ti

tf

Ts

Te

2/3=0.67

3/6=0.5

2/2=1

16

11

4/11=0.36

12

3/4=0.75

Media

5.2

2.4

0,656

so

Propiedades

El tiempo de espera aumenta con la longitud de los


procesos.

Es poco predecible
No es justa, favorece a los procesos cortos.
Tiene un buen

Ts (sobre todo para procedos cortos)

e I.

Es difcil de poner en prctica por la dicultad de


conocer los tiempos de ejecucin a priori.

Tema 2: GESTIN DE PROCESOS

90

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)

9.6.4 Prximo proceso el de tiempo


restante ms corto (SRT)

Es una poltica

apropiativa.

Trata de conjugar la ventaja de la RR (apropiacin)


con la SJF (informacin del tiempo de los procesos)

Cambia el proceso que est en ejecucin cuando un


proceso entra en la cola de preparados con una exigencia de

tiempo de ejecucin

total menor que

le queda al proceso que est en curso.

Ejemplo:

Cronograma o diagrama de ocupacin:

E
D
C
B
A
5
Tema 2: GESTIN DE PROCESOS

10

15

20
91

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)

Tablas de sucesos

Finalizados

0
1
2
3

A, C

A, C

A, C

A, C

10

A, C, B

11

A, C, B

12

A, C, B

13

A, C, B

14

A, C, B, E

15

A, C, B, E

16

A, C, B, E

17

A, C, B, E

18

A, C, B, E

19

A, C, B, E

20

Esperando

Ejecucin

A3
B5, A2
B5
B5
C2, B4
B4, D6,C1
B4, D6
D6
D6, E4, B2
D6,E4
D6,E4
D6
D6
D6
D6

A3
A2
A1
B5
C2
C1
B4
B3
B2
B1
E4
E3
E2
E1
D6
D5
D4
D3
D2
D1

A, C, B, E, D

Tema 2: GESTIN DE PROCESOS

92

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)

Tabla de tiempos

ti

tf

Ts

Te

10

0.55

20

15

0.4

14

0.67

Media

0.72

Nombre
proceso

Ejemplo 2: con entrada salida


Proceso

to

Ejecucion

Cola

1 + E/S + 1

2 + 2 E/S + 1

3 + 2 E/S + 1

1 + 1 E/S + 2

Tema 2: GESTIN DE PROCESOS

93

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)

Cronograma o diagrama de ocupacin:

Tablas de sucesos

Tema 2: GESTIN DE PROCESOS

94

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)


t

Finalizados

E/S

B5

B5
A1

B4

A2

A3

B4 , A1

Ejecucin

A3

Esperando

B4

B3

C2

C2

B2

D6 ,C1

C1

A, C

B 1 , D6

B1

A, C, B

D6

D6

A, C, B

D5 , E4

E4

A, C, B

D5

D5

10

A, C, B

D4 ,E2

E2

11

A, C, B

D4

E1

12

A, C, B,E

D4

D4

13

A, C, B, E

D3

14

A, C, B, E

D2

15

A, C, B, E

16

A, C, B, E, D

Tema 2: GESTIN DE PROCESOS

E3

D6
D1

D1

95

9.6.4 Prximo proceso el de tiempo restante ms corto (SRT)

Tabla de tiempos

Nombre proce-

ti

tf

Ts

Te

2/3=0.67

3/6=0.5

2/2=1

16

11

4/11=0.36

12

3/4=0.75

Media

5.2

2.4

0,656

so

Las caractersticas de la poltica son:

Excelente I y un
es lo ms corta

Te muy bajo (la cola de preparados


posible alto rendimiento.).

Bajo Tiempo de Espera para la mayora de los


procesos.

Puede ser injusta, incluso causar 'inanicin'.


Gran sobrecarga ya que hay que almacenar el tiempo de ejecucin consumido por cada proceso.

Tema 2: GESTIN DE PROCESOS

96

9.6.5 Prximo el de ms alto ndice de respuesta (HRN)

9.6.5 Prximo el de ms alto ndice


de respuesta (HRN)

Es una poltica

no apropiativa.

Trata de corregir la desventaja de los procesos largos


en el SJF.

Calcula la expresin de la prioridad interna (P) como:

w+t
P =
t
donde
rados

w es
y t es

el tiempo de espera en la cola de prepael tiempo de ejecucin, cada vez que sea

necesario planicar.

Favorece a los procesos que ms tiempo lleven en el


sistema y a los ms cortos.

Tema 2: GESTIN DE PROCESOS

97

9.6.5 Prximo el de ms alto ndice de respuesta (HRN)

Ejemplo:

Cronograma o diagrama de ocupacin:

Tema 2: GESTIN DE PROCESOS

98

9.6.5 Prximo el de ms alto ndice de respuesta (HRN)

Tablas de sucesos:

Finalizados

Esperando

Ejecucin

B(1.4)

C,D

A,B

C(3),D(1.5), E(1)

A,B,C

D(1.8), E(1.5)

A,B,C,D

E(3)

8
10
16
20

A,C,B,E,D

Tema 2: GESTIN DE PROCESOS

99

9.6.5 Prximo el de ms alto ndice de respuesta (HRN)

Tabla de tiempos:

ti

tf

Ts

Te

0.71

10

0.33

16

11

0.54

20

12

0.33

Media

7.8

3.8

0.58

Nombre
proceso

Propiedades:

Un proceso corto tras uno largo espera mucho slo


si el largo ha comenzando su ejecucin.

Justa.
Costosa al tener que calcular la prioridad interna P.
Sobrecarga.

Tema 2: GESTIN DE PROCESOS

100

9.6.6 Colas Mltiples (MQ)

9.6.6 Colas mltiples(MQ)

Se divide la cola de procesos preparados en varias


colas, los procesos se asignan de forma

permanente

a una determinada.

Cada cola tendr asociado un algoritmo de planicacin.

Cundo se pasa el control a cada cola?

algoritmo

de planicacin entre colas.

Ejemplo 1:

Tres colas con algoritmo RR en cada ella con q =


1, 2 y 3 respectivamente.

El algoritmo entre colas es de prioridades apropiativo, la cola 1 es la ms prioritaria

Si un proceso en una cola de mayor prioridad interrumpe a otro situado en una cola de menor
prioridad el proceso pasa a ocupar la ltima posicin en la FIFO. SOLO PARA ESTE EJEMPLO.

Tema 2: GESTIN DE PROCESOS

101

9.6.6 Colas Mltiples (MQ)

Cronograma o diagrama de ocupacin:

Tablas de sucesos:

0
1
2
3
4
5
6
7
8
10
13
16
19

Finalizados

Esperando
C1

C2

Ejecucin

C3

B,A

A,B

B,A

A,B

D,E

A,B,C

D,E

A,B,C

E,D

A,B,C

D,E

A,B,C,D

A,B

Tema 2: GESTIN DE PROCESOS

102

9.6.6 Colas Mltiples (MQ)

Finalizados

C1

20

Esperando
C2

Ejecucin

C3

A,B,C,D,E

Tabla de tiempos:

ti

tf

Ts

Te

0.6

0.71

10

0.3

19

14

0.43

20

12

0.33

Media

8.8

4.8

0.47

Nombre
proceso

Tema 2: GESTIN DE PROCESOS

103

9.6.6 Colas Mltiples (MQ)

Ejemplo 2: mismas condiciones de Ejemplo 1 y los


siguientes procesos:

to

tejecucion

Nombre
proceso

Si una proceso en una cola de mayor prioridad interrumpe a otro situado en una cola de menor prioridad
el proceso pasa a ocupar la ltima posicin en la FIFO.
SOLO PARA ESTE EJEMPLO.

Cronograma o diagrama de ocupacin:

E
D
C
B
A
5

Tema 2: GESTIN DE PROCESOS

10

15

20

104

9.6.6 Colas Mltiples (MQ)

Tablas de sucesos:
t

0
1
2
3
4
5
7
8
11
14
17
20
22

Finalizados

Esperando
C1

C2

Ejecucin

C3

E,D

D,E

D,E

A,B

D,E

A,B

D,E

A,B,C

D,E

A,B,C

E,D

A,B,C

D,E

A,B,C,D

A,B,C,D

A,B,C,D,E

Tema 2: GESTIN DE PROCESOS

105

9.6.6 Colas Mltiples (MQ)

Tabla de tiempos:
Proc.

ti

tf

Ts

Te

0.8

17

15

0.4

22

21

12

0.4

Media

8.8

4.4

0.72

Tema 2: GESTIN DE PROCESOS

106

9.6.7 Realimentacin de colas mltiples (FB)

9.6.7 Realimentacon de colas


mltiples (FB)

Si queremos tratar de formas justa a los procesos


necesitamos conocer su longitud, memoria, si est
limitado por proceso o por E/S, etc...

Nos conformamos con asumir las siguientes reglas:

Favorecer a los procesos cortos.


Favorecer a los procesos limitados por E/S, porque
as ocupan los recursos y dejan libres el procesador
para procesos limitados por E/S.

Determinar la naturaleza del trabajo a realizar para


poder realizar su planicacin.

Se divide la cola de procesos preparados en varias, de


la forma cola1, cola2, cola3, ... de forma que la cola
cib nmero mayor tiene asignada una prioridad menor.

Para cada cola se le concede al proceso un determinado tiempo de procesador

Tn ,

de forma que si excede

su tiempo se pasa a la cola de nivel inmediatamente


Tema 2: GESTIN DE PROCESOS

107

9.6.7 Realimentacin de colas mltiples (FB)

inferior (con esto vamos disminuyendo su prioridad


mientras ms tiempo est en el sistema)

Tiempo que cada proceso est en una cola de un


determinado nivel:

Tn = Tm2nm
donde

Tmes

el tiempo del procesador que puede con-

sumir un proceso en el nivel de ms prioridad,

es el

nivel.

El tiempo de la ltima la ser innito.

Parmetros:

Nmero de colas a usar.


Algoritmo de planicacin de cada cola.
Mtodo de paso de una cola a otra.
Cola en la que comienza cada proceso.
Algoritmo de planicacin entre las distintas colas.

Se intenta dar un trato justo, separando los procesos


por categora.
Tema 2: GESTIN DE PROCESOS

108

9.6.7 Realimentacin de colas mltiples (FB)

Los procesos limitados por procesador terminarn en


las colas del nivel ms bajo. Dejando en las de mayor
prioridad los procesos ms interactivos.

Caractersticas de la poltica:

Soporta bien cargas de procesos altas. Los procesos


se reparten entre las colas.

Es adaptable a las necesidades del sistema (Segn


gestionemos cada cola)

Es apropiativa entre colas.

Ejemplo 1:

suponiendo q=1, que cada uno gasta

un quantum por cola, cuando consumen un quamtum


se cambian de cola y que todos los procesos empiezan
por la cola de ms alta prioridad y no hay lmite de
colas.

Cronograma o diagrama de ocupacin:

E
D
C
B
A
5

10

15

20

Tabla de sucesos:

Tema 2: GESTIN DE PROCESOS

109

Tema 2: GESTIN DE PROCESOS


C

5
C, D
C

3
4

A, B

C2

C1
A

Fin.

A, B,

A, B,

A, B

A, B

A, B

A, B

C3

C4

Esperando
C5

C6

Eje.

9.6.7 Realimentacin de colas mltiples (FB)

110

Fin.

Tema 2: GESTIN DE PROCESOS

C, A, E

C, A, E, B

18

B, D, E

B, D

17

14

C, A

13

D, E

C4

C, A

C, A

12

B, D, E

A, B, D, E

C3

16

C, A

11

C2

D, E

C, A

10

C1

Esperando

15

B, D

B, D

C5

C6

Eje.

9.6.7 Realimentacin de colas mltiples (FB)

111

C4
C3

C, A, E, B

C, A, E, B,

19

20

Fin.
t

C1

C2

Esperando

C5

C6

Eje.

9.6.7 Realimentacin de colas mltiples (FB)

Tema 2: GESTIN DE PROCESOS

112

9.6.7 Realimentacin de colas mltiples (FB)

Tabla de tiempos:

ti

tf

Ts

Te

11

11

0.27

18

17

12

0.29

0.67

20

15

0.40

17

0.44

Media

7.8

3.8

0.41

Nombre
proceso

Tema 2: GESTIN DE PROCESOS

113

9.6.8 La prioridad y los algoritmos de planicacin

9.6.8 La prioridad y los algoritmos


de planicacin

Hasta ahora no hemos tenido en cuenta las prioridades


externas.

Normalmente los sistemas desdoblan las colas en tantas como prioridades puedan alcanzar los procesos (de
la forma en que lo hacen las colas multiples)

El problema de las prioridades es la postergacin indenida o inanicin que pueden sufrir ciertos procesos.
Para evitarlo se usa la tcnica del 'envejecimiento de
prioridades', mediante la cual el proceso va perdiendo
prioridad conforme ms tiempo est en el sistema.

Estos algoritmos de envejecimiento de prioridades pueden ser adems apropiativos o no apropiativos, segn
las acciones que tomen con el proceso que est en
ejecucin en un momento dado.

Tema 2: GESTIN DE PROCESOS

114

9.7 Planicacin en POSIX

9.7 Planicacin en POSIX

POSIX es el acrnimo de Portable Operating System


Interface, viniendo la X de UNIX con el signicado
de la herencia de la API (Se traducira como Sistema
Operativo Portable basado en UNIX).

Este estndar especica una serie de polticas de planicacin aplicable a procesos y procesos ligeros.

Cada unidad ejecutable lleva asociada una poltica y


una prioridad, que pueden ser modicados.

Cada poltica de planicacin lleva asociada un rango


de prioridades (al menos 32 niveles). Se elegir siempre
al proceso o hilo con la prioridad ms alta.

Las polticas disponibles en POSIX son:

FIFO modicada:

El proceso es expulsado por otro de mayor prioridad para a ser el primero de su cola.

Un desbloqueo

Tema 2: GESTIN DE PROCESOS

ltimo de su cola.
115

9.7 Planicacin en POSIX

replanicacin.
Si tras esta el proceso resulta expulsado ltimo
Cambio de prioridad o poltica

de su cola.

Cclica (Round-Robin).

Fin quantum

nal de la cola de su prioridad.

El proceso es expulsado por otro de mayor prioridad para a ser el primero de su cola pero con el
resto de quantum que an no haba consumido.

Otra: Esta tercera poltica es opcional y depender


de la implementacin que se realice de la norma
POSIX.

Implementacin LINUX del estndar POSIX

soporta tres tipos de planicacin, dos algoritmos


de TR (tiempo real) y un algoritmo de TC (tiempo
compartido).

Las prioridades de los procesos en TR son siempre


mayores que las de TC.

Las polticas de planicacin son:

Las de los procesos en TR son las denidas en el


estndar POSIX con prioridades estticas.

La poltica de TC es la tercera poltica de planicacin del estndar POSIX, y est implementada


mediante una RR con prioridades. Su funcionamiento es el siguiente:

Tema 2: GESTIN DE PROCESOS

116

9.7 Planicacin en POSIX

Todo proceso tiene asignada una prioridad base.


Cada vez que se produce la interrupcin del
reloj se resta una unidad a la prioridad del
proceso en ejecucin.
Se elige al proceso ms prioritario de la cola.
Si llega un momento en que todos los procesos
tienen una prioridad igual a 0 se produce un
reajuste de las prioridades.
La nueva prioridad se calcula dividiendo por
2 la actual y sumando la prioridad base

procesos preparados vuelven a su prioridad base


y bloqueados aumentan (prioridad mayor a la
de los que ya estaban)
Qu ocurre cuando un proceso del tipo 'tiempo compartido' es expulsado cuando llega un
proceso en tiempo real? No est documentado.

Tema 2: GESTIN DE PROCESOS

117

9.8 Planicacin en Windows 2000

9.8 Planicacin en Windows 2000

La unidad de planicacin en NT son las hebras.

Estados de un hilo:

Iniciado

Situar en listos

Reiniciado
Fin bloqueo
finalizado

bloqueado

Bloqueado
Ejecucin
finaliza

Fin espera

Pila del
Kernel en
SWAP
transicin

Pila del
Kernel en
Memoria

Listos

Expulsado

Seleccionado
reserva

ejecucin
Expulsado

Listo, para ejecutarse


Reserva, ser la siguiente hebra (slo una) en ejecutarse en un procesador determinado.

Ejecucin, permanece en este estado hasta que


llega un proceso con mayor prioridad, se acaba su
quantum o el hilo naliza su ejecucin.

Tema 2: GESTIN DE PROCESOS

118

9.8 Planicacin en Windows 2000

Bloqueado, al nalizar de bloqueo, segn su prioridad, puede pasar directamente a ejecucin o ir a


preparados.

Transicin, est preparado, pero la pila del SO para


este proceso no est en MP.

Finalizado, al terminar pasa a este estado, donde


puede o no ser eliminado del sistema.

La planicacin es Round-Robin con prioridades y con


expulsin.

32 niveles ascendentes de prioridad divididos en

16 niveles con prioridades de TR (16 a 31), es ja.


15 niveles con prioridades variables (1 al 15), cam-

biando dentro del rango ( bloqueados).

Un nivel de sistema (0).

Tema 2: GESTIN DE PROCESOS

119

9.9 Planicacin clsica en UNIX

9.9 Planicacin clsica en UNIX

Est diseado para entornos de TC aunque SVR4


tambin cubres las necesidades del TR.

Emplea realimentacin multinivel usando RR con, q


= 1 sg., en cada una de las colas de prioridad.

Cmo se calcula la prioridad?

CP Uj (i 1)
CP Uj (i) =
2
Pj (i) = Basej + CP Uj (i) + nicej
donde

CP Uj (i)es

la media ponderada de la utiliza-

j en el intervalo i, Pj (i)
del proceso j al principio del intervalo
prioridad base del proceso j y nicej es

cin de la CPU del proceso


es la prioridad

i, Basej

es la

un factor de ajuste controlado por el usuario.

El propsito de la prioridad base es dividor los procesos


en bandas jas de prioridad.
Tema 2: GESTIN DE PROCESOS

120

9.9 Planicacin clsica en UNIX

Los valores de

CP U

nice

estn restringidos para

impedir que el proceso salga de la banda asignada.

Las bandas que se denen, en orden decreciente de


prioridad son:

Intercambio
Control de dispositivos de E/S de bloques.
Gestin de archivos.
Control de dispositivos de E/S de caracteres.
Procesos de usuario.

Esta jerarqua garantiza la utilizacin eciente de los


dispositivos de E/S.

Dentro de la banda de usuario se trata de penalizar a


los procesos con carga en el procesador a costa de los
procesos con carga de E/S.

Tema 2: GESTIN DE PROCESOS

121

10 Comunicacin y sincronizacin entre procesos

10 Sincronizacin entre procesos

Los procesos interaccionan entre si.

Normalmente son controlados por los programadores


para beneciarse de la concurrencia.

Los procesos deben sincronizarse cuando se van a usar


recursos compartidos.

Los procesos deben ser ellos mismos los que se encarguen de sincronizar sus operaciones, aunque como
ayuda a los usuarios los SO multitarea y algunos lenguajes de programacin proporcionan una coleccin
de primitivas de sincronizacin entre procesos

Tres formas de interaccin entre procesos:

Sincronizacin entre procesos: protocolos y mecanismos usados para preservar la integridad y consistencia del sistema.

Sealizacin entre procesos: intercambio de seales


de sincronizacin usados para coordinar su progreso
colectivo

Tema 2: GESTIN DE PROCESOS

122

10 Comunicacin y sincronizacin entre procesos

Comunicacin entre procesos: los procesos se comunican con propsitos tales como intercambiar datos,
acumular resultados colectivos, ... (Si lo hacen mediante memoria compartida deben sincronizar sus
accesos a dicha memoria compartida).

La concurrencia da lugar a un aumento de la productividad si se implementa bien, pero puede degradar la


abilidad cuando el sistema se contamina con sincronizaciones indeseadas.

Tema 2: GESTIN DE PROCESOS

123

Vous aimerez peut-être aussi