viernes, 6 de noviembre de 2009

Migración entre Colas

PCB’s y Colas de Estados

El SO mantiene una colección de colas que representan el estado de todos los procesos en el sistema.
- Típicamente hay una cola por estado.
- Cada PCB esta encolado en una cola de estado acorde a su estado actual.
- Conforme un proceso cambia de estado, su PCB es retirado de una cola y encolado en otra.

Cambio de contexto

- Cuando un proceso esta ejecutándose, su PC, puntero a pila, registros, etc., están cargados en la CPU (es decir, los registros hardware contienen los valores actuales).
- Cuando el SO detiene un proceso ejecutándose, salva los valores actuales de estos registros (contexto) en el PCB de ese proceso.
- La acción de conmutar la CPU de un proceso a otro se denomina cambio de contexto. Los sistemas de tiempo compartido realizan de 100 a 1000 cambios de contexto por segundo. Este trabajo es sobrecarga.

Contenido del PCB

Identificador del proceso en el sistema.
- Estado actual del proceso.
- Valores de los registros de la CPU.
- Información de planificación.
-Información para la gestión de memoria.
- Información del estado de las E/S.
- Información de contabilidad o estadística.
- Suceso por el cual el proceso está bloqueado.

Bloque de Control de Proceso

PCB (Bloque de Control de Proceso)
• Estructura de datos que representa al proceso, es decir, que contiene la información asociada con cada proceso.
• Estructura de datos donde el SO mantiene toda la información sobre el estado de ejecución del proceso, p.ej. PC y registros, cuando éste no se está ejecutando

Tabla de procesos: matriz o lista enlazada de PCB’s (una entrada por cada proceso que exista actualmente en el sistema).

Estados y Transiciones


Estados de un Proceso

Cada proceso tiene un estado de ejecución que indica lo que está haciendo actualmente, p. ej.
• Nuevo – El proceso se está creando.
• Ejecutándose - ejecutando instrucciones en la CPU.
• Preparado o ejecutable - en espera de la CPU.
• Bloqueado - esperando por un suceso.
• Terminado – El proceso terminó su ejecución.

Durante su vida en el sistema, un proceso va pasando de un estado a otro.

¿ Qué entendemos por proceso?

Un proceso es una instancia de un programa en ejecución:
Pueden existir varios procesos ejecutando un mismo programa, pero cada uno es un proceso distinto, con su propia representación.
Un proceso consta al menos de:
- El código del programa.
- Los datos del programa.
- Una pila de ejecución.
- El PC indicando la próxima instrucción.
- Un conjunto de registros de propósito general con los valores actuales.
- Un conjunto de recursos del SO (memoria, archivos abiertos, etc.)
- Para la planificación de la CPU lo importante son los procesos, no los programas.
- La idea básica es que un proceso se puede ver como:
• unidad de ejecución: cada proceso se ejecuta independientemente y tiene su propio flujo de control.
• unidad de planificación.

Bienvenidos a Proceso Informático

En este blog trataremos el tema informático: Proceso.

Un proceso es un programa en ejecución, los procesos son gestionados por el sistema operativo y son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos.

En el desarrollo del presente blog se darán a conocer los estados, bloque de control y cambio de contexto de un proceso.