PROCESOS
Los S.O antiguos solo permitían ejecutar un
programa a la vez.
Los S.O actuales permiten la ejecución
concurrente de varios programas cargados en
memoria.
Nace el concepto de Proceso.
QUE ES UN PROCESO?
Un proceso es un programa en ejecución junto
con sus variables, registros, etc. La ejecución
de un proceso se hace de forma secuencial.
copia de unprograma en ejecución,
requiriendo para ello unos recursos
Un proceso tiene recursos como: Código
ejecutable, datos, registros temporales,
stack(pila), programa contador.
De que está compuesto?
Un
identificador
ID
Nombre del
proceso
NOMBRE
Estado del
proceso
ESTADO
Localizar
memoria
MEMORIA
Prioridad
del proceso
PRIORIDAD
PROCESO
PROCESO
Programa
Pila
Otros Recursos
-Ficheros Abiertos-Dispositivos E/S, etc
Recursos
-Procesador
-Zonas de
memoria
-Archivos
-Dispositivos
Programa: Estructura Pasiva
Un archivo que contiene una lista de
Instrucciones almacenadas en el disco
Datos
Código
PC
Proceso: Estructura Activa
Tiene un contador de programa
que especifica la sgte instrucción
que se debe ejecutar y un conjunto
de recursos asociados
Contador de Programa
Cada proceso tienesu program counter, y avanza
cuando el proceso tiene asignado el recurso
procesador. A su vez, a cada proceso se le asigna un
número que lo identifica entre los demás:
identificador de proceso (process id).
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.
Memoriadinámica (heap): Memoria
dinámica que genera el proceso. Permite
solicitar memoria en tiempo de ejecución.
Pila (stack): Utilizado para preservar el
estado en la invocación anidada de
procedimientos y funciones.
Pila
Memoria
Dinámica
Datos
Código
ESTADOS DE UN PROCESO
En su ciclo de vida el proceso pasa por diferentes
estados:
New (nuevo)
Listo para ejecutar (ready)
Ejecutando (running)
En espera o bloqueado (waiting)
Terminado (Terminated)
Estado NEW
Estado Nuevo
Cuando un proceso es creado sin entrar a la
memoria principal.
Estado Listo
Cuando un proceso que estaba en memoria virtual
pasa a memoria principal.
Ahora los procesos están listos, solo necesita del
recurso procesador
Estado Ejecución
El proceso tiene asignado un
procesador y está ejecutando susinstrucciones.
Es donde el proceso empieza su labor,
utilizando la “memoria principal”. En
este momento el proceso “A” entró en
ejecución desde la memoria principal.
Estado Bloqueado
Esto sucede cuando un proceso espera que otro proceso
termine la ejecución para entrar a “memoria principal” y
ser ejecutado.
Estado Terminado
Cuando un proceso es expulsado del grupo de procesos
ejecutablesya sea por termino, fallo o finalizó su tiempo
de ejecución.
Termino: Cuando el proceso termina, este es sacado de
memoria principal y al ser liberado espacio, entra un
nuevo proceso.
Fallo: Todos los procesos al ser terminados son
“asesinados” para liberar espacio de la memoria virtual.
Finalizó: Cuando un proceso termina su tiempo de
ejecución sale de la memoria principal.
Transicionesentre Estados
Nuevo
Listo
Al crearse un proceso pasa inmediatamente al estado
listo.
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 de un procesador en el sistema). Al
liberarse un procesador el planificador (scheduler)
selecciona el próximo proceso, según algún criterio
definido, aejecutar.
Transiciones entre Estados
Ejecutando
Listo
Ante una interrupción que se genere, el proceso puede perder el
recurso procesador y pasar al estado de listo. El planificador 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...
Regístrate para leer el documento completo.