Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesos
Gustavo Romero L
opez
Arquitectura y Tecnologa de Computadores
15 de mayo de 2015
Gustavo Romero L
opez
Procesos
1 / 50
Definici
on Control Estado IPC
Indice
Definicion
Control
Estado
IPC
Gustavo Romero L
opez
Procesos
2 / 50
Definici
on Control Estado IPC
Lecturas recomendadas
Jean Bacon
Abraham Silberschatz
William Stallings
Andrew Tanuenbaum
Gustavo Romero L
opez
Procesos
3 / 50
Definici
on Control Estado IPC
Definicion
Gustavo Romero L
opez
Procesos
4 / 50
Definici
on Control Estado IPC
Definicion
Que es un proceso?
programa en ejecuci
on.
entorno de protecci
on.
algo din
amico.
Componentes basicos:
hebras/hilos de ejecuci
on.
espacio de direcciones.
Un programa es...
una lista de instrucciones (especie de receta de cocina).
algo est
atico.
varios procesos pueden ejecutar un mismo programa.
Procesos
5 / 50
Definici
on Control Estado IPC
Ejemplo: gcc
gcc es un programa.
Muchos usuarios pueden utilizarlo simult
aneamente.
Una u
nica copia del programa es compartida por todos.
Los procesos que ejecutan gcc para cada usuarios son
indenpendientes.
un fallo en uno no afecta a los demas.
Gustavo Romero L
opez
Procesos
6 / 50
Definici
on Control Estado IPC
Modelo de procesamiento
Todo el software se organiza en forma de procesos.
proceso = programa + entorno (procesador + memoria).
Objetivos:
multiprogramaci
on: maximizar el uso del procesador =
ocupar procesador continuamente = maximizar rendimiento.
tiempo compartido: interaccion como si cada proceso
dispusiera del sistema por completo = cambiar entre ellos
frecuentemente = cambiar entre ellos en los momentos
precisos.
Gustavo Romero L
opez
Procesos
7 / 50
Definici
on Control Estado IPC
Modelo de procesamiento
Clasificacion en funci
on del coste del cambio de proceso:
procesamiento pesado: proceso UNIX.
hebra de actividad y espacio de direcciones unificados.
el cambio de proceso implica 2 cambios de espacio de
direcciones.
EDx EDSO EDy
Gustavo Romero L
opez
Procesos
8 / 50
Definici
on Control Estado IPC
pila: stack
Procesos
9 / 50
Definici
on Control Estado IPC
Procesos
10 / 50
Definici
on Control Estado IPC
Atributos de un proceso:
Identificaci
on del proceso: identificadores del proceso, proceso
padre, usuario.
Estado del procesador: registros de prop
osito general, de
estado y control, puntero de pila.
Informaci
on de control del proceso: estado, planificacion,
estructuraci
on, comunicaci
on y sincronizaci
on, privilegios,
gesti
on de memoria, control de recursos y utilizacion.
Gustavo Romero L
opez
Procesos
11 / 50
Definici
on Control Estado IPC
Control
Gustavo Romero L
opez
Procesos
12 / 50
Definici
on Control Estado IPC
Control de procesos
Modos de ejecucion.
Creacion de procesos.
Finalizacion de procesos.
Jerarqua de procesos.
Cambio de procesos.
Ejecucion del sistema operativo.
Gustavo Romero L
opez
Procesos
13 / 50
Definici
on Control Estado IPC
Modos de ejecucion
La mayor parte de los procesadores proporcionan al menos dos
modos de ejecuci
on:
modo usuario: permite la ejecuci
on de instruciones que no
afectan a otros procesos.
modo n
ucleo: permite la ejecuci
on de todas las instrucciones.
Procesos
14 / 50
Definici
on Control Estado IPC
Modos de ejecucion
Funciones tpicas del n
ucleo de un sistema operativo:
Gesti
on de procesos:
creaci
on y terminaci
on de procesos.
planificaci
on y activaci
on de procesos.
intercambio de procesos.
sincronizaci
on y comunicaci
on entre procesos.
gesti
on de los bloques de control de procesos.
Gesti
on de memoria:
reserva de espacios de direcciones.
intercambio (swapping).
gesti
on de p
aginas y/o segmentos.
Gesti
on de E/S:
gesti
on de almacenes temporales (buffers).
reserva de canales de DMA y dispositivos.
Funciones de soporte:
gesti
on de interrupciones.
auditora.
monitorizaci
on.
Gustavo Romero L
opez
Procesos
15 / 50
Definici
on Control Estado IPC
Creacion de procesos
Inicializaci
on del sistema.
interactivos / no interactivos.
primer / segundo plano.
Petici
on de usuario.
Gustavo Romero L
opez
Procesos
16 / 50
Definici
on Control Estado IPC
Creacion de procesos
Inicializaci
on del bloque del control del proceso (PCB).
ppid, estado, ip, sp, prioridad, E/S,...
Creacion o expansi
on de otras estructuras de datos:
cola de trabajos.
auditora, monitorizaci
on, analisis de rendimiento,...
Gustavo Romero L
opez
Procesos
17 / 50
Definici
on Control Estado IPC
Finalizacion de procesos
Involuntarias:
Error fatal: instrucci
on privilegiada, excepci
on de coma
flotante, violaci
on de segmento,...
Terminado por otro proceso: mediante la llamada al sistema
kill() / TerminateProcess()
Gustavo Romero L
opez
Procesos
18 / 50
Definici
on Control Estado IPC
Jerarqua de procesos
UNIX:
El uso de fork() crea una relaci
on jerarquica entre procesos.
init es primer proceso del sistema y de el dependen todos los
demas.
La relacion no puede modificarse.
Si un proceso padre finaliza antes que sus hijos estos pasan a
depender del ancestro previo.
para llevar a cabo operaciones sobre grupos de procesos.
Util
Windows:
CreateProcess() no establece relaci
on entre procesos.
Al crear un nuevo proceso se consigue un objeto que permite
su control.
La propiedad de este objeto puede pasarse a otro proceso.
Gustavo Romero L
opez
Procesos
19 / 50
Definici
on Control Estado IPC
Jerarqua de procesos
pstree
init-+-migration/0
|-ksoftirqd/0
|-watchdog/0
|-kthread
|-mount.ntfs-3g
|-syslogd
|-klogd
|-rpc.statd
|-acpid
|-cupsd
|-sshd
|-crond
|-dhcdbd---dhclient
|-prefdm---gdm-binary---gdm-binary-+-Xorg
|
|-gnome-session---ssh-agent
|-metacity
|-nautilus
|-gnome-panel
|-gnome-terminal-+-bash---pstree
|
|-bash---su---bash
|
|-bash
|
|-bash---ssh
|-firefox---run-mozilla.sh---firefox-bin-+-{firefox-bin}
|
|-{firefox-bin}
|-xemacs
|-evince---{evince}
Gustavo Romero L
opez
Procesos
20 / 50
Definici
on Control Estado IPC
Cambio de proceso
Cambio de proceso:
Operaci
on costosa.
Linux 2.4.21: 5.4s/13200 ciclos en un Pentium IV a 2.4GHZ.
Gustavo Romero L
opez
Procesos
21 / 50
Definici
on Control Estado IPC
Cambio de proceso
Gustavo Romero L
opez
Procesos
22 / 50
Definici
on Control Estado IPC
Cambio de proceso
Gustavo Romero L
opez
Procesos
23 / 50
Definici
on Control Estado IPC
Cambio de proceso
Gustavo Romero L
opez
Procesos
24 / 50
Definici
on Control Estado IPC
Cambio de proceso
Gustavo Romero L
opez
Procesos
25 / 50
Definici
on Control Estado IPC
Cambio de proceso
Pasos a seguir para realizar el cambio de proceso:
1
2
Gustavo Romero L
opez
Procesos
26 / 50
Definici
on Control Estado IPC
padre
hijo
cout << "hijo" << endl;
execlp("/bin/ls", "ls", NULL);
exit(0);
}
Gustavo Romero L
opez
Procesos
27 / 50
Definici
on Control Estado IPC
Gustavo Romero L
opez
Procesos
28 / 50
Definici
on Control Estado IPC
Gustavo Romero L
opez
Procesos
29 / 50
Definici
on Control Estado IPC
Gustavo Romero L
opez
Procesos
30 / 50
Definici
on Control Estado IPC
Inconvenientes:
cada evento cuesta varios cambios de proceso y modo.
Gustavo Romero L
opez
Procesos
31 / 50
Definici
on Control Estado IPC
Estado
Gustavo Romero L
opez
Procesos
32 / 50
Definici
on Control Estado IPC
Traza de un proceso
Comportamieto de un proceso = lista de instrucciones que
ejecuta = traza.
Activador: programa encargado de cambiar entre los PCBs de
los procesos para ejecutar un proceso u otro.
Gustavo Romero L
opez
Procesos
33 / 50
Definici
on Control Estado IPC
Cola de procesos
Creacion de un proceso = crear PCB + cargar imagen.
Lista de procesos = lista de PCBs.
Planificador (scheduler):
Parte del SO que escoge el siguiente proceso a ejecutar.
Gestor de las colas de planificaci
on.
Gustavo Romero L
opez
Procesos
34 / 50
Definici
on Control Estado IPC
Modelo de 2 estados
Gustavo Romero L
opez
Procesos
35 / 50
Definici
on Control Estado IPC
Modelo de 2 estados
Gustavo Romero L
opez
Procesos
36 / 50
Definici
on Control Estado IPC
Modelo de 2 estados
Estados:
Ejecutando: proceso en ejecuci
on.
No ejecutando: proceso que no se esta ejecutando.
Transiciones:
Ejecutando no ejecutando: evento o temporizacion.
No ejecutando ejecutando: temporizacion o fin de evento.
Inconvenientes:
No permite discriminar facilmente la raz
on por la que un
proceso no se encuentra en ejecuci
on.
Soluci
on: subdividir el estado no ejecutando para reflejar el
motivo.
Gustavo Romero L
opez
Procesos
37 / 50
Definici
on Control Estado IPC
Modelo de 5 estados
Gustavo Romero L
opez
Procesos
38 / 50
Definici
on Control Estado IPC
Modelo de 5 estados
Estados:
Nuevo: el proceso ha sido creado.
Preparado: proceso a la espera de que se le asigne un
procesador.
Ejecutando: proceso actualmente en ejecucion.
Bloqueado: proceso que no puede continuar hasta que finalice
un evento.
Finalizado: proceso finalizado.
Gustavo Romero L
opez
Procesos
39 / 50
Definici
on Control Estado IPC
Modelo de 5 estados
Transiciones:
Nuevo preparado: se admite un nuevo proceso en el
sistema.
Preparado ejecutando: el planificador selecciona el
proceso para su ejecuci
on.
Preparado finalizado: padre termina hijo.
Ejecutando finalizado: proceso finalizado.
Ejecutando preparado: tiempo de procesador agotado.
Ejecutando bloqueado: se produce un evento.
Bloqueado preparado: finalizaci
on de evento.
Bloqueado finalizado: padre termina hijo.
Gustavo Romero L
opez
Procesos
40 / 50
Definici
on Control Estado IPC
Modelos de +5 estados
Existe una buena raz
on para a
nadir al menos un nuevo estado:
suspendido.
Objetivo de la multiprogramaci
on: aprovechar al maximo el
procesador debido a la lentitud de las operaciones de E/S.
Resuelve el problema el modelo de 5 estados? = no.
Causa: diferencia de velocidad procesador/dispositivos de E/S.
Todos los procesos podran llegar a estar bloqueados en espera
de E/S, un cierto recurso o la finalizaci
on de un subproceso.
Soluci
on: a
nadir mas procesos.
Problema: falta de memoria.
Procesos
41 / 50
Definici
on Control Estado IPC
Modelo de 6 estados
Gustavo Romero L
opez
Procesos
42 / 50
Definici
on Control Estado IPC
Modelo de 7 estados
Gustavo Romero L
opez
Procesos
43 / 50
Definici
on Control Estado IPC
Modelo de 7 estados
Gustavo Romero L
opez
Procesos
44 / 50
Definici
on Control Estado IPC
Modelo de 7 estados
Nuevas transiciones:
bloqueado suspendido (bloqueado): no hay procesos
preparados o estos consumen demasiada memoria.
suspendido (bloqueado) suspendido (preparado):
sucede el evento por el que estaba bloqueado.
suspendido (preparado) preparado: no quedan procesos
preparados en el sistema o tiene mayor prioridad que los
preparados.
preparado suspendido (preparado): liberar memoria o
dejar sitio para un proceso bloqueado de mayor prioridad.
nuevo suspendido (preparado): control de carga del
sistema.
suspendido (bloqueado) bloqueado: queda memoria libre
o proceso de alta prioridad.
ejecutando suspendido (preparado): un proceso agota su
tiempo y hay que liberar memoria para un proceso suspendido
de mayor priridad.
X finalizado: un proceso elimina a otro.
Gustavo Romero L
opez
Procesos
45 / 50
Definici
on Control Estado IPC
Gustavo Romero L
opez
Procesos
46 / 50
Definici
on Control Estado IPC
Planificacion
Los procesos pueden cambiar varias veces de cola de
planificacion a lo largo de su vida.
La parte del SO encargada de realizar estos cambios es el
planificador.
Tipos de planificadores:
Corto plazo: selecciona entre los procesos preparados uno para
ejecutar.
Ejecuci
on muy frecuentemente, ej: cada 10..100ms.
Gustavo Romero L
opez
Procesos
47 / 50
Definici
on Control Estado IPC
IPC
Gustavo Romero L
opez
Procesos
48 / 50
Definici
on Control Estado IPC
Gustavo Romero L
opez
Procesos
49 / 50
Definici
on Control Estado IPC
Paso de mensajes.
los procesos intercambian mensajes.
comunicaci
on responsabilidad del sistema operativo.
Gustavo Romero L
opez
Procesos
50 / 50