Академический Документы
Профессиональный Документы
Культура Документы
OPERATIVOS
GESTIÓN DE PROCESOS
E.P de Ingeniería de Sistemas
IS--344
Ejemplo:
Ejemplo
Almacenar dato,
instrucción o una
dirección de
memoria
Ejecutar la instrucción
T1 pseudoparalelismo
t
18
T3 CPU2
Con multiprocesadores
T2 también interesa multiplexar
las CPU’s
CPU1
T1
t
13
3. DEFINICIÓN
DE PROCESOS
3. DEFINICIONES DE PROCESOS
Un programa en ejecución.
Un instancia de un programa ejecutando en un
computador.
La unidad de procesamiento gestionada por el SO.
Una unidad de actividad que se caracteriza por la ejecución
de una secuencia de instrucciones, un estado actual y un
conjunto de recursos del sistema asociados
Programa
Cocinar
Proceso: Actividad
Procesador (CPU)
DIFERENCIA ENTRE UN PROCESO Y UN
PROGRAMA
La idea clave es que un proceso es una
actividad de cierto tipo: tiene un programa,
una entrada, una salida y un estado. Varios
procesos pueden compartir un solo procesador
mediante el uso de un algoritmo de planificación
para determinar cuándo se debe detener el
trabajo en un proceso para dar servicio a otro.
DIFERENCIA ENTRE UN PROCESO Y UN
PROGRAMA
Vale la pena recalcar que si un programa se
está ejecutando por duplicado cuenta como
dos procesos.
Por ejemplo, a menudo es posible iniciar un
procesador de palabras dos veces o imprimir dos
archivos al mismo tiempo si hay dos impresoras
disponibles. El hecho de que dos procesos en
ejecución tengan el mismo programa no importa;
son procesos distintos. El sistema operativo
puede compartir el código entre ellos de manera
que sólo haya una copia en la memoria, pero ése
es un detalle técnico que no cambia la situación
conceptual de dos procesos en ejecución.
4. CONTEXTO DE PROCESO
Dependiendo del lugar donde reside la información, esta formado por tres tipos de información
Contexto de Instrucciones y los datos del programa. Esta parte solamente necesita
estar en memoria principal cuando el proceso esta realmente en
Memoria ejecución, el resto del tiempo puede encontrarse en disco
29
Bloqueado S.O.
5. CREACIÓN DE PROCESO
1. La inicialización del sistema
2. La ejecución por parte de un proceso (en ejecución) de una llamada al
sistema de creación de un nuevo proceso.
3. La petición por parte del usuario de la creación de un nuevo proceso.
4. El inicio de un trabajo en batch.
Expulsión ¿P1.read(disco,
¿P2.sleep(5
¿P1
¿P4
¿P3 mucha
fin
read(cinta,
termina?
E/S?CPU?
)? ))?
P1 ¿Estados de un proceso?
• EnEjecución
Activo
• Preparado
P2 • EnEspera o Bloqueado
P4
ESTADOS DE UN PROCESO
Un proceso que esta ejecutando instrucciones (En ejecución), o esperando
a que le concedan la CPU para ejecutar instrucciones (Listo), o esperando
a que se produzca algún evento externo (Bloqueado).
En exit
Ejecución
fork
Listo Bloqueado
36
TRANSICIONES ENTRE ESTOS TRES ESTADOS
(*)Creación – Listo: Inicialmente, al crear un proceso, no puede pasar
directamente al estado de bloqueado, pues no se ha ejecutado ninguna
instrucción que así se lo indique; por lo tanto, expresa su necesidad de
ejecución entrando en la cola de procesos Listos.
Listo - En ejecución: Una vez que el proceso esta listo, solamente tiene que
esperar a que le llegue el turno. Los turnos del procesador se establecen en
función de la política de planificación de la CPU. Cuando le llegue el turno
tomara posesión del procesador y empezara a ejecutar instrucciones.
Los procesos
batch pueden
entrar al
sistema
pasando al
estado de listo
o ha
suspendido
FORMACION DE UN PROCESO
Las operaciones que debe hacer el SO son:
1. Asignar un espacio de memoria para albergar la imagen de
memoria. (espacio virtual compuesto por varios segmentos)
2. Seleccionar un BCP libre de la tabla de procesos
3. Rellenar BCP con la información de identificación de proceso, con la
descripción de memoria asignada, con los valores iniciales de los
registros indicados en el archivo objeto
4. Cargar en el segmento de texto el código más las rutinas de sistema
y en segmento de datos los datos iniciales contenidos en el archivo
objeto.
5. Crear en el segmento de pila la pila inicial del proceso. La pila
incluye inicialmente el entorno del proceso y los parámetros que se
pasan en la invocación del programa correspondiente
Completada la información se puede marcar como listo para ejecutar
IMPLEMENTACION DE UN BLOQUE DE
CONTROL DE PROCESO
- Llamada al sistema
- Interrupcion