Académique Documents
Professionnel Documents
Culture Documents
2
Descomposición conceptual
3
Tablas del sistema
Administrador del procesador
R1 R1
X1 R2 X1
R=lect. P1 R3 X2 P1
X=Ejec.
P=Impr. R2 R4 X3 P2
X2 R5 X4 P3
Secuencial Concurrente
6
Esquema de Ejecución de un SO
7
Proceso del Nucleo
9
Proceso del sistema
10
Estados de un Proceso
Listo Ejecución
Despachador
Fin de E/S o evento E/S o un evento
Espera
11
Estado de un Proceso
Estado Descripción
Ejecución En ese momento el CPU esta ejecutando las
instrucciones en el código del proceso
Bloqueado Esperar hasta que se conceda una petición de un
recurso o hasta que ocurra un evento
Listo El proceso esta pendiente de usar el CPU
Terminado La ejecución del proceso ha terminado normalmente
o el SSOO lo ha abortado
12
Transiciones de estados
Transición Descripción
Listo à ejecución El proceso se despacha. El CPU inicia la ejecución de sus
instrucciones
Bloqueado à listo Termina la solicitud hecha por el proceso o ocurre el evento que
estaba esperando
Ejecución à listo El proceso se interrumpe porque se decide planificar otro proceso.
Ocurre porque un proceso de mas alta prioridad ha sido admitido o ha
expirado el Quantum
Ejecución à bloqueado Proceso hace una solicitud a un recurso o hasta que ocurra un evento
especifico. Las causas principales son:
•Solicita una operación de E / S
•Solicita memoria adicional u otro recurso
•Desea espera durante un intervalo de tiempo
•Espera el mensaje de otro
•Desea esperar alguna accion de otro proceso
Información contable
14
Microkernel – Definicion del PCB
15
Tabla de procesos
Process Table
0 1 2 3 4 5
Estado del Proceso Estado del Proceso Estado del Proceso Estado del Proceso Estado del Proceso Estado del Proceso
Parent Process ID Parent Process ID Parent Process ID Parent Process ID Parent Process ID Parent Process ID
Program Counter Program Counter Program Counter Program Counter Program Counter Program Counter
Límites de memoria Límites de memoria Límites de memoria Límites de memoria Límites de memoria Límites de memoria
Listado de archivos abiertos Listado de archivos abiertos Listado de archivos abiertos Listado de archivos abiertos Listado de archivos abiertos Listado de archivos abiertos
16
Posibles operaciones procesos
§ Creación procesos, lo cual involucra:
– nombre procesos
– insertarlo en la lista de procesos
– determinar prioridad inicial proceso
– crear su PCB
– asignarle sus recursos iniciales
– Procesos padres crean procesos hijos, y estos a su vez crean otros procesos,
formando un árbol de procesos, compartiendo recursos y ejecución.
§ Destrucción procesos
– liberar mapa de memoria (pila de usuario incluida)
– cerrar Archivos y liberar otros recursos
– eliminar PCB de cola de procesos listos
– liberar entrada de tabla de procesos
– liberar pila del sistema
– activa planificador y realiza c. de contexto al proceso elegido
§ En UNIX estas operaciones están repartidas entre:
– EXIT: realiza la mayor parte de las operaciones
– WAIT: libera entrada de tabla de procesos 17
Posibles operaciones procesos ….
18
Las suspensiones y reanudaciones
Estado de
T2 Procesos y
T1
T3 Suspensiones
Bloqueado Listo
T4
Bloqueado_suspendido Listo_suspendido
20
Colas de los Procesos
Cola de Listos:
Contiene todos los procesos residentes en
E/S Cola de E/S memoria principal, listos y esperando
ejecutarse.
Colas de dispositivos de E / S.
E/S Cola de E/S Contiene todo los procesos esperando por
dispositivo E / S
21
Schedulers o Planificadores
Scheduler “short-
Scheduler “long-term”
term”
• Job scheduler • Cpu Scheduler
• Selecciona que • Selecciona que
procesos serán procesos será el
puestos en la cola de siguiente en ejecutarse
listos. • Requerido muy
• Requerido con poca frecuentemente (en
frecuencia (en seg) miliseg.)
• Puede ser lento • Debe ser rapido
• Controla el “grado de
multiprogramacion”
Diagrama Estados y Transiciones de un proceso en Unix
User Running
sys. call
interrupt, interrupt return to user
interrupt return
return
Kernel Running
9 2 7
exit
Zombie Preempted
reschedule
sleep process
Ready to Run
4 3 in Memory
wake up
Asleep in
Memory enough memory
Estado Descripcion
Estado Descripcion
Estado Descripcion
30
Las interrupciones
v Altera secuencia procesador ejecuta las instrucciones
v Interrupción generada por el hardware del sistema
v IA-32 tiene un IDT con 256 entradas
§ 32 (0 - 31) predefinidas y reservadas
§ 224 (32 - 255) definidas por el usuario
v Cada interrupcion esta asociado con un codigo o rutina a
traves del IDT :
1. Proceso en ejecucion hasta la interrupcion
5. Continua la ejecucion
31
Threads / Hilos / Procesos ligeros
v Supongamos un proceso que realiza dos actividades
paralelizables. ¿Sería interesante convertirlo en dos
procesos?
A
A
B ¿ B
?
v Si sistema es multiprocesador:
Núcleo 1 A0 A1 A2 A3 A4
Núcleo 2 B0 B1 B2 B3 B4
v Si sistema no multiprocesador
Un núcleo A0 B0 A1 B1 A2 B2 A3 B3 A4 B4
Procesador Sun UltraSPARC T1
Threads / Hilos / Procesos ligeros