sistemas operativos
Procesos
Agenda
Proceso.
Definición de proceso.
Contador de programa.
Memoria de los procesos.
Estados de los procesos.
Transiciones entre los estados.
Bloque descriptor de proceso (PCB).
Creación de procesos.
Listas y colas de procesos.
Cambio de contexto (context switch).
Hilos (Threads).
Threads a nivel de usuario.
Threads anivel de núcleo del sistema.
Modelos de threads.
Sistemas Operativos - Teórico 2010 - Procesos
Definición de Proceso
El principal concepto en cualquier sistema operativo
es el de proceso.
Un proceso es un programa en ejecución, incluyendo el
valor del program counter, los registros y las
variables.
Conceptualmente, cada proceso tiene un hilo (thread)
de ejecución que es vistocomo un CPU virtual.
El
recurso
procesador
es
alternado entre
los
diferentes procesos que existan en el sistema, dando la
idea de que ejecutan en paralelo (multiprogramación).
Sistemas Operativos - Teórico 2010 - Procesos
Contador de programa
Cada proceso tiene su program counter, y avanza cuando
el proceso tiene asignado el recurso procesador. A su
vez, a cada proceso se leasigna un número que lo
identifica entre los demás: identificador de proceso
(process id).
Sistemas Operativos - Teórico 2010 - Procesos
Memoria de los procesos
Un proceso en memoria se constituye de
varias secciones:
Código (text): Instrucciones del
proceso.
Datos (data): Variables globales
del proceso.
Memoria dinánica (Heap): Memoria
dinámica que genera el proceso.
Pila
(Stack):
Utilizado
para
preservar
el
estado
en
la
invocación
anidada
de
procedimientos y funciones.
Sistemas Operativos - Teórico 2010 - Procesos
Estados de los procesos
El estado de un proceso es definido por la actividad
corriente en que se encuentra.
Los estados de un proceso son:
Nuevo (new): Cuando el proceso es creado.
Ejecutando (running): El proceso tieneasignado
un
procesador
y
está
ejecutando
sus
instrucciones.
Bloqueado (waiting): El proceso está esperando
por un evento (que se complete un pedido de E/S
o una señal).
Listo (ready): El proceso está listo para
ejecutar, solo necesita del recurso procesador.
Finalizado (terminated): El proceso finalizó su
ejecución.
Sistemas Operativos - Teórico 2010 - Procesos
Estados delos procesos
Diagrama de estados y transiciones de los procesos.
Sistemas Operativos - Teórico 2010 - Procesos
Transiciones entre estados
Nuevo –> Listo
– Al crearse un proceso pasa inmediatamente
estado listo.
al
Listo –> Ejecutando
– En el estado de listo, el proceso solo espera
para que se le asigne un procesador para
ejecutar (tener en cuenta que puede existir más
deun procesador en el sistema). Al liberarse
un
procesador
el
planificador
(scheduler)
selecciona el próximo proceso, según algún
criterio definido, a ejecutar.
Sistemas Operativos - Teórico 2010 - Procesos
Transiciones entre estados
Ejecutando –> Listo
– Ante una interrupción que se generé, el proceso
puede perder el recurso procesador y pasar al
estado de listo. Elplanificador será el
encargado de seleccionar el próximo proceso a
ejecutar.
Ejecutando –> Bloqueado
– A medida que el proceso ejecuta instrucciones
realiza pedidos en distintos componentes (ej.:
genera un pedido de E/S). Teniendo en cuenta
que el pedido puede demorar y, además, si está
en un sistema multiprogramado, el proceso es
puesto en una cola de espera hasta que se
complete su pedido. Deesta forma, se logra
utilizar en forma más eficiente el procesador.
Sistemas Operativos - Teórico 2010 - Procesos
Transiciones entre estados
Bloqueado –> Listo
– Una vez que ocurre el evento que el proceso
estaba esperando en la cola de espera, el
proceso es puesto nuevamente en la cola de
procesos listos.
Ejecutando -> Terminado
– Cuando
el
proceso
ejecuta
sus
última...
Regístrate para leer el documento completo.