Professional Documents
Culture Documents
TEMA 2. Procesos
Concepto de proceso
Estados de un proceso
Cambio de contexto
Planificacin de procesos
Tipos de planificadores
espac!ador
%ebras (T!reads)
Tema 2: Procesos y hebras
TEMA 2. Objetivos
&' Conocer ( diferenciar los conceptos de proceso y hebra'
)' Conocer los estados b*sicos de un proceso+!ebra, causas ( efectos
que produce la transicin entre dic!os estados'
-' Conocer el concepto de cambio de contexto ( sus costes'
.' Contenido ( utilidad de las estructuras de datos que el /$ utili0a
para la 1estin de los procesos+!ebras'
2' Conocer el concepto de planificacin, ( los distintos planificadores
de CP#, as" como al1unos de los al1oritmos de planificacin de
CP#'
3' Comparar los distintos al1oritmos de planificacin de CP#'
4' Conocer ( compara las distintas implementaciones de las !ebras
5' Conocer las operaciones b*sicas sobre procesos+!ebras que pueden
reali0ar los usuarios
Tema 2: Procesos y hebras
&' Concepto de proceso
Qu entendemos por proceso?
:nformacin de planificacin'
El planificador a corto
plazo 7
8
traba6a con la cola de
preparados'
8
se in9oca mu(
frecuentemente
(milise1undos) por lo
que debe ser r*pido'
El planificador a largo
plazo
8
Permite controlar el
grado de
multiprogramacin'
8
se in9oca poco
frecuentemente
(se1undos o minutos),
por lo que puede ser
m*s lento'
Tema 2: Procesos y hebras
)' Planificacin de procesos
Clasificacin de procesos
Gtricas de planificacin
8
G*xima utili0acin'
8
G*xima producti9idad'
8
G"nimo tiempo de retorno'
8
G"nimo tiempo de respuesta'
8
G"nimo tiempo de espera'
>C>/
Por turnos
Colas mKltiples
Es no apropiatio.
T
n
O duracin actual de la n=sima r*fa1a
n
O 9alor estimado de la n=sima r*fa1a
C P &
efinimos7
nN&
O P Q T
n
N (&=P)
n
C
O 9alor inicial (constante o promedio 1lobal del sistema)
Tema 2: Procesos y hebras
E6emplos
P O C
nN&
O
n
;a !istoria reciente no influ(e'
P O &
nN&
O T
n
/lo cuenta la r*fa1a actual'
/i desarrollamos la formula7
nN&
O P Q T
n
N (&=P) Q P Q T
n=&
N
(&=P)
)
Q P Q T
n=)
N ''' N (&=P)
q
Q P Q T
n=q
/i P O &+) cada trmino sucesi9o tiene menos
efecto'
Tema 2: Procesos y hebras
Planificacin por prioridades
E
?o apropiati9o
Dpropiati9o
Tema 2: Procesos y hebras
Por Turnos (Mound=Mobin)
Es apropiati9o'
q O .
>inali0a D
>inali0a C >inali0a B >inali0a
Tema 2: Procesos y hebras
Por Turnos (( :::)
E
El al1oritmo de cada cola es
-- con #12/ 2 y 3 mls1'
respecti9amente
El al1oritmo entre colas es
prioridades no apropiativo
t * & ' 2 ( 2 - '& ', '/ '( '2 '1 22
0ola ' A A + +A A+ +
0ola 2 0 0 0
0ola , E E3 3E 3E 3E 3E E3 E3 E3 E3 3E E
>in de D
>in de B
>in de
>in de E
Tema 2: Procesos y hebras
>in de B
Colas mKltiples (( :::)
t * & ' 2 , / ( . - '& '' '2 ', '2 '1 22 2,
0ola ' A A + + + A
0ola 2 0 0 0 0
0ola , E E3 3E 3E 3E 3E 3E E3 E3 E3 E3 3E E3 3E E
& ' 2 , / ( 2 . - 1 '& '' '2 ', '/ '( '2 '. '- '1 2& 2' 22 2, 2/ 2(
D
B
C
E
El al1oritmo de cada cola es
-- con #12/ 2 y 3 mls1'
respecti9amente
El al1oritmo entre colas es
prioridades es apropiativo
P T6leada !"faa +lo7ueo !"faa 0ola
A & 2 '& ' '
+ / ' ( 2 '
0 , / ) ) 2
3 2 2 ) ) ,
E ' 1 ) ) ,
>in de D
>in de C
>in de
>in de E
Tema 2: Procesos y hebras
Colas mKltiples con realimentacin
E6ecucin7
8
Padre e !i6o se e6ecutan concurrentemente'
8
Padre espera al que el !i6o termine'
Espacio de direcciones7
8
%i6o es un duplicado del padre (#nix)'
8
%i6o tiene un pro1rama que lo car1a (AG/)
E6emplo7 En #?:S
8
;a llamada al sistema fork (bifurcar) crea un nue9o
proceso'
8
;a llamada exec despus de fork reempla0a el
espacio de direcciones con el pro1rama del nue9o
proceso'
Tema 2: Procesos y hebras
-' $peraciones sobre procesos
Creacin de procesos (( :A)
6n proceso(
8
6nidad de propiedad de los recursos( el proceso
inclu(e memoria ( seccin de cdi1o, seccin de datos)
( otros recursos como7 arc!i9os abiertos, seRales,'''
8
6nidad de expedicin7 si1ue un camino de e6ecucin
que puede ser intercalada con la de otros procesos'
(Contador de pro1rama, con6unto de re1istros, espacio
de pila, estado)
Godelo de proceso
mono!ilo
Godelo de proceso multi!ilo
Espacio de
direcciones
del usuario
Pila del
usuario
Pila del
nKcleo
Bloque de
control de
proceso
Espacio de
direcciones
del usuario
Pila del
usuario
Pila del
nKcleo
Bloque de
control de
!ilo
Pila del
usuario
Pila del
nKcleo
Bloque de
control de
!ilo
%ilo %ilo
Bloque de
control de
proceso
Tema 2: Procesos y hebras
.'%ebras
Aenta6as de las !ebras
7ebras usuario
8
Todo el traba6o de 1estin de !ebras lo reali0a la
aplicacin, el nKcleo no es consciente de la existencia
de !ebras'
8
/e implementan a tra9s de una biblioteca en el ni9el
usuario' ;a biblioteca contiene cdi1o para 1estionar
las !ebras7
C crear hebras; intercambiar datos entre hebras; planificar la e4ecucin
de las hebras y sal8ar y restaurar el conteBto de las hebras?
8
;a unidad de planificacin para el nKcleo es el proceso
Tema 2: Procesos y hebras
.'%ebras
Tipos de !ebras (::)
Enfo#ues h5bridos
8
:mplementan tanto !ebras a ni9el Iernel como usuario (p' e6'
/olaris ))'
8
;a creacin de !ebras, ( la ma(or parte de la planificacin (
sincroni0acin se reali0an en el espacio de usuario'
8
;as distintas !ebras de una aplicacin se asocian con 9arias
!ebras del nKcleo (mismo o menor nKmero), el pro1ramador
puede a6ustar la asociacin para obtener un me6or resultado'
8
;as mKltiples !ebras de una aplicacin se pueden paraleli0ar
( las llamadas al sistema bloqueadoras no necesitan bloquear
todo el proceso'
Tema 2: Procesos y hebras
.'%ebras
Tipos de !ebras ( ( A:)
Biblioteca
de !ilos
Biblioteca
de !ilos
Espacio
de usuario
Espacio
de usuario
Espacio
de
usuario
Espacio
de nKcleo
Espacio
de nKcleo
Espacio
de nKcleo
&a' ivel de usuario puro
(b' ivel de n.cleo puro
&c' %ombinado
%ilo a ni9el de usuario %ilo a ni9el de nKcleo Proceso
%ilos a ni9el de usuario ( a ni9el de nKcleo'