Publicado el 28 de Mayo del 2018
689 visualizaciones desde el 28 de Mayo del 2018
1,0 MB
39 paginas
Creado hace 11a (01/04/2014)
UT_x2:
Administración de procesos del sistema
IES Juan de la Cierva
&
Facultad de Informática
Universidad de Murcia
Índice
• 1. Introducción (Tanenbaum, 2.1)
• 2.Estados de un proceso (Tanenbaum, 2.1.5 y Stallings 3.2)
• 3. Implementación de procesos (Tanenbaum, 2.1.6 y Stallings 3.3,
3.4)
• 4. Hilos (threads) de un proceso (Tanenbaum, 2.2)
• 5. Planificación de procesos (Tanenbaum, 2.4)
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
2
1. Introducción
La CPU es un recurso importantísimo
– Más procesos que CPUs ⇒ ¿qué proceso la usa?
– Ocurre igual con otros recursos limitados (p.ej. la memoria)
En los SSOO actuales distintos usuarios, e incluso un mismo usuario,
realizan tareas concurrentemente, por tanto el SO es el encargado de
realizan tareas concurrentemente, por tanto el SO es el encargado de
gestionar la CPU como un recurso
•
•
• Alternancia rápida entre procesos:
– cambio de contexto ⇒ Pseudoparalelismo
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
3
1. Introducción
• Modelo de procesos:
– Aparentemente secuenciales, ocultan la dificultad de las interrupciones y ofrecen un
modelo de programación más sencillo
•
El proceso
– es la unidad para describir las tareas de cada usuario.
– Necesita recursos para poder funcionar: pila, registros, valor en las variables, memoria,
tiempo de CPU…
• Recordemos:
– proceso, dinámico;
– programa, estático
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
4
1. Introducción
• Ventajas de tener varios procesos en ejecución en memoria:
– compartir recursos software y hardware
– acelerar la ejecución (sobre todo si tenemos varias CPUs)
– comodidad
– etc (proponed vosotros)
•
¿Qué proceso usa la CPU?
– Tenemos más procesos que CPUs, por tanto necesitamos un algoritmo de planificación
para decidir qué proceso de entre todos los disponibles coge su rodaja de tiempo de
CPU.
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
5
•
•
1. Introducción
Es necesario un mecanismo de creación y terminación de procesos: normalmente
una llamada al sistema.
Creación de procesos:
– Inicio del sistema (creados por el núcleo al iniciarse el SO)
• Procesos interactivos vs. demonios (daemons)
– Mediante llamadas al sistema
– Mediante llamadas al sistema
• Llamada al sistema explícita para crear procesos
– UNIX fork+exec, Win32 CreateProcess
• El usuario inicia un proceso
– Ya sea en modo gráfico o en algún shell
•
Inicio de un trabajo por lotes
– Normalmente en sistemas de mainframe
Univ de Murcia - IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
6
1. Introducción
• Un proceso puede terminar por varias razones:
– Terminación normal (voluntaria)
• UNIX exit, Win32 ExitProcess
– Terminación por error (voluntaria)
• También usando esas llamadas al sistema, pero devolviendo un código de error
indicando el fallo
– Error fatal (involuntaria)
– Terminado por otro proceso (involuntaria)
– Terminado por otro proceso (involuntaria)
• UNIX kill, Win32 TerminateProcess
•
Jerarquía de procesos: procesos que crean otros procesos
– En algunos SSOO como Linux, el kernel construye y gestiona esa jerarquía, permitiendo a padres
matar a hijos, por ejemplo.
– En otros SSOO como Windows, el kernel no lo gestiona sino que proceso que crea otro, recibe un
handler que le permite controlarlo, pero también pasárselo a otro proceso, lo que invalida el
concepto de jerarquía.
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
7
1. Introducción
•
Creación de un proceso en UNIX:
– Uso de fork+exec
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
8
•
•
2. Estados de un proceso
Estados de un proceso
– En ejecución: tiene la CPU
– Listo: detenido, otro tiene la CPU
– Bloqueado: no se puede ejecutar, espera algún evento
Se puede incluir la posibilidad de suspender y reanudar procesos
– Aliviar la carga temporalmente
– Depuración
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
9
2. Estados de un proceso
• Nuevo. Se acaba de crear y aunque tiene el BCP, no ha sido cargado en memoria
•
•
•
Ejecutando.
Listo. Está preparado para ejecutarse cuando haya oportunidad
Bloqueado. No se puede ejecutar hasta que se cumpla un evento determinado o se
complete una operación de E/S
Saliente. Se ha quitado del grupo de procesos ejecutables porque ha sido abortado por
alguna razón
•
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
10
2. Estados de un proceso
•
Transiciones:
– Nuevo ⇒ Listo. Se intenta que no haya demasiados procesos activos
– Listo ⇒ Ejecutando. Se selecciona un proceso Listo y se le asigna la CPU
– Ejecutando ⇒ Saliente. El proceso finaliza por cualquier motivo
– Ejecutando ⇒ Listo. Acaba el quantum o en algunos SSOO se desbloquea un proceso
– Ejecutando ⇒ Listo. Acaba el quantum o en algunos SSOO se desbloquea un proceso
prioritario
– Ejecutando ⇒ Bloqueado. Solicita algo por lo que debe esperar
– Bloqueado ⇒ Listo. Sucede lo que estaba esperando
– Listo/Bloqueado ⇒ Saliente. No se muestra. A veces un padre puede terminar la ejecución
de un hijo alguna razón
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
11
2. Estados de un proceso
•
•
•
•
Listo. Está en memoria principal disponible para ejecución
Bloqueado. Está en memoria principal esperando un evento
Listo suspendido. Está en memoria secundaria disponible para ejecutarse
Bloqueado suspendido. Está en memoria secundaria esperando un evento
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
12
2. Estados de un proceso
– Bloqueado ⇒ Bloqueado suspendido. Si no hay procesos listos, un proceso bloqueado se pasa a disco
para liberar memoria.
– Bloqueado suspendido ⇒ Listo suspendido. Llega el evento.
– Listo suspendido ⇒ Listo. Si no hay procesos listos, necesitaremos traer uno para ejecutarlo. También
puede que un proceso listo suspendido tenga la mayor prioridad, o que haya quedado memoria libre.
– Listo ⇒ Listo suspendido. Normalmente se suspenden procesos bloqueados, pero se puede preferir
suspender un proceso listo de baja prioridad ante uno bloqueado de alta prioridad. Se busca obtener más
suspender un proceso listo de baja prioridad ante uno bloqueado de alta prioridad. Se busca obtener más
memoria libre.
– Nuevo ⇒ Listo suspendido/Listo. Creamos el proceso en disco cuando no hay memoria disponible y no
tiene prioridad como para expulsar a otro
– Bloqueado suspendido ⇒ Bloqueado. Un proceso termina liberando memoria, uno de los bloqueados
suspendidos tiene la mayor prioridad y el SO sospecha que el evento que espera sucederá en breve
(heurística).
– Ejecutando ⇒ Listo/Suspendido. Un proceso de mayor prioridad despierta de bloqueado suspendido.
– Cualquier estado ⇒ Saliente.
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
13
3. Implementación de procesos
• Para administrar los procesos se usa una tabla de procesos.
• Cada entrada de la tabla es un PCB (Process Control Block)
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
14
3. Implementación de procesos
• Modos de ejecución
– Modo usuario
– Modo núcleo (root, protegido, supervisor...)
– El proceso está compuesto por la parte usuario (lo que el usuario implementa) y la parte
de núcleo (las rutinas del núcleo que utiliza)
•
¿Cómo se crea un proceso?
– Asignar un ID único al proceso
– Asignar espacio para el proceso
– Iniciar el PCB
– Incluir al proceso en los algoritmos de planificación
– Actualizar otras tablas (p.ej. contabilidad)
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
15
3. Implementación de procesos
•
•
•
¿Cuándo cambiar de proceso?
– Interrupción de reloj
– Interrupción de E/S
– Llamada al sistema
– Fallo de memoria (fallo de memoria virtual)
Todo a través de interrupciones (hw. o sw.)
Todo a través de interrupciones (hw. o sw.)
• No es lo mismo un cambio de proceso que un cambio de modo
– Cambiar de modo: guarda registros, cambia pila,...
– Cambiar de proceso: actualizar BCP, mover entre colas, seleccionar nuevo proceso,
cambiar estructuras de gestión de memoria, activarlo...
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
16
3. Implementación de procesos
•¿Dónde está el SO para el proceso?
P1
P1
Código
Código
Datos
Datos
Pila
Pila
i
o
d
o
m
e
d
o
b
m
a
c
n
n
o
o
c
c
a
a
m
m
e
e
t
t
s
s
s
s
l
l
i
i
a
a
a
a
d
d
a
a
m
m
a
a
L
L
l
l
P1
Código
P2
Datos
Pila
i
i
o
o
d
d
o
o
m
m
e
e
d
d
o
o
b
b
m
m
a
a
c
c
n
u
n
o
c
o
s
e
c
o
r
p
o
o
m
m
s
s
m
m
i
i
l
l
a
a
l
l
o
o
r
r
t
t
n
n
o
o
c
c
l
l
e
e
e
e
v
v
e
e
u
u
v
v
e
e
D
D
l
l
El núcleo
está oculto
por medio
de la
memoria
virtual
Núcleo
Núcleo
El núcleo
se hace
visible
Núcleo
Cambio de
contexto a otro
proceso
seleccionado por
el planificador
El núcleo vuelve a ser invisible.
Código
Datos
Pila
Núcleo
Univ de Murcia-IES Ing. de la Cierva. Paralelismo en la rama de tecnologías informáticas
17
3. Implementación de procesos
• Mecanismo de cambio de modo
1. El PC pasa a apuntar a la rutina de tratamiento de la excepción
2. Cambia de modo usuario a modo núcleo
3. El SO guarda el contexto del proceso interrumpido (estado del proceso) en su BCP
4. A partir de aquí puede volver al mismo proceso (recuperando su contexto del BCP,
cambiando a modo usuario y continuando por donde se interrumpió), o bien provocar un
cambio de proceso.
• Mecanismo de cambio de proceso
• Mecanismo de cambio de proc
Comentarios de: UT_x2: Administración de procesos del sistema (0)
No hay comentarios