Administracion procesos
Datos y operaciones son los componentes primitivos de un calculo.
Calculo es un conjunto finito de operaciones aplicado a un conjunto
finito de datos para resolver un problema
R1
R=lect.
X=Ejec.
P=Impr.
R1
X1
R2
X1
P1
R3
X2
P1
R2
R4
X3
P2
X2
R5
X4
P3
Secuencial
Concurrente
Proceso:
Un programa
en ejecucion
Programa vs proceso
Diferencia sutil, perocrucial
Cientifico culinario, que cocina una receta;
Receta = Programa
Cientifico = CPU
Ingrediente = Datos de entrada
Proceso = Actividad cientifico lee la receta,
busca ingredientes y cocina el pastel
Tipos Procesos
Procesos Sistema: No asignados a ningun terminal; creados en la
inicialización del Sistema
Procesos Usuarios: Lanzados por un usuario desde un terminal.
Procesos Reentrantes: Variosusuarios utilizan el mismo programa;
una sola copia del programa es pasada a memoria principal
Proceso vs Programa
Programa es un concepto estatico y proceso un
concepto dinamico
¿qué recursos usa un programa?
Disco duro
¿qué recursos usa un proceso?
El procesador
La memoria principal
Liberan los bloques de RAM asignados
Estados
de
un
proceso
RAM suficiente
No atenta contra elsistema
Sintácticamente correcto
Nuevo
RAM(bloque de
memoria asignado)
Tiene los datos
completos
Se cumplió el Quantum
Apareció un proceso de mayor jerarquía
Exit
Admitido
Terminado
Interrupción
Listo
I/O o termino
de un evento
Ejecución
Si tiene del Procesador
Stack de ejecución
Scheluder
dispatch
Espera
I/O o un evento
de espera
Requiere de E/S datos
Cuando un proceso se ejecuta, estecambia de estado.
Nuevo: El proceso es iniciado su creación.
Ejecución: Instrucciones son ejecutadas
Espera: El proceso esta esperando por algun evento ocurra
Listo: El proceso esta esperando la asignación del procesador
Terminado: El proceso ha finalizado su ejecución.
Terminado
Nuevo
Listo
Espera
Ejecución
Bloqueado
Estado de un Proceso
Listo
El PCB: bloque control procesos
Entreotros almacena el contexto del proceso
El estado actual del proceso
Idenficador único del proceso
Un apuntador al padre del proceso, (el que lo
creó)
Apuntadores a sus procesos hijos, (los que el
creó)
La prioridad del proceso
Apuntadores a la localidad de memoria
utilizada por el proceso
Apuntadores a los recursos asignados
Un área de registro
El proceso que esta actualmente ejecutándose,
(en unsistema que soporta
multiprocesamiento)
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
vezcrean otros procesos, formando un arbol de
procesos, compartiendo recursos y ejecucion.Destrucción procesos, los recursos de los procesos son
devueltos al SO.
Suspención de procesos, Reanudación procesos
Cambio de prioridad, Bloquear un proceso
Despertar a un proceso, Dispatch un proceso
Permitir que un proceso se pueda comunicar con otro
Las suspenciones y reanudaciones
Puede ser iniciada por el propio proceso o por otros
Aplicaciones
Sistema muy sobrecargado
Sistemafunciona mal y es probable que falle, se pueden
suspender procesos activos para reanudarlos una vez que se
corrigió el problema
Un usuario desconfía de los resultados parciales de un proceso
Necesidad de recuperar la terminal de conrtrol
Uso principal: balanceo carga del sistema
Modificación diagrama estados, nuevas transiciones:
suspend(procname): listo-> listo_susp
resume(procname):listo_sup -> listo
suspend(procname): bloqueado -> bloqueado_susp
resume(procname): bloqueado_sup -> bloqueado
Estado de
Procesos y
Suspenciones
En ejecución
T2
T1
T3
Bloqueado
Listo
T4
suspender
(suspend)
reanudar
(resume)
Bloqueado_suspendido
suspender
(suspend)
reanudar
(resume)
Listo_suspendido
Colas de los Procesos
Ingresa
Colas listos
Cola de
Jobs
CPU
Fin
Cola(s)
IO Espera...
Regístrate para leer el documento completo.