-Procesos- - Arquitectura de Computadores...
Transcript of -Procesos- - Arquitectura de Computadores...
-Procesos-
1.IntroducciónEl Concepto de ProcesoComo ejecutar varios procesos simultáneamente
2.Interrupciones3.Gestión de procesos
Tablas4.Ciclo de vida de los procesos
Estados y Transiciones de un Proceso.Tablas de procesos PCB y del SO.
5.Interrupción de procesos. Cambios de contexto
ARCO 2015 2 Procesos
Funciones del SO
✔Gestión de Procesos✔Planificación de procesos✔Coordinar y sincronizar procesos
ARCO 2015 3 Procesos
Puntos de vista de un Computador
Software deAplicación
Softwarede Sistema
Hardware
ARCO 2015 4 Procesos
Software de Sistema
Loader
OSDatabaseManagement
System
WindowSystemLibraries
Compiler
CommandLine
Interpreter
LibrariesLibraries
Software API
ARCO 2015 5 Procesos
Introducción• Para cumplir con las exigencias de un gestor de
recursos, es necesario que exista una “entidad de trabajo” que efectúe las operaciones necesarias en cada momento.
• Esa entidad es el 'proceso'• Para su ejecución un proceso necesita recursos:
CPU, memoria,... El SO le asigna estos recursos• ¿Como se ejecutan los procesos y la E/S?
ARCO 2015 6 Procesos
Funciones SO• El SO interactúa con el HW y proporciona las
funciones necesarias para manejar el HW al resto del sistema.– El usuario final desconoce internamente el hw, por eso el
SO proporciona una abstracción de los componentes hardware, se ahorran al programador los detalles técnicos
El SO permite que varias aplicaciones y usuarios puedan compartir los recursos.– El SO conmuta el uso del HW entre aplicaciones,
gracias a su gran velocidad de computo.– Cuando se ejecuta un programa, el SO le proporciona una máquina – abstracta sobre la que ejecutarse. – De esta manera el SO comparte el hw haciendo parecer a las
aplicaciones que pueden utilizar todos los recursos del computador.
ARCO 2015 7 Procesos
Programa Resultados
Programa Resultados
Programa Resultados
Idea
Idea
Idea
Compartir recursos. Máquinas Abstractas
ARCO 2015 8 Procesos
¿Como se crean las Maq.Ab?
Se emplean dos tipos de compartición:
l La compartición multiplexada en el espacio
Se divide el uso de la ram y el disco entre entre los procesos
l La compartición multiplexada en el tiempo
A cada proceso se le asigna un recurso durante un tiempo. El SO se lo asignará a otro proceso pasado ese tiempo
MULTIPROGRAMACIÓN
ARCO 2015 9 Procesos
Acelerando el lavado
Aspiradointerior Lavado Secado
Aspiradointerior
Lavado Secado
Interrupciones
ARCO 2015 11 Procesos
Interrupciones
Definición de Interrupción• Suceso que altera la secuencia normal en que se ejecutan las
instrucciones• Una interrupción permite parar la ejecución de un programa
ante el acontecimiento de un suceso determinado.
ARCO 2015 12 Procesos
Tipos de Interrupciones
Tipos de Interrupciones
Hardware. Generadas por los dispositivos
Software. Generadas por el propio proceso
Llamadas al sistema. Se producen mediante la invocación de una instrucción que hay en casi todos los procesadores (TRAP al S.O.). Se usan para pedir servicios al S.O. Y se gestionan como si fuesen interrupciones.Excepciones. Se producen cuando el proceso produce un error grave que impide continuar con su ejecución. El SO las resuelve ( Ej: si produce una falta de página) o finaliza el proceso ( Ej. Si se produce un error de división por cero)
ARCO 2015 13 Procesos
Interrupciones
Ciclo de Ejecución Completo de instrucciones
El ciclo de ejecución de instrucciones se modifica de la siguiente forma:
•Busca -> decodifica -> ejecuta -> trata interrupción. Se añade una nueva etapa en la que se determina y trata lainterrupción que se haya podido producir en la etapa de ejecución.
Tratamiento de una interrupción
• El procesador debe registrar el estado exacto de la ejecución del trabajo actual, desviarse a la rutina de tratamiento de la interrupción, procesarla según su naturaleza y, posteriormente, reanudar el mismo u otro trabajo de usuario.
ARCO 2015 14 Procesos
InterrupcionesVector de Interrupciones
• Tabla que asocia cada tipo de interrupción con una dirección en la que está la rutina de tratamiento de la interrupción
Rutina de Tratamiento de la interrupción
– La rutina de tratamiento de la interrupción forma parte del sistema operativo.
• El SO examina la instrucción que provocó la interrupción• Determina el tipo de servicio requerido e información adicional• Ejecuta la solicitud• Devuelve el control a la instrucción siguiente a la Llamada al sistema,
si no es una operación de E/S o a otro proceso si lo es.
Gestión de Procesos
ARCO 2015 16 Procesos
Gestión de Procesos
• El SO debe de controlar
– La ejecución de estos procesos– Cambio de contexto– Comunicación y sincronización de procesos– Creación y destrucción– Manipular PCB– Gestionar su memoria
• Estas funciones las realizan otros procesos que residen en el núcleo
ARCO 2015 17 Procesos
Multiprogramación
Pi Memoria
Pk Memoria
Pj Memoria
ARCO 2015 18 Procesos
Datos
FilesFilesFicheros
OtrosRecursos
Algoritmo
Idea
CodigoFuente Programa
Binario
PilaEstado
Definición Proceso
ARCO 2015 19 Procesos
OS AddressSpace
Abstracción de procesos
ALUPi Address
Space
Pi ExecutableMemory
Pk AddressSpace
Pk ExecutableMemory
Pj AddressSpace
Pj ExecutableMemory
ARCO 2015 20 Procesos
Espacio de memoria
Proceso
ARCO 2015 21 Procesos
Funciones del SO en la gestión de Procesos• Intercalar la ejecución de un conjunto de procesos para maximizar
el uso de la CPU por parte de los procesos, garantizando que los procesos progresan hasta terminar.
• Asigna recursos a los procesos que compiten por ellos siguiendo políticas específicas.
• Da soporte a la creación y destrucción de procesos por parte del usuario y a la comunicación entre ellos.
• Creación →Crea la imagen del proceso (incluyendo el contexto de ejecución del proceso) que vive durante toda la vida del proceso.
• Destrucción →Libera memoria ocupada por la imagen del proceso, incluyendo la memoria ocupada por el contexto de ejecución del proceso.
ARCO 2015 22 Procesos
Que necesita la CPU para ejecutar un proceso?
La imagen del proceso
ARCO 2015 23 Procesos
Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso
Pila de usuario
Espacio privado de direcciones de usuario (programas, datos)
Espacio de direcciones compartido
Pila del núcleo
Imagen de un proceso:
ARCO 2015 24 Procesos
Tablas de procesos
• ¿Dónde está ubicado el proceso dentro del SO?
• En la Tabla de Procesos:
– Estructura de datos (tabla o lista), con entradas ocupadas por los PCB.
ARCO 2015 25 Procesos
Tablas dememoria
Imagende proceso
Figura 3.10. Estructura general de las tablas de control del sistema operativo.
Memoria
Dispositivos
Archivos
Procesos
Tablas de E/S
Tablas dearchivo
Proceso 1
Proceso 2
Proceso 3
Proceso1
Proceso n
Proceson
Imagende proceso
Tabla de procesos principal
ARCO 2015 26 Procesos
Mapa deMemoria
Mapa de memoria del Proceso A
Tablas SOPC
SP
Estado
Mapa de memoria del Proceso B
Mapa de memoria del Proceso C
Registrosgenerales
Registrosespeciales
Tablas del sistema operativoTabla de procesos
- Tabla de memoria- Tabla de E/S- Tabla de ficheros
BCP Proceso BBCP Proceso A BCP Proceso C- - Identificación- Control
Estado (registros)- - Identificación- Control
Estado (registros) - - Identificación- Control
Estado (registros)
Registros de la CPU
ARCO 2015 27 Procesos
Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso
Identificacióndel procesoInformaciónde estado delprocesadorInformaciónde control delproceso
Informaciónde estado delprocesadorInformaciónde control delproceso
Bloque decontroldelproceso
Pila de usuario Pila de usuario Pila de usuario
Espacio privado de direcciones de usuario (programas, datos)Espacio privado de direcciones de usuario (programas, datos)Espacio privado de direcciones de usuario (programas, datos)
Espacio de direcciones compartidoEspacio de direcciones compartido Espacio de direcciones compartido
Proceso 1 Proceso 2 Proceso n
Figura 3.12. Procesos de usuario en memoria virtual.
Identificacióndel proceso
ARCO 2015 28 Procesos
Control de procesos
• Creación de procesos
• Destrucción de procesos
• Cambio de procesos
ARCO 2015 29 Procesos
Creación de procesos
• Implica crear una imagen incluyendo la memoria principal y las estructuras de datos para representar el proceso:
– Crear registro en PCB.– Inicializar el registro PCB– Cargar el texto y los datos junto con las rutinas de
sistema en memoria principal
ARCO 2015 30 Procesos
Destrucción de procesos
• Instrucción de finalización como última instrucción del código.
• Llamada explícita a un servicio del sistema operativo (exit).
• Debido a errores de ejecución del proceso (excepciones).
• Padre mata hijo
ARCO 2015 31 Procesos
Que son los cambios de contexto
• Un Cambio de contexto es el conjunto de dos operaciones:1)Se salva el estado del procesador en el correspondiente BCP2)Se pasa a ejecutar la rutina de tratamiento de interrupción del SO
• Planificador: Módulo del SO que decide el siguiente proceso a ejecutar.
• Dispatcher, Activador: Módulo del SO encargado de cambiar la ejecución de un proceso a otro.– Copia el estado del BCP a los registros de la CPU– Termina con una instrucción RETI (retorno de interrupción)
• Restituye el registro de estado (bit de nivel de ejecución)• Restituye el contador de programa (para el nuevo proceso).
ARCO 2015 32 Procesos
Cuándo cambiar de contexto
En respuesta a sucesos que alteran el estado del sistema. En este caso, el SO toma el control:
Interrupción de reloj:
● El proceso en ejecución ha consumido la fracción máxima de tiempo permitida.
Interrupción de E/S.
Fallo de memoria:
• La dirección de memoria se encuentra en la memoria virtual, por lo tanto debe ser llevada a la memoria principal.
ARCO 2015 33 Procesos
Cuándo cambiar de contexto
Errores:
● Se ha producido un error.
● Puede hacer que el proceso que se estaba ejecutando pase al estado de Terminado.
Llamada al sistema:
• Como la operación de abrir una archivo.
ARCO 2015 34 Procesos
Operaciones en los Cambios de Contexto
• El SO toma el control y pasa el Despachador a modo kernel.
– Guardar el contexto del procesador, incluyendo el contador de programa y otros registros.
– Guardar el contexto del proceso que abandona la CPU.
– Mover el bloque de control del proceso a la cola apropiada (Listos, bloqueados).
– Restaurar el contexto del proceso que toma la CPU
ARCO 2015 35 Procesos
Ciclo de vida de los Procesos
ARCO 2015 37 Procesos
Ciclo de vida de un proceso
• El ciclo de vida de los procesos, describe el comportamiento que se quiere que exhiban en el sistema
• Existen varios modelos dependiendo de la complejidad que el sistema operativo sea capaz de soportar:
ARCO 2015 38 Procesos
Estados
• Un proceso durante su ejecución, atraviesa varios estados.
• Su ejecución se representa mediante un diagrama de transiciones.
• Estado de un proceso:– Representa la situación actual del proceso respecto a la
utilización de la CPU• Transiciones
– Cambia de estado como consecuencia de un evento
ARCO 2015 39 Procesos
Modelo de proceso con dos estados
Un proceso puede estar en uno de dos estados:– Ejecución.– No Ejecución.
Ejecución
Pausar
Expedir
SalirNoEjecución
(a) Diagrama de transición de estados
Entrar No ejecución
Ejecución
ARCO 2015 40 Procesos
Proceso en estado de No Ejecución en una cola
Entrar Salida
Pausa
ExpedirCola
Proce-sador
(b) Diagrama de colas
El despachador pasa los procesos a ejecución y el planificador controla el orden de la cola
ARCO 2015 41 Procesos
Modelo de 2 estados
• Inconveniente de este modelo:• Procesos que no pueden ejecutarse (por realizar E/S) retienen
la CPU.
• Solución: Modelo de 5 estados
ARCO 2015 42 Procesos
Modelo de 5 estados
• División del estado 'No ejecutando' en dos:• Listos para ejecutarse.• Bloqueado:
• Esperan a que termine una operación de E/S.
• El distribuidor podría no seleccionar exactamente el proceso que está en el extremo más antiguo de la cola porque podría estar bloqueado --> división de la cola de no ejecución en dos: Cola de listos y Cola de bloqueados
• Se crean dos nuevos estados, creado y terminado
ARCO 2015 43 Procesos
Cola de bloqueados
Admitir
Expedir Cola de listos Salir
Proce-sador
Fin de plazo
Ocurresuceso
Cola de bloqueadosEsperar suceso
(a) Una sola cola de bloqueados
ARCO 2015 44 Procesos
Un modelo de cinco estados
• Ejecución.• Listo.• Bloqueado.• Nuevo.• Terminado.
ARCO 2015 45 Procesos
Fin de tiempo
ARCO 2015 46 Procesos
Transicion de estados
ARCO 2015 47 Procesos
Proceso A
Proceso B
Proceso C
Distribuidor
Ejecución Listo Bloqueado
Figura 3.6. Estados de un proceso para una traza cualquiera
ARCO 2015 48 Procesos
Creación
• Razones de la creación– Creado por el SO para dar un servicio– Creado por un proceso y existente
• Consecuencias de la creación– Asignación de algunas estructuras de datos en el
SO para la gestión:• Creación y asignación del PID• Creación de una Entrada en la Tabla de procesos• Creación de Entradas en otras Tablas
ARCO 2015 49 Procesos
Transición Creado - Listo
• Planificación a Medio plazo
– Razones del cambio• El SO está preparado para recibir un proceso mas
– Hay memoria para el– El numero de procesos existentes no es excesivo
– Consecuencias• El proceso sale de la cola de creados• El proceso entra en la cola de listos
ARCO 2015 50 Procesos
Transición Listo - Ejecución
• De listo a ejecución (planif. c. plazo)
– Razones del cambio• El despachador lo elige para ser ejecutado
– Consecuencias del cambio• El proceso sale de la cola de listos• Se produce la ejecución (total o parcial) en procesador
ARCO 2015 51 Procesos
Transición Ejecución – Listo
• Razones del Cambio– El proceso en ejecución ha alcanzado el tiempo máximo
permitido para su ejecución (quantum de t)– Se interrumpe la eje. Porque ha llegado otro proceso
con mayor prioridad– El proceso cede el procesador mediante una llamada al
sistema– Cambio de contexto del proceso
• Consecuencias del cambio– El proceso entra en la cola de Preparados para
ejecutarse
ARCO 2015 52 Procesos
Transición Ejecución – Bloqueado
• Razones del cambio– El proceso solicita al SO (ll.s.) algo por lo que deba de
esperar:– Petición de recurso no disponible (fichero, memoria,..)– Petición de operación de E/S– Espera de un mensaje de otro proceso
• Consecuencias del cambio– El proceso abandona la CPU (cambio de contexto)– El proceso entra en la cola de procesos bloqueados a la
espera de cierto evento
ARCO 2015 53 Procesos
Transición Bloqueado – Listo
• Razones del cambio– Se produce el evento por el que estaba esperando
• Consecuencias del cambio– El proceso sale de la cola de bloqueados– El proceso entra en la cola de preparados
ARCO 2015 54 Procesos
Transición Ejecución - Terminado
• Razones de la terminación– El proceso lo solicita– Se ha producido un error– Otro proceso lo finaliza
• Consecuencias del cambio– El proceso abandona la CPU (descarga del contexto en
las tablas– El sistema libera memoria– Se conserva la información del proceso para
contabilidad
ARCO 2015 55 Procesos
Problemas del Modelo 5 Estados
• Memoria principal limitada• Operaciones E/S mucho mas lentas que ejecución
– -> CPU ociosa• Soluciones:
– Aumento cantidad memoria (poco práctico).– Intercambio
• Envío temporal de procesos a memoria secundaria, para dejar libre memoria principal, preferentemente los de estado bloqueado
– Se necesita un nuevo estado para procesos: SUSPENDIDO
ARCO 2015 56 Procesos
Razones para la suspensión de procesos
Intercambio
Otra razón del SO
Solicitud de un usuario interactivo
Temporización
Solicitud del proceso padre
El sistema operativo necesita liberar suficiente memoriaprincipal para cargar un proceso que está listo para ejecutarse.El sistema operativo puede suspender a un procesosubordinado o de utilidad, o a un proceso que se sospechaque sea el causan te de un problema.Un usuario puede querer suspender la ejecución de unprograma con fines de depuración o en conexión con el usode un recurso.Un proceso puede ejecutarse periódicamente (por ejemplo, unproceso de contabilidad o de supervisión del sistema) y puedeser suspendido mientras espera el siguiente intervalo de tiempo.Un proceso padre puede querer suspender la ejecución de undescendiente para examinar o modificar el proceso suspendidoo para coordinar la actividad de varios descendientes.
ARCO 2015 57 Procesos
Un estado de suspensión
Nuevo Listo Ejecución
Terminado
Admitir
Expedir Salir
Fin de plazo
Ocurre
suceso
SuspenderBloqueadoSuspendido
(a) Con un estado de suspensión
Nuevo Listo Ejecución Terminado
Suspendido Bloqueado
• Ahora un proceso se carga en Memoria principal por dos causas:– SO trae a Memoria principal un proceso Suspendido.– SO atiende petición de creación de un nuevo proceso.
ARCO 2015 58 Procesos
Procesos suspendidos
• ¿Qué pasa cuando se trae a Memoria principal un proceso Suspendido?– Problema: No se sabe si el proceso estaba Listo o
Suspendido (esperando por E/S o no respectivamente).
• Solución: Dividir “Suspendido” en dos estados:– 1. “Suspendido Bloqueado” esperando un suceso
(esperando E/S).– 2. “Suspendido Listo” (no está en E/S).
• Dos nuevos estados:» Bloqueado y suspendido (esperando un suceso (esperando E/S)» Listo y suspendido.
ARCO 2015 59 Procesos
Dos estados de suspensión
Expedir Ejecución
Salir
Fin de plazo
suceso
Ocurre
Suspender
Ocurre
suceso Suspender
Bloqueado
Listo/suspendido Listo Ejecució
n
Bloqueado/suspendido Bloqueado
Nuevo
(b) Con dos estados de suspensión
Nuevo
ARCO 2015 60 Procesos
Modelo de 7 estados
• Implementación del modelo [Stallings, 107-108]• Para implementar la pertenencia de los procesos a determinado
estado, se guardan, asociadas con cada estado, listas de PCB.• Cola de Listos
– Cola inicial donde se colocan los procesos.– PCB de aquellos procesos que no tienen el procesador en este momento
pero están esperando que se lo den para poder ejecutarse.– SO selecciona siguiente a ejecutar de esta cola.
• Cola de Bloqueados– PCB de procesos esperando suceso para poder continuar.– Varias colas de Bloqueados, una para cada suceso.– Cuando ocurra un suceso, el sistema operativo puede pasar a listo la lista
entera de procesos de la cola correspondiente.
ARCO 2015 61 Procesos
Admitir
Cola de listos Expedir Proce-
sador
Salir
Fin de plazo
Esperar suceso 1
Esperar suceso 2
Esperar suceso n
Cola del suceso 1
Cola del suceso 2
Cola del suceso n
Ocurresuceso 1
Ocurresuceso 2
Ocurresuceso n
(b) Varias colas de bloqueados
ARCO 2015 62 Procesos
Modelo 7 estados
LINUX
ARCO 2015 64 Procesos
Ejecución del sistema operativo
• Núcleo fuera de todo proceso:– Ejecuta el núcleo del sistema operativo fuera de cualquier proceso.– El código del sistema operativo se ejecuta como una entidad separada que opera en modo privilegiado.
• Ejecución dentro de los procesos de usuario:– Software del sistema operativo en el contexto de un proceso de usuario.– Un proceso se ejecuta en modo privilegiado cuando se ejecuta el código del sistema operativo.
ARCO 2015 65 Procesos
Ejecución del sistema operativo
• Sistema operativo basado en procesos:– Las funciones más importantes del núcleo se organizan en procesos separados.– Útil en un entorno de multiprocesador o de varios computadores.
ARCO 2015 66 Procesos
Gestión de procesos en Linux
• La mayoría del sistema operativo ejecuta dentro de un proceso de usuario.
P1
Funcio-nes delOS
P1
P2
P1
Pn
Funcio-nes delOS
Funcio-nes delOS
Funciones de cambio de proceso
(b) Las funciones del SO se ejecutan dentro
de los procesos de usuario
ARCO 2015 67 Procesos
Estados de un proceso en UNIX
Ejecución en modo de usuario Ejecutando en modo de usuario.Ejecución en modo del núcleo Ejecutando en modo de núcleo.
Listo para ejecutar y en memoria Listo para ejecutar tan pronto como el núcleo lo planifique.Dormido y en memoria Incapaz de ejecutar hasta que se produzca un suceso; el pro-ceso está en memoria principal.Listo para ejecutar y descargado El proceso está listo para ejecutar, pero se debe cargar el pro-
ceso en memoria principal antes de que el núcleo pueda pla-nificarlo para la ejecución.Dormido y descargado El proceso está esperando un suceso y ha sido expulsado al
almacenamiento secundario.Expulsado El proceso retorna del modo delnúcleo al modo de usuario,pero el núcleo lo expulsa y realiza un cambio de contextopara planificar otro proceso.
Creado El proceso está recién creado y aún no está listo para ejecutar.Zombie El proceso ya no existe, pero deja un registro para que lo re-coja el proceso padre.
ARCO 2015 68 ProcesosFigura Diagrama de transición de estados de los procesos en UNIX.
ExpulsadoCreado
Ejecuciónen modode usuario
Ejecuciónen mododel núcleo
Dormido en memoria
Sin memoriasuficiente (sólo
sistema deintercambio)
Descargar
Cargar
Expulsar
Retornar
Llamada alsistema,interrupción
Volver aplanificar
el proceso
Interrupción,retorno de
interrupciónTerminar
Dormir Despertar
Descargar
Despertar
ExpulsadoCreado
Ejecuciónen modode usuario
Ejecuciónen modo
del núcleo
Listo paraejecutar y
en memoria
Listo paraejecutar ydescargado
Zombie
Dormidoen
memoria
Dormidoy
descargado
ARCO 2015 69 Procesos
Estructuras de control del sistema operativo
• Información sobre el estado actual de cada proceso y de cada recurso.
• El sistema operativo construye tablas de información sobre cada entidad que esté administrando.– Estados del procesador– Tabla de memoria– Tablas de archivos y E/S– Tablas de procesos
ARCO 2015 70 Procesos
Estado del procesador
Está formado por el contenido de todos sus registros:– Registros generales– Contador de programa– Puntero de pila– Registro de estado– Registros especiales
• Cuando un proceso se está ejecutando, su estado reside en los registros del computador.
• Cuando un proceso no se ejecuta, su estado reside en el BCP.
ARCO 2015 71 Procesos
Tablas de memoria
• La asignación de memoria principal a los procesos.
• La asignación de memoria secundaria a los procesos.
• Cualesquiera atributos de protección de bloques de memoria principal o virtual, como qué procesos pueden acceder a ciertas regiones compartidas de memoria.
• Cualquier información necesaria para gestionar la memoria virtual.
ARCO 2015 72 Procesos
Tablas de E/S
• Un dispositivo de E/S puede estar disponible o estar asignado a un proceso en particular.
• Estado de la operación de E/S.• Posición de memoria principal que se
está utilizando como origen o destino de la transferencia de E/S.
ARCO 2015 73 Procesos
Tablas de archivos
• Ofrecen información sobre la existencia de los archivos.
• Su posición en la memoria secundaria.• Su estado actual.• Otros atributos.• A veces esta información es mantenida por
un sistema de gestión de archivos.
ARCO 2015 74 Procesos
Tablas de Procesos•¿Que necesita un proceso para ejecutarse?•Un proceso incluye un programa o un conjunto de programas a ejecutar:
– Conjunto de ubicaciones de datos para las variables locales y globales.
– Constantes definidas.– Pila.
•S.O. mantiene información de ejecución de cada proceso que utiliza para administrar el uso que los procesos hacen de los recursos. Para almacenar esta información, el S.O. construye y mantiene estructuras de control que se denominan Bloque de Control de Procesos o PCB
ARCO 2015 75 Procesos
PCB (Process Control Block)
• Es la manifestación de un proceso en un sistema operativo.
– Estructura de datos con campos para registrar los diferentes aspectos de la ejecución de un proceso y del uso de recursos.
– Identifica al proceso de cara al sistema operativo– Sirve como repositorio para cualquier información que puede variar de proceso en
proceso.– Todas las operaciones que el S.O. realiza sobre procesos las realiza en realidad sobre los
PCB o, al menos, implica el uso de los mismos.
• Contiene información del proceso:• Identificación del Proceso• Información del Estado del procesador• Información de control del proceso
• El SO opera con estos PCB para la creación de las colas y de la tabla de procesos -->
ARCO 2015 76 Procesos
PID
ARCO 2015 77 Procesos
Bloque de control de proceso
• Identificación de proceso– Identifica al proceso a la hora de comunicarse con
otros procesos, conocer su jerarquía, identificar qué proceso utiliza cada recurso, ...
• Identificador numérico único del proceso• Identificador numérico de su padre• Identificador del usuario responsable del trabajo
ARCO 2015 78 Procesos
• Información de estado del procesador– Contenido de los registros del procesador– Mientras el proceso se está ejecutando, esta
información se almacena en los registros físicos– Cuando se interrumpe, toda esta información se
guarda de forma que pueda restaurarse cuando el proceso reanude su ejecución
– RegistroPC– Acumulador,– Puntero de pila– Registros generales
Bloque de control de proceso
ARCO 2015 79 Procesos
• Información de estado del procesador– Registros de control y de estado:
Hay varios registros del procesador que se emplean para controlar su funcionamiento. Entre éstos se incluyen:
• Contador de programa: contiene la dirección de la próxima instrucción a leer.
• Códigos de condición: muestran el resultado de la operación aritmética o lógica más reciente (signo, cero, acarreo, igualdad, desbordamiento).
• Informacion de estado: incluye los indicadores de habilitación o inhabilitación de interrupciones y de modo de ejecución.
Bloque de control de proceso
ARCO 2015 80 Procesos
• Información de estado del procesador– Punteros de pila:
• Cada proceso tiene una o más pilas LIFO del sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.
Bloque de control de proceso
ARCO 2015 81 Procesos
• Información de control del proceso– Información de planificación y de estado:
Ésta es la información que necesita el sistema operativo para llevar a cabo sus funciones de planificación. Los elementos típicos de esta información son los siguientes:•Estado del proceso: define la disposición del proceso para ser planificado para ejecutar (en ejecución, listo, esperando, detenido).•Prioridad: se puede usar uno o más campos para describir la prioridad de planificación de los procesos. En algunos sistemas se necesitan varios valores (por omisión, actual, la más alta permitida).•Información de planificación: ésta dependerá del algoritmo de planificación utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha estado esperando y la cantidad de tiempo que el proceso ejecutó la última vez.•Suceso: la identidad del suceso que el proceso está esperando antes de poder reanudarse.
Bloque de control de proceso
ARCO 2015 82 Procesos
• Información de control del proceso:– Estructuración de datos:
• Un proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura. Por ejemplo, todos los procesos que están en estado de espera de un nivel determinado de prioridad pueden estar enlazados en una cola. Un proceso puede mostrar una relación padre-hijo (creador-creado) con otro proceso. El bloque de control de proceso puede contener punteros a otros procesos para dar soporte a estas estructuras.
Bloque de control de proceso
ARCO 2015 83 Procesos
• Información de control del proceso:– Comunicación entre procesos:
• Puede haber varios indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes. Una parte de esta información o toda ella se puede guardar en el bloque de control de proceso.
– Privilegios de los procesos:• A los procesos se les otorgan privilegios en términos de la
memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar. Además, también se pueden aplicar privilegios al uso de los servicios y utilidades del sistema.
Bloque de control de proceso
ARCO 2015 84 Procesos
• Información de control del proceso:– Gestión de memoria:
• Esta sección puede incluir punteros a las tablas de páginas o segmentos que describen la memoria virtual asignada al proceso.
– Propiedad de los recursos y utilización:• Se pueden indicar los recursos controlados por el proceso,
como los archivos abiertos. También puede incluir un historial de la utilización del procesador o de otros recursos ; esta información puede ser necesaria para el planificador.
Bloque de control de proceso
ARCO 2015 85 Procesos
Como se utiliza el PCB
ARCO 2015 86 Procesos
Módulos básicos del Núcleo
• Manejador de Interrupciones (Interrupt Handler)
• Planificador procesador (CPU Scheduler)
• Establece prioridades y maneja la cola de preparados
• Dispatcher.
• Cede el control del procesador al proceso que está en la cabeza de la cola
• Primitivas de sincronización y comunicación