La Gestión De Un Microprocesador
* Un sistema operativo es muy complejo en cuanto a su funcionalidad:
o Concepto de proceso es fundamental para modularizar y estructurar el sistema operativo, que por su naturaleza es dinámico
* Un proceso es un programa en ejecución, siendo la unidad de trabajo en el SO:
o Un proceso es una entidad activa, que puede solicitar recursos (archivos,dispositivos,etc.)
Características de un Proceso
* Los servicios superiores del SO se estructuran en base de procesos.
* Permite modularizar y aislar fallas de programas durante su ejecución.
* Soporta concurrencia de actividades, lo que permite un mejor aprovechamiento de los recursos.
* Denominaremos como procesos a los trabajos (jobs) en sistema de lotes, como a las tareas en sistema compartido.
Definición de Proceso
* Un proceso es un programa en ejecución, que se ejecuta secuencialmente (no mas de una instrucción a la vez).
* El proceso es una abstracción creada por el SO, que se compone de :
o Programa: Codigo y datos del programa cargado en memoria principal
o Contexto de Ejecución: PC, registros de procesador y un stack para invocación de procedimientos.
Estados de un Proceso
* Nuevo: El proceso está siendo creado.
* Ejecutándose: Proceso ejecuta instrucciones de máquina.
* Listo: El proceso está listo para recibir el procesador para iniciar o continuar su ejecución.
* Esperar: El proceso deja competir por el procesador, esperando un evento externo (e.g. E/S, sincronización con otro proceso, una señal, etc).
* Terminado: El proceso ha terminado su ejecución.
Transmisiones de un Proceso
* Adquirir: Proceso entra a competir por recursos
* Despachar: Planificador elige de cola listo el próximo proceso, cargando el procesador con su contexto.
* Expropiar: Interrupción del temporizador (timeout), por fin de cuanto de tiempo, guardándose el estado del proceso.
* Despertar: Proceso vuelve a competir por el proceso al ocurrir el evento esperado.
* Salir: El proceso termina su ejecución (normalmente o con error).
Tabla de Procesosv
* El sistema administra los procesos atravez de una tabla que contiene para cada proceso existente en el un descriptor.
o Este descriptor de denomina Bloque de control de proceso (PCB)
* La tabla es una estructura de datos localizada en el núcleo del sistema.
Planificación de Procesos
o Objetivos de la Planificación de Procesos:
+ Multiprogramación: Tener siempre un proceso ejecutándose con el propósito mejorar utilización CPU y otros recursos.
+ Tiempo Compartido: Cambiar rápidamente la CPU entre procesos para mantener buena interactividad.
o No pueden existir más procesos en ejecución que el número de procesadores
+
Sistemas de multiprocesamiento permiten tener más de un proceso en ejecución.
Colas de Procesos.Procesos Cooperativos
* Son aquellos que comparten un estado (o datos)
* Ejemplos de cooperación:
o Compartición de información (e.g. archivos)
o Aceleración de la computación (ejecución paralela)
o Modularidad (i.e. cortafuegos)
o Conveniencia (se requieren varias tareas simultáneas)
* Cooperación requiere de mecanismos de comunicación y sincronización entre procesos