Descripcion y control de procesos Capitulo 3
Estructuras de Control de los S.O. Informacion acerca del estado actuañ de cada proceso y recurso Las tablas son construidas para cada entidad que administra el S.O.
Tablas de Memoria Adjudicacion de memoria principal y secundaria a los procesos Atributos de proteccion para acceder a recursos compartidos Informacion necesaria para administrar memoria virtual
Tablas de Entrada / Salida Dispositivo de E/S asignado o listo Etado de la operacion de E/S Direccion de Mem. Ppal. Que sera usada como origen o destino de la transferencia de E/S
Tablas de archivos Existencia de los archivos Direccion en memoria secundaria Estado Actual Atributos Algunos S.O. esta informacion es mantenida por el sistema de administracion de archivos.
Tablas de procesos Donde puede ser ubicado el proceso Atributos necesarios para su administracion Ientificador de procesos Estado del proceso Ubicacion en memoria
Ubicacion del proceso El proceso incluye una serie de programas a ser ejecutados Direcciones de datos locales y globales Cualquier constante definida Stack Process control block (PCB) Coleccion de atributos Imagen del proceso Coleccion de programas, datos, stack y atributos
Process Control Block PCB Identificacion del proceso Identificadores Identificador del presente proceso Identificador del proceso creado por el presente proceso (multihilo) Identificador del usuario
Process Control Block Informacion del estado del Proceso Registros de uso visible Un registro visible es uno que puede ser referenciado por medio del lenguaje de que ejecuta el procesador. Tipicamente, puede haber desde 8 a 32 de dichos registros, aunque algunos procesadores RISC implementan mas de 100.
Process Control Block Informacion del estado del procesador Registros de Estado y de control Esta es una variedad de registros de procesador utilizados para controlar su operacion. Incluye •Program counter: Contiene la direccion de la siguiente instruccion a ser ejecutada •Condition codes: Resultado de la ultima operacion matematica o legica ejecutada (p.e., signo, cero, carry, igual, overflow) •Informacion de estado: Incluye bit de habilitado/no habilitado de interrupciones, modo de ejecucion
Process Control Block Informacion de stado del procesador Punteros a Stack Cada proceso tiene una o mas listas LIFO asociadas. Un stack puede ser utilizado para guardar direcciones de retorno a procedimientos o llamados al sistema. El pointer apunta a la cabeza (o informacion ultimamente agregada) del stack
Process Control Block Informacion de control del proceso Informacion de planificacion y estado Es una informacion que requiere el S.O. para desarrollar sus tareas de planificacion. Tipicamente contiene: •Estado del proceso: define el estado del proceso a ser planificado para su ejecucion (running, ready, waiting). •Prioridad: Uno o mas campos pueden ser utilizados para esllo. En algunos casos se requieren varios: (p.e. default, actual, disponible en primer termino) •Informacion relacionada con planificacion: ependera del algoritmo utilizado. P.e: tiempo que lleva de espera, tiempo desde que el proceso fue ejecutado la ultima vez en estado running, tiempo tanscurrido desde la ultima E/S. •Evento: Tipo de evento que el proceso espera se cumpla para reasumir su trabajo
Process Control Block Informacion de control del proceso Estructura de datos Dos procesos pueden estar vinculados por una cola, ring u otra estructura. P.e. todos los procesos en espera para una cierta prioridad, pueden estar vinculados por una cola. Un proceso puede exhibir una relacion padre-hijo con otro proceso. La P.C.B. puede contener pointers a otros procesos que soportan dichos atributos.
Process Control Block Informacion de control del proceso Comunicacion inter-procesos Varios flags, señales y mensajes pueden asociarse con la comunicacion entre dos procesos independientes. En general, son guardadas en el P.C.B. Privilegios Los procesos tienen privilegios de garantia en terminos de memoria que pueden acceder y los tipos de instrucciones que pueden ejecutar. Ademas, los privilegios pueden ser aplicados al uso de servicios y utilitarios del sistema.
Process Control Block Informacion de control del proceso Administracion de Memoria Esta seccion incluye pointers a tablas de segmentos o paginas que describen la memoria virtual asignada a este proceso. Recursos de propiedad y uso Pueden ser recursos controlados por el procesador, tales como archivos abiertos. Se pued registrar la historia de la utilizacion del procesador u otros recursos para que puedan ser utilizados en la planificacion.
Informacion de Estado del Procesador Contenidos de registros del procesador Registros visibles Registros de estado y control Stack pointers Program status word (PSW) Contiene informacion de estado
Pentium II EFLAGS Register
Modos de Ejecucion Modo usuario Modo de sistema, control o kernel Modo de menor provilegio En este estado corren los programas de usuario Modo de sistema, control o kernel Modo privilegiado Kernel del S.O.
Creacion de Procesos Asignacion de un identificador unico Reserva el espacio en memoria Inicializa el P.C.B. Incializa insercion en cola de proceso Crea/expande otras estructuras de datos Ej. Mantiene archivo contable
Intercambio de procesos Interrupcion de reloj El proceso llego a ejecutarse tanto como indicaba su time-slice Interrupcion de E/S Memory fault Una direccion de programa no esta presente en memoria
Intercambio de procesos Trap Ocurrencia de error Puede obligara un proceso a pasar a Exit Llamado al Supervisor P.e. Apertura de un archivo
Cambio en estado de Proceso Guarda el Contexto, incluyendo registros y program counter Actualiza el P.C.B. del corriente proceso Mueve el P.C.B. a la correspondiente cola de ready o blocked Selecciona otro proceso para ejecutar
Cambio en estado del proceso Actualiza l P.C.B. del proceso elegido Actualiza las estructuras de datos de la administracion de memoria. Restaura el contexto del proceso elegido
Ejecucion del S.O. Non-process Kernel Ejecuta el Kernel fuera de todo proceso El codigo del S.O. es ejecutado, como una entidad separada que opera en modo protegido Ejecucion dentro de procesos del usuario El soft del S.O. dentro del contexto de un proceso del usuario El proceso se ejecuta en modo privilegiado cuando ejecuta codigo del S.O.
Ejecucion del S.O. S.O. basados en procesos Las principales funciones del kernel, son procesos Son utiles en entornos de multi.computadora o multi-procesador