Title: Sistemas Operativos
1 Sistemas Operativos
PROCESOS
SOP3161 Semestre 2005-I Eduardo Peña J.
Präsentation
Edopena
1
Sistemas Operativos
2Es posible familiarizar a los procesos de
acuerdo con el nivel de creación que tienen entre
ellos conservando las siguientes reglas
Procesos
Jerarquía de procesos
- El proceso que crea a otro es el padre del
creado. - El proceso creado es el hijo del proceso creador.
- Es sólo necesario un padre para crear un hijo.
- Cada hijo tiene un solo padre y un padre puede
tener varios hijos.
Edopena
2
Sistemas
Operativos
3Jerarquía de creación de procesos
Procesos
Jerarquía de procesos
A
B
D
C
E
F
G
H
I
Edopena
3
Sistemas
Operativos
4Suspensión y Reanudación
Procesos
Suspensión y Reanudación
- Si un sistema está funcionando mal y es
probable que falle, se puede suspender los
procesos activos para reanudarlos cuando se haya
corregido el problema. - Un usuario que desconfíe de los resultados
parciales de un proceso puede suspenderlo (en vez
de abortarlo) hasta que verifique si el proceso
funciona correctamente o no. - Algunos procesos se pueden suspender como
respuesta a las fluctuaciones a corto plazo de la
carga del sistema y reanudarse cuando las cargas
regresen a niveles normales.
Edopena
4
Sistemas Operativos
5 Procesos
Suspensión y Reanudación
- La suspensión puede ser iniciada por el propio
proceso o por otro. - En un sistema con un solo procesador, sólo
será posible suspender un proceso que esté en
estado de ejecución, es decir se suspende a sí
mismo. - Cuando se habla de más de un procesador puede
darse dos casos - Suspenderse a sí mismo
- Ser suspendido por otro proceso
Edopena
5
Sistemas Operativos
6Diagrama de transiciones de estado de los
procesos, modificado para incluir las operaciones
de suspensión y reanudación.
Procesos
Suspensión y Reanudación
Edopena
6
Sistemas Operativos
7 Procesos
Suspensión y Reanudación
TENERSE EN CUENTA QUE LA SUSPENSIÓN ES UNA
ACTIVIDAD DE ALTA PRIORIDAD, QUE DEBE SER
EFECTUADA INMEDIATAMENTE.
Edopena
7
Sistemas Operativos
8 Procesos
Procesamiento de Interrupciones
Procesamiento de Interrupciones
Edopena
8
Sistemas Operativos
9 Procesos
Procesamiento de Interrupciones
Procesamiento de Interrupciones
- En un sistema de cómputo, una interrupción es un
evento que altera la secuencia en que el
procesador ejecuta las instrucciones. Es generada
por el Hw.
Edopena
9
Sistemas Operativos
10 Procesos
Procesamiento de Interrupciones
- Cuando ocurre una interrupción .
- El SO toma el control (Hw pasa el control al SO).
- El SO guarda el estado del proceso interrumpido
(PCB). - El SO analiza la interrupción y transfiere el
control a la rutina apropiada para atenderla. - La rutina del manejador de interrupciones procesa
la interrupción. - Se reestablece el estado del proceso
interrumpido. - Se ejecuta el proceso interrumpido.
Edopena
10
Sistemas Operativos
11 Procesos
Procesamiento de Interrupciones
- Tipos de Interrupciones.
- Interrupciones SVC (Supervisor call). Iniciado
por proceso en ejecución. Mecanismo de
protección del SO. - Interrupciones de E/S. Iniciadas por Hw, indican
cambio de estado de un canal o dispositivo. - Interrupciones externas. Causadas por diversos
eventos.
Edopena
11
Sistemas
Operativos
Präsentation
12 Procesos
Procesamiento de Interrupciones
- Tipos de Interrupciones.
- Interrupciones de reinicio. Cuando se presiona
boton de reinicio de la consola o cuando llega un
SGP (Signal process) de otro procesador. - Interrupciones de verificación del programa.
Pueden ocurrir cuando se ejecutan instrucciones
en lenguaje de máquina de un programa. (División
por cero, exceso, etc). - Interrupciones de verificación de la máquina.
Ocasionadas por el mal funcionamiento del
hardware.
Edopena
12
Sistemas
Operativos
Präsentation
13 Procesos
Procesamiento de Interrupciones
TENERSE EN CUENTA QUE LAS INTERRUPCIONES SON
MUCHAS Y LAS NOMBRADAS AQUÍ PERTENECEN A LOS
SISTEMAS OPERATIVOS VMS Y VM DE LA IBM.
Edopena
13
Sistemas
Operativos
Präsentation
14 Procesos
Cambio de contexto
- Cambio de contexto
- Es denominado al producirse una interrupción.
- Cuando esto sucede el SO guarda el estado del
proceso interrumpido y dirige el control del
sistema al MANEJADOR DE INTERRUPCIONES (IH). - Serán las PSW (palabras de estado de programas)
las que controlan el orden de ejecución de las
interrupciones.
Edopena
14
Sistemas
Operativos
15 Procesos
Cambio de contexto
- Se guardará información
- Dirección siguiente instrucción.
- Tipos de interrupciones habilitadas.
- Tipos de interrupciones deshabilitadas.
Edopena
15
Sistemas
Operativos
16 Procesos
Cambio de contexto
PSW viejas
PSW nuevas
SVC
SVC
IN/OUT
IN/OUT
PSW actual
externas
externas
reinicio
reinicio
Intercambio de PSW durante proceso de interrupción
Verif. programa
Verif. programa
Verif. máquina
Verif. máquina
Edopena
16
Sistemas
Operativos
17 Procesos
El Núcleo del Sist. Op.
- EL NUCLEO DEL SISTEMA OPERATIVO.
- Pequeña parte del código del SO total, y es el
que más se usa. - Cualquier cosa que se haga con procesos son
controladas por el NUCLEO.
Edopena
17
Sistemas
Operativos
18 Procesos
El Núcleo del Sist. Op.
- EL NUCLEO DEBE CONTENER LAS SIGUIENTES FUNCIONES
- Manejo de las Interrupciones.
- Creación y destrucción de los procesos.
- Cambio de estados de Proceso.
- Despacho.
- Sincronización de Procesos.
- Comunicación entre Procesos.
Edopena
18
Sistemas
Operativos
19 Procesos
El Núcleo del Sist. Op.
- EL NUCLEO DEBE CONTENER LAS SIGUIENTES FUNCIONES
- Manipulación de Bloques de Control de Procesos
(PCB). - Soporte de actividades de entrada y salida.
- Soporte de asignación y desasignación del
almacenamiento.
Edopena
19
Sistemas
Operativos
Präsentation
20 Procesos
El Núcleo del Sist. Op.
- EL NUCLEO DEBE CONTENER LAS SIGUIENTES FUNCIONES
- Soporte del sistema de archivos.
- Soporte de funciones contables del sistema.
- Soporte del mecanismo de llamada y regreso al
procedimiento.
Edopena
20
Sistemas
Operativos
Präsentation
21 Procesos
El Núcleo del Sist. Op.
- SISTEMA JERÁRQUICO DEL SISTEMA OPERATIVO.
Procesos usuario
Proceso S.O.
NUCLEO
Hardware
Edopena
21
Sistemas
Operativos
Präsentation
22 Procesos
El Núcleo del Sist. Op.
Observación 1
Existen otros diseños no jerárquicos donde el
núcleo se distribuye por los niveles de la
jerarquía.
Edopena
22
Sistemas
Operativos
Präsentation
23 Procesos
El concepto de procesos
Observación 2
Puede acotarse que la tendencia es agrupar al
núcleo en microcódigo, lo que lo hace más seguro
y rápido.
Edopena
23
Sistemas
Operativos
Präsentation
24 Procesos
HEBRAS (Threads)
Hebras (Threads)
Problema del Productor Consumidor.
Consumidor
Buffer
Productor
Edopena
24
Sistemas
Operativos
Präsentation
25 Procesos
HEBRAS (Threads)
- Si este problema se soluciona con dos procesos
sus ventajas serían
- Modularidad.
- Disminución de tiempo de ejecución (mientras un
proceso espero por I/O el otro puede realizar
trabajo útil) - Los procesos deben sincronizarse entre sí, y
deben compartir el buffer. - Los cambios de contexto son caros.
Edopena
25
Sistemas
Operativos
Präsentation
26 Procesos
HEBRAS (Threads)
- Alternativa threads o hebras o procesos
livianos.
- Una hebra es un hilo de control dentro de un
proceso. - Un proceso tradicional tiene solo una hebra de
control. - Si usamos threads entonces podemos tener varias
hebras dentro de un proceso. - Cada hebra representa una actividad o unidad de
computación dentro del proceso.
Edopena
26
Sistemas
Operativos
Präsentation
27 Procesos
HEBRAS (Threads)
- En muchos aspectos los procesos livianos son
similares a los pesados comparten tiempo de CPU
y a lo más un threads esta activo a la vez en un
monoprocesador. - Los procesos pesados son independientes y el SO
los protege. - Los procesos livianos dentro de uno pesado no
son independientes (comparten recursos).
Edopena
27
Sistemas
Operativos
Präsentation
28 Procesos
El concepto de procesos
- Comparación de hebras con procesos
- Cambio de contexto entre hebras de un mismo
proceso es mucho mas barato que cambio de
contexto entre procesos (no incluye los registros
y tablas asociadas a adm de memoria). - La creación de threads tambien es mucho mas
barata, ya que la información que se requiere
para mantener un threads es mucho menos que un
PCB.
Edopena
28
Sistemas
Operativos
Präsentation
29 Procesos
El concepto de procesos
- Comparación de hebras con procesos
- El espacio de direccionamiento compartido
facilita la comunicación entre las hebras y el
comportamiento de recursos.
Edopena
29
Sistemas
Operativos
Präsentation
30 Procesos
El concepto de procesos
- Existen librerías que permiten implementarlas
dentro de procesos normales sin apoyo del SO. - La planificación y manejo se hace dentro del
proceso. - La alternativa es que el propio SO provea
servicios de hebras.
Edopena
30
Sistemas
Operativos
Präsentation
31 Procesos
El concepto de procesos
- Las ventajas de las librerías, es que los
cambios de contexto entre hebras de un mismo
proceso son extremadamente rápidos. - La desventaja es que si una de las hebras hace
una llamada bloqueante, el SO bloquea todo el
proceso, aun cuando haya otras hebras listas para
ejecutar.
Edopena
31
Sistemas
Operativos
Präsentation
32 Procesos
El concepto de procesos
- Casos productores consumidores.
- Servidores. Cada hebra puede manejar una
solicitud.
Edopena
32
Sistemas
Operativos
Präsentation
33 Procesos
El concepto de procesos
- Servidor de archivos. Recibe solicitudes para
leer y escribir archivos en un disco. Para
mejorar el rendimiento, el servidor mantiene un
caché con los datos más recientemente usados, en
la eventualidad que reciba algún requerimiento
para leer esos datos, no es necesario accesar al
disco.
Edopena
33
Sistemas
Operativos
Präsentation
34 Procesos
El concepto de procesos
- Cuando recibe una solicitud, se le asigna a un
thread para que la atiuenda. Si ese thread se
bloquea porque tuvo que accesar el disco, otros
threads pueden seguir atendiendo otras
solicitudes. - La clave es que el buffer debe ser compartido
por todos los threads, lo que no podría hacerse
si se usa un proceso pesado para cada solicitud.
Edopena
34
Sistemas
Operativos
Präsentation
35 Procesos
- Próximo tópico
- COMUNICACIÓN DE PROCESOS
Edopena
35
Sistemas
Operativos
Präsentation