Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cambios
de Modo Procesos
Interrupciones/ Cambio de
traps Proceso
Definición de Proceso
◼ ¿Qué es para ustedes un proceso?
Definición de Proceso
◼ Es un programa en ejecución.
◼ Parte de un proceso es la actividad que
realiza actualmente, esta información está
almacenada en el PC y en los registros.
◼ Un proceso contiene:
Código (Text)
Pila (Stack)
Área de Datos (Data)
Mono vs Multi programación
5
Mono vs Multi programación
6
Mono vs Multi programación
5 CPU 15 CPU 10 CPU
T1 T2 T3
50 Mem 100 Mem 75 Mem
terminal Disco e Impresora
7 T1 T2 T3
Mono vs Multi programación
Monoprogramación Multiprogramación
Uso del procesador 20% 40%
Uso de memoria 33% 67%
Uso de disco 33% 67%
Uso de impresora 33% 67%
Tiempo transcurrido 30 minutos 15 minutos
Productividad 6 trabajos/hora 12 trabajos/hora
Tiempo de respuesta 18 minutos 10 minutos
medio
8
Definición de Proceso
Representación de los procesos
https://www.youtube.com/watch?v=bS3QuOQgUu8
Modelo más simple: el modelo de
los dos estados.
◼ Los procesos pueden estar:
Ejecutándose
Esperando por ejecución
Diagrama de colas
Proceso A
despachador
Proceso A
Timeout
I/O Proceso B
despachador
despachador
Proceso C
Proceso C
ESTADO DE LOS PROCESOS del
primer ejemplo
16
Estado de los procesos
En este modelo, los estados en la cola de
procesos pueden estar:
Llamada al sistema
Modelo de 5 estados
◼ Ejecutándose (Running )
◼ Listo (Ready)
◼ Bloqueado (Blocked)
◼ Nuevo (New)
◼ Termina (Exit).
Modelo de 5 estados
◼ Ejecutándose (Running )
◼ Listo (Ready)
◼ Bloqueado (Blocked)
◼ Nuevo (New)
◼ Terminado (Exit).
Creación y culminación de los
procesos
Creación Culminación
Nuevo proceso batch Culminación normal
Un usuario hace login Termina por un error
El SOP lo crea para Lo termina el
realizar un servicio administrador, el SOP o
un usuario desde un
terminal
Es creado por un
proceso existente
Creación de Procesos
◼ Un proceso puede crear varios nuevos procesos
durante su ejecución, con llamada al sistema
apropiada (fork, CreateProcess).
◼ El proceso que crea es el padre y el nuevo proceso es
llamado el hijo. Cada proceso puede a su vez seguir
creando procesos.
◼ Cuando un proceso crea un sub-proceso el hijo
podría:
Obtener los recursos directamente del sistema operativo.
Obtener (heredar) un subconjunto de los recursos del
padre
Creación de Procesos
Errores
Otras Razones para la terminación
de un proceso
◼ Falla de E/S
◼ Instrucción inválida (cuando se trata de ejecutar
un dato)
◼ Tratar de ejecutar una instrucción privilegiada.
◼ Intervención del SOP: por ejemplo cuando
ocurre un interbloqueo.
Modelo de Procesos de los 5
estados
Modelo de 5 procesos
(Descripción de los Estados)
Timeout
Espera un evento
Ocurre el evento
Bloqueados
Modelo de Procesos de los 5 estados
Timeout
2 Espera un evento
Ocurre el evento
2L3
Bloqueados
4
1L2
3
Modelo de Procesos de los 5 estados
Tiempo 0
2 2
Timeout
Espera un evento
Ocurre el evento
2L3
Bloqueados
4
1L2
3
Modelo de Procesos de los 5 estados
Tiempo 1
2L3 1
Timeout
Espera un evento
Ocurre el evento
Bloqueados
4
1L2
3
Modelo de Procesos de los 5 estados
Tiempo 2
2L3 0
4
Timeout
Espera un evento
Ocurre el evento
Bloqueados
1L2
3
Modelo de Procesos de los 5 estados
Tiempo 3
1L2 4 1L3
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
3
Modelo de Procesos de los 5 estados
Tiempo 3
3 1L2 4 0L3
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
5
Modelo de Procesos de los 5 estados
Tiempo 4
3 1L2 3
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
0L3
4
Modelo de Procesos de los 5 estados
Tiempo 5
3 1L2 2
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
0L3
3
Modelo de Procesos de los 5 estados
Tiempo 6
3 1L2 1
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
0L3
2
Modelo de Procesos de los 5 estados
Tiempo 7
3 1L2 0
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0
0L3
1
Modelo de Procesos de los 5 estados
Tiempo 8
3 0L2
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0L3 0
0 0
Modelo de Procesos de los 5 estados
Tiempo 9
0L3 2
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0L2 0
5 0
Modelo de Procesos de los 5 estados
Tiempo 10
0L3 1
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0L2 0
4 0
Modelo de Procesos de los 5 estados
Tiempo 11
0L3 0
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0L2 0
3 0
Modelo de Procesos de los 5 estados
Tiempo 12
0L2
Libera el CPU 0
admitido despachado
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados
0L2 0
2 0
Modelo de Procesos de los 5 estados
Tiempo 13
0L1
despachado Libera el CPU
admitido
En
Nuevo Listos Teminados
Ejecucion
Timeout
Espera un evento
Ocurre el evento
Bloqueados 0
0L2 0
1 0
Modelo de Procesos de los 5 estados
Tiempo 14
0L2 0L0
Timeout
Espera un evento
Ocurre el evento
Bloqueados 0
0L2 0
0 0
Modelo de Procesos de los 5 estados
Tiempo 15
0L1
Timeout
Espera un evento
Ocurre el evento
0L0
Bloqueados 0
0
Modelo de Procesos de los 5 estados
Tiempo 16
0L0
Timeout
Espera un evento
Ocurre el evento
0L0
Bloqueados 0
0
Procesos suspendidos
◼ El procesador es tan rápido comparado
con la E/S que todos los procesos en
memoria podrían estar bloqueados.
◼ El intercambio (Swap) de estos procesos
a disco podría liberar memoria para otro
proceso o para crear uno nuevo.
◼ El estado bloqueado se transforma a
suspendido cuando el proceso está en
disco (área de swap).
54
Razones para suspender un proceso
Intercambio El sistema operativo necesita liberar suficiente
memoria principal para cargar un proceso que
está listo para ejecutarse
Evento ocurre y
hay memoria
Procesos Suspendidos
http://cs.uttyler.edu/Faculty/Rainwater/COSC3355/Animations/backingstore.htm
Nuevas transiciones
◼ BLOQUEADO -> BLOQUEADO SUSPENDIDO: cuando se
requiere de memoria, y se va a elegir un proceso para swap
out, los primeros candidatos son procesos que están
esperando por la ocurrencia de un evento.
◼ BLOQUEADO SUSPENDIDO –> LISTO SUSPENDIDO:
cuando el evento ocurre mientras el proceso está en el área
de swap (disco).
◼ LISTO SUSPENDIDO –> LISTO: puede pasar cuando ya hay
suficiente memoria, no hay procesos READY en la memoria
o cuando el proceso en el área de swap tiene más prioridad
que los procesos ready en la memoria.
Nuevas transiciones
◼ LISTO -> LISTO SUSPENDIDO: esto ocurre cuando
es la única manera de liberar memoria. Se puede
seleccionar también un ready de baja prioridad antes
de que un blocked de alta prioridad si el sistema
operativo sabe que el evento por el que espera este
último ocurrirá pronto.
◼ NUEVO -> LISTO SUSPENDIDO: no es la transición
natural cuando se crea un nuevo proceso, pero si no
hay suficiente memoria el proceso va al disco de una
vez
◼ BLOQUEADO - SUSPENDIDO -> BLOQUEADO:
podría ocurrir cuando el proceso en el área de swap
tiene mayor prioridad, que un proceso en la cola de
READY y el sistema operativo cree que el evento por
el que espera el primero está próximo a ocurrir.
Nuevas transiciones
◼ EJECUTÁNDOSE –> LISTO SUSPENDIDO: si se
esta quitando el CPU porque ocurrió un evento
que libera a un bloqueado-suspendido de alta
prioridad que necesita ejecutarse. No obstante no
hay memoria suficiente para colocar al proceso
saliendo del CPU en la cola de listos y los otros
procesos en la memoria tienen mayor prioridad.
◼ VARIOS –>TERMINAR: En algunos sistemas
operativos un proceso puede ser destruido
explícitamente por el padre o cuando éste
termine. Si esto se permite, un estado puede
moverse al estado EXIT desde cualquier estado.
Otros Videos
◼ https://www.youtube.com/watch?v=bta48I
x3t_Q
◼ https://www.youtube.com/watch?v=mHPy
SA51t18 (resume los principales
elementos de la implementación de
procesos)
Representación de los procesos
Cómo representa el SOP a los procesos?
Bloque
de Control
de Procesos
(Process Control
Block)
Estructura de un Proceso en la
Memoria
Bloque de control de procesos:
PCB Process Control Block
◼ Identificación del Proceso: identificador del proceso,
identificador del proceso que creó al proceso actual,
identificador del usuario y/o grupo propietarios del proceso.
◼ El Estado del Proceso: se refiere a si el actualmente se está
ejecutando, está bloqueado esperando por un evento, está
listo para ejecutarse, ha terminado (zombie), etc.
Estado
P1
Add D1, D2, D3
Sub @A0, D2
…..
www.monografias.com
P1 P2
74
Control de Procesos
Modos de ejecución
◼ Modo de usuario
modo menos privilegiado
los programas de usuario ejecutan
normalmente en ese modo
◼ Modo de sistema, control, o kernel
modo más privilegiado
Kernel del sistema operativo
75
Cambio de MODO
◼ Interrupción de reloj:
Si el SO determina que el proceso que está en ejecución, se ha
estado ejecutando durante la fracción máxima de tiempo
permitida, el proceso debe pasar al estado Listo y se debe expedir
otro proceso
◼ Interrupción de E/S:
Si la acción constituye un suceso que están esperando uno o más
procesos, entonces el SO traslada todos los procesos bloqueados
correspondientes al estado Listo o Listo suspendido (
)
◼ Fallo de memoria:
una referencia a una dirección de memoria virtual no está en
memoria principal. El SO puede llevar a cabo
; el proceso que cometió el fallo de memoria se pasa a
estado Bloqueado.
Cambio de MODO
◼ Trap
Error o excepción
Si es fatal puede causar que el proceso pase al
estado terminado
77
Es lo mismo, salvo si los
Procesos son hilos
El cambio de contexto
o proceso requiere de
un cambio de No necesariamente implica
modo previo (modo un cambio de proceso
usuario ->modo kernel)
Cambio de Proceso
79
Modelo de Procesos PCB
PCB
PC: 1500
PC: 254320
Estado:Running
Estado: Ready
Estado: Ready R1: 2
R1: 0
R2: -1
R2: 0 R3: 1214
R3: 0
2 0L2
Timeout
Modelo de Procesos
PCB
PCB
PC: 1500
PC: 254320 Estado: Ready
Estado: Ready R1: 2
R1: 0
R2: -1
R2: 0 R3: 1214
R3: 0
PC: 254320
PC: 1500
R1: 20
R1:
R2:
R2: 0
-1
Ahora se ejecuta el amarillo R3:
R3: 0
1214
0L2 2
Timeout
Modelo de Procesos
PCB
PCB
PC: 1500
PC: 254320
254328 Estado: Ready
Estado: Running
Estado: Ready
Running R1: 2
R1: 01
R2: -1
R2: 0 R3: 1214
R3: 013
PC: 1500
254328
Paren ese proceso, le toca a otro!
R1: 2
R1: 1
R2:
R2: -1
0
R3:
R3: 1214
13
0L2 1
Timeout
Cambio de Estado de los Procesos
84
Referencias
◼ Stallings. Operating Systems: Internals
And Design Principles, 6/E, isbn
9788131725283,
url=http://books.google.es/books?id=RFAi
HXz12Kc, 2009, Pearson Education.
◼ Process Description and Control. Dave
Bremer Otago Polytechnic, N.Z. ©2008,
Prentice Hall