PDF de programación - UT_x2: Administración de procesos del sistema

Imágen de pdf UT_x2: Administración de procesos del sistema

UT_x2: Administración de procesos del sistemagráfica de visualizaciones

Publicado el 28 de Mayo del 2018
602 visualizaciones desde el 28 de Mayo del 2018
1,0 MB
39 paginas
Creado hace 10a (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
  • Links de descarga
http://lwp-l.com/pdf11370

Comentarios de: UT_x2: Administración de procesos del sistema (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad