Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS OPERATIVOS I
1.
UNIDAD II
2.
3.
INSTITUTO TECNOLGICO
DE MORELIA
PROCESOS Y
SUBPROCESOS
4.
5.
Departamento de Sistemas y
Computacin
Procesos
Subprocesos
Comunicacin entre procesos
Problemas clsicos de comunicacin entre
procesos
Calendarizacin
sanchezraya@hotmail.com
1. PROCESOS
z
z
Pseudoparalelismo
Paralelismo en sistemas multiprocesador
Se crean con:
z
z
Al inicializar el sistema
z
z
b)
c)
Comando o aplicacin
En llamadas al sistema
Solicitud de usuario para crearlo
z
d)
Fork + execve
C
CreateProcess
P
b)
E it Unix,
Exit
U i E
ExitProcess
itP
Win
Wi
z
c)
d)
b)
c)
Estados:
a)
2.
3.
4.
10
11
12
Administracin de procesos
Registros
Contador de programa
Palabra del estado del
programa
Apuntador de pila
Estado del proceso
Prioridad
Parametros de calendarizacin
ID de proceso
Proceso padre
Grupo de procesos
S l
Seales
Hora de inicio del
proceso
Tiempo de CPU
consumido
Tiempo de CPU de
los hijos
Hora de la siguiente
alarma
13
Administracin de memoria
c)
Administracin de archivos
Directorio raz
Directorio de trabajo
Descriptores de archivo
ID de usuario
ID de grupo
14
Vector de interrupcin
z
z
z
z
z
z
z
15
16
2. SUBPROCESOS
z
Proceso:
Un espacio de direcciones
U slo
Un
l subproceso
b
d
de control.l
17
Subproceso:
18
19
20
Espacio de direcciones
Variables globales
Archivos abiertos
Procesos hijos
Alarmas pendientes
Seales y manejadores de seales
Informacin contable
21
Contador de programa
R i
Registros
Pila
Estado
22
z
z
23
Procedimiento en
ejecucin, que todava no
se retorna
Variables locales
Direccin de retorno del
procedimiento
Procedimientos de biblioteca de
subprocesos:
Thread_create
Th
d
t
Thread_exit
Thread_wait Bloqueado
Thread_yield Cede el CPU al siguiente
24
Objetivos:
Ejemplos:
1.
Un procesador de textos:
z
z
z
z
2.
Un antivirus:
z
Centinelas en:
25
E-mail
Mensajera
Intrusos
Unidades extrables
Actualizaciones (LiveUpdate)
Vigencia licencia contrato
26
3.
Servidor Web
Web Cach
Mantiene en la memoria p
principal
p las p
pginas
g
ms
visitadas del sitio.
27
28
29
30
Despachador
Trabajador
31
z
z
32
z
z
33
34
35
36
z
z
37
38
Subproceso emergente:
No tienen historial
Inician desde cero
Esto agiliza su creacin
39
40
41
a) Antes b) Despus
R i
Revisar
lla Bibli
Bibliografa.
f
42
3. COMUNICACIN ENTRE
PROCESOS
z
Objetivos:
43
Se originan cuando se
comparten recursos
La idea es controlar la
concurrencia
El almacenamiento
compartido puede ser:
memoria principal,
archivos, etc.
Dos procesos que quieren tener acceso a la memoria compartida al mismo tiempo
44
45
2.
3.
4.
46
Inhabilitacin de interrupciones
V i bl d
Variables
de bl
bloqueo
Alternancia estricta
Solucin de Peterson
La instruccin TSL
48
1.
Inhabilitacin de interrupciones
2. Variables de bloqueo
z
z
z
z
49
50
3. Alternancia estricta
z
z
z
4. Solucin de Peterson
Se inicia en 0
Slo puede entrar a la regin critica el proceso 0
Al finalizar la incrementa a 1, dndole el turno al proceso 1.
Este al finalizar la incrementa a 2 y as sucesivamente.
z
z
Desventaja:
z
51
Desventaja:
z
Desventaja:
z
N Nmero de procesos
Turno A quien le toca?
Interesado [N] Todos los que quieren entrar. Inicialmente
todos en 0 (FALSO).
52
Proceso:
z
z
z
z
z
53
54
55
z
z
56
Productor-Consumidor
z
z
z
z
57
Premisas:
58
59
60
10
Inconvenientes:
z
z
z
Solucin:
61
C
Cuando
d se iintenta
t t activar
ti
un proceso que esta
t activo,
ti
se activa el bit.
Cuando el proceso quiere desactivarse se apaga el bit y
el proceso sebe seguir activo.
No sirve para ms de dos procesos.
62
3.5. Semforos
Si es un valor mayor de 0
z
z
Down
z
Si el valor es mayor
y de 0,, decrementa el semforo.
Si es igual a 0, se bloquea (desactiva).
Up
z
Sleep = down
Wakeup = up
63
Determina:
64
sleep = down
wakeup
p = up
p
Down:
Decrementa semforo
0 se bloquea
Up:
Incrementa semforo
65
66
11
3.6. Mutexes
z
z
z
0 = Desbloqueado, !0 = Bloqueado
z
Procedimientos:
mutex_lock
mutex_lock
Mutex_unlock
67
68
3.7. Monitores
z
z
z
z
69
70
71
72
12
Wait = Bloquear
Signal = Habilita a otro proceso
73
74
Figura siguiente:
z
75
76
z
z
z
z
77
Send(destino, &mensaje)
Receive(origen, &mensaje)
78
13
En la figura siguiente:
Problema productor-consumidor con N mensajes.
79
80
3.9. Barreras
81
z
z
82
4. PROBLEMAS CLSICOS DE
COMUNICACIN ENTRE PROCESOS
z
83
84
14
85
86
Segunda solucin:
z
87
Cuarta solucin:
z
Tercera solucin:
z
88
89
Al tener hambre:
90
15
91
92
5. CALENDARIZACIN
93
94
z
z
Prioridad de procesos
Eficientar el uso de la CPU
z La carga/descarga de procesos es costosa.
95
96
16
4.
b)
97
L d
Le
da un ti
tiempo a cada
d proceso, sii agota
t ell ti
tiempo y
no acaba se suspende, y se toma otro listo.
Requiere interrupciones de reloj.
No expropiativa
Al bloquearse un proceso
Al recibir una interrupcin
z
Expropiativa
Al terminar un proceso
z
3.
Tipos de calendarizacin
a)
Al crear un proceso
z
2.
98
2.
3.
z
z
z
z
Sistemas interactivos
z
z
z
z
99
Equidad dar a cada proceso una porcin equitativa del tiempo de CPU.
Cumplimiento de polticas Que se ponga en prctica la poltica establecida.
Equilibrio mantener ocupadas todas las partes del sistema, CPU y E/S.
Tiempo real
Interactivos
Por lotes
100
FIFO
Trabajo ms corto primero
Tiempo restante ms corto primero
Calendarizacin de tres niveles
1.
FIFO
z
z
z
z
z
101
102
17
2.
No expropiativo
R
Requiere
i
saber
b llos tiempos
i
d
de ejecucin
j
i por
anticipacin
Slo funciona si estn todos los trabajos
disponibles.
Tiempos de retorno:
A=8, B=12, C=16 y D=20
Promedio: 14
103
4.
105
106
a)
Calendarizador de admisin
b)
c)
Calendarizador de CPU
Calendarizador de memoria
107
104
3.
Tiempos de retorno:
A=4, B=8, C=12 y D=20
Promedio: 11
108
18
109
1.
Ejemplo:
2.
Cuanto de 4 ms
Gasto administrativo de 1 ms
Estara consumiendo el 20% en gastos administrativos.
112
3.
Mltiples colas
113
110
111
Llamado Round-Robin
A cada proceso se le asigna un cuanto
114
19
4.
5.
115
116
6.
7.
117
118
b)
a)
b)
Poltica
Mecanismo
119
Calendarizacin garantizada
Estrictos
No estrictos
Peridicos
No peridicos
Usuario o proceso
En el kernel del SO
120
20
121
122
Calendarizacin
de subprocesos
en nivel usuario
usuario,
con cuanto=50
ms, se ejecutan
durante 5 ms en
cada rfaga de
CPU.
123
Calendarizacin
de subprocesos
en modo kernel
kernel,
con cuanto=50
ms, se ejecutan
durante 5 ms en
cada rfaga de
CPU.
124
REFERENCIA:
z
125
21