jueves, 30 de septiembre de 2010

Gestión del procesador, comunicación y sincronización de datos.

Bueno para comenzar a entender un poco más osbre la unidad dos se deve tener un control sobre las partes o/i diferentes divisiones que se les puede oorgar a los procesos que involucran a los procesos en ejecución.

Procesos
Un proceso es cualquier tipo de actividad que demande de la atención de utilización de la CPU de una máquina. Quedan contenidos en este concepto los trabajos de ejecución por lotes, los programas de usuario o tareas y el apoyo de actividades internas propias del sistema.

Distinción entre programas y procesos: Cada invocación a un programa genera un proceso distinto e independiente. Los procesos compiten por el uso de los recursos del sistema, de manera que se necesitan herramientas que permitan la sincronización y la comunicación entre los mismos.

El sistema operativo debe suministrar los servicios necesarios que permitan:
a) Ejecución concurrente de los procesos.
b) Sincronización entre procesos.
c) Comunicación entre procesos.

Dependiendo de la interacción entre procesos, los podemos clasificar en:
a) Independientes: No se comunican o sincronizan entre ellos. En un sistema con un sólo
procesador, los procesos independientes no existen (en sentido estricto).
b) Cooperativos: Se comunican y sincronizan sus actividades para realizar una labor común.
c) Competitivos: Todos compiten por los recursos del computador. El acceso ordenado a estos
necesita de la sincronización y, a veces, también de la comunicación entre los procesos.

Estados De Los Procesos
a) Activo: Proceso que está ejecutándose en un instante dado.
b) Preparado: Listo para ejecutarse, esperando a que el procesador quede libre.
c) Bloqueado o suspendido: Esperando a que se cumpla alguna condición (E/S, señal, etc.).
d) Muerto: Ha terminado su ejecución o el sistema operativo ha detectado un error fatal.
e) Nonato: Existe, pero todavía no es conocido por el sistema operativo
f) Estado global del sistema: Conjunto de recursos y procesos existentes con sus estados
correspondientes en un instante determinado.

Estados de un proceso
a. Estados activos. Un proceso que esté en un estado activo puede competir por recursos.
 
b. Estados inactivos o suspendidos. El sistema no les permite (de manera momentánea) que
compitan por recursos.
 
c. Estados externos o intermedios. Son estados especiales que se dan durante la creación y
destrucción de los procesos.

Bloque De Control De Procesos (PCB, Process Control Block )
Cuando se somete un determinado trabajo para su ejecución y es aceptado, se carga el programa
correspondiente en memoria y, además, se crea el descriptor de proceso correspondiente (PCB) que
contiene:
·  El estado actual (status): READY, RUNNING...
·  El entorno volátil, que es el subconjunto de elementos compartidos en el sistema susceptibles de
cambios con la ejecución de los procesos y que son accesibles desde ellos.
La información que contienen estos elementos se llama
información de rearranque y también se define como el bloque de
contexto o estado del procesador para el proceso. La información
de rearranque contiene:

·  Identificador único de proceso (pid).
·  Estado del proceso (activo, preparado, bloqueado).
·  Prioridad.
·  Estado hardware (contador de programa, códigos de
condición, punteros de pila, etc.).
·  Información para gestionar la memoria (punteros, tablas,
registros, etc.).
·  Información de contabilidad y planificación.
·  Etc.















El Planificador De Procesos
Planificador a largo plazo (PLP): O planificador de trabajos, determina qué trabajos se admiten en el
sistema para su procesamiento y son cargados en la memoria disponible. Debe realizar una mezcla
adecuada de trabajos destinados al procesador y trabajos destinados al sistema de E/S.

Planificador a corto plazo (PCP): O planificador del procesador, gestiona los procesos entre dos
instantes de gestión del PLP. Selecciona al proceso que pasará al estado activo de entre todos los
preparados. Su elevada frecuencia de uso hace que el algoritmo suela ser sencillo (no calcula
prioridades).

Distribuidor (dispatcher): Parte del PCP encargada en exclusiva de realizar las gestiones oportunas
para pasar el procesador a la tarea seleccionada para su ejecución (en algunos sistemas se denomina
distribuidor al PCP).

Planificador a medio plazo (PMP):  se encarga del intercambio (swapping) o
proceso de salvar una tarea suspendida en la memoria secundaria para:
a) Liberar memoria principal.
b) Separar los procesos destinados al procesador de los destinados al sistema de E/S.