Buscar este blog

sábado, 15 de enero de 2011

Unidad 2 Administración de procesos

 2.1 Descripción y Control de Procesos Sistemas Operativos
Estructuras de control del sistema operativo
Si el sistema operativo va a administrar los procesos y los recursos, entonces tiene que disponer de información sobre el estado actual de cada proceso y de cada recurso. El S.O. construye y mantiene tablas de información sobre cada entidad que esté administrando. Hay cuatro tipo de tablas diferentes mantenidas por el sistema operativo: de memoria, de E/S, de archivos y de procesos.
Las tablas de memoria deben incluir la siguiente información:
·         La asignación de memoria principal a los procesos
·         La asignación de memoria secundaria a los procesos
·         Atributos de protección de segmentos de memoria, tales como qué procesos pueden acceder a ciertas regiones compartidas de memoria
·         Cualquier información necesaria para gestionar la memoria virtual
Las tablas de E/S son utilizadas por el sistema operativo para administrar los dispositivos y canales de E/S del sistema informático.
Las tablas de archivos ofrecen información sobre la existencia de los archivos, su posición en la memoria secundaria, su estado actual y otros atributos. Gran parte de esta información (o toda) puede ser mantenida y utilizada por un sistema de gestión de archivos, en cuyo caso el sistema operativo tendrá poco o ningún conocimiento de los archivos.
Finalmente, el sistema operativo debe mantener tablas de procesos para administrarlos.
Todas estas tablas deben estar enlazadas o disponer de referencias cruzadas de alguna manera. La memoria, E/S y los archivos son administrados ennombre de los procesos, por lo que debe haber alguna referencia directa o indirecta a estos recursos en las tablas de procesos.
Estructuras de control de procesos
Los elementos típicos de una imagen de proceso son:
·         Espacio de direcciones privadas del usuario: incluye los datos del usuario (la parte modificable del espacio de usuario que puede guardar datos del programa, una zona para una pila del usuario y programas que pueden modificarse) y el programa del usuario (programa a ejecutar).
·         Pila del sistema: cada proceso tiene una o más pilas LIFO asociadas a él. Una pila se utiliza para almacenar los parámetros y las direcciones de retorno.
·         Bloque de control del proceso: información necesaria para que el sistema operativo controle al proceso.
·         Espacio de direcciones compartidas con otros procesos
Para que el sistema operativo pueda administrar el proceso, al menos una pequeña parte de su imagen, que contiene la información a usar por el sistema operativo, debe mantenerse en memoria principal. Para ejecutar el proceso, la imagen completa debe cargarse en la memoria principal. Por tanto, el sistema operativo necesita conocer la ubicación de cada proceso en el disco y también la ubicación de los procesos que estén en memoria principal.
Hay una tabla principal de procesos con una entrada para cada proceso. Cada entrada contiene, al menos, un puntero a la imagen de un proceso. Si la imagen del proceso contiene varios bloques, entonces esta información estará guardada directamente en la tabla principal o con referencias cruzadas a entradas de las tablas de memoria.
Bloque de Control del Proceso
En un sistema de multiprogramación sofisticado, se requiere una gran cantidad de información de cada proceso para su administración. Como ya se dijo, puede considerarse que esta información reside en un bloque de control del proceso (PCB), que será de utilidad para poder conmutar la CPU entre los distintos programas en ejecución. Los PCB son leídos y/o modificados por casi todos los módulos de un S.O., incluyendo aquellos que tienen que ver con la planificación, asignación de recursos, tratamiento de interrupciones y análisis y supervisión del rendimiento. Puede decirse que el conjunto de los PCB definen el estado del sistema operativo.
Una serie de rutinas del S.O. intentarán acceder a la información de los PCB. La dificultad no está en el acceso, sino en la protección; existen dos problemas:
·         Un error en una sola rutina, como la de tratamiento de interrupciones, puede dañar los PCB, lo que destruiría la capacidad del sistema para administrar los procesos afectados.
·         Un cambio de diseño en la estructura o en la semántica del PCB podría afectar a varios módulos del S.O.
Estos problemas planteados se pueden abordar exigiendo a todas las rutinas del S.O. que pasen a través de una rutina de manejo, cuya única tarea sería la de proteger los PCB y que se constituiría en el único árbitro para leer y escribir en estos bloques.
La información del bloque de control del proceso puede agruparse en tres categorías generales:
·         Identificación del proceso: incluye el identificador de este proceso, el identificador del proceso que lo creó (proceso padre) y el identificador del usuario. A cada proceso se le asigna un identificador único, que puede ser tan simple como un índice en la tabla principal del proceso. Si no hay identificadores numéricos, entonces debe existir una correspondencia que permita al S.O. ubicar las tablas apropiadas a partir del identificador del proceso.
·         Información del estado del procesador: está formada por los registros del procesador, que son los Registros visibles al usuario (a los que puede hacerse referencia mediante el lenguaje de máquina), los Registros de Control y de Estado (IP – EFLAGS – Identificadores de habilitación/inhabilitación) y los Punteros de Pila (las pilas almacenan los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema; el puntero de pila apunta siempre a la cima de la pila). Por supuesto, mientras un proceso está ejecutándose, la información está en los registros. Cuando se interrumpe el proceso, toda la información de los registros debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución.
·         Información de control del proceso: es la información necesaria para que el S.O. controle y coordine los diferentes procesos activos. Incluye:
. Información de Planificación y Control: estado del proceso, prioridad, información de planificación e identidad del suceso que el proceso está esperando antes de poder reanudarse
. Estructuración de Datos: un proceso puede estar enlazada con otros procesos en una cola, anillos u otra estructura. El PCB puede contener punteros a otros procesos para dar soporte a estas estructuras.
. Comunicación entre procesos: indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes.
. Privilegios de los procesos
. Gestión de Memoria
. Propiedades y utilización de los recursos

No hay comentarios:

Publicar un comentario