Procesos en sistemas operativos

Anuncio
Procesos
Procesos
• El sistema operativo como
administrador de procesos
Š
Š
Mario Medina
[email protected]
Š
Š
Š
Controla la ejecución de procesos para
optimizar criterios
Asigna recursos a procesos
Facilita sincronización de procesos
Permite intercambio de información
Protege los recursos asignados a un
proceso
Concurrencia de procesos
Qué es un proceso?
• Estudiaremos:
• Definición básica: un programa en
ejecución, incluyendo:
Š
Š
Š
Multiprogramación: ejecución
concurrente de procesos intercalada en
el tiempo
Multiprocesamiento: Ejecución
simultánea de procesos en múltiples
CPUs
Multihebras: Ejecución simultánea de
partes de un proceso
Š
Š
Š
Su estado
Sus datos
Su entorno
Estados de un proceso
Modelo de 2 estados
• Modelo básico de 2 estados
• Estructura de datos básica
Š
Š
En ejecución: el proceso está siendo ejecutado
en la CPU
En espera: el proceso está esperando por la CPU
(C) 2008 Mario Medina
Š
Cola de espera: Contiene punteros a
procesos en espera
1
Acciones en modelo de 2 estados
Creación de procesos
• Eventos que ocurren durante la vida
de un proceso
• Un proceso puede ser:
Š
Š
Š
Š
Crear un nuevo proceso
Despachar un proceso para su ejecución
Detener un proceso en ejecución y
enviarlo a la cola de espera
Terminar un proceso en ejecución
Š
Creado por usuario en proceso
interactivo
Creado por usuario en proceso batch
Creado por el S.O. para dar un servicio
Š
Creado por otro proceso del usuario
Š
Š
h Procesos
h Proceso
Término de procesos
Š
Š
Š
Š
Š
Š
Š
Š
Término normal
Tiempo límite excedido
Memoria insuficiente
Acceso ilegal a
memoria
Error aritmético
Intervención del
operador
Intervención del
sistema operativo
Término del proceso
padre
Š
Š
Š
Š
Š
Š
Acceso ilegal a
archivo
Tiempo máximo de
espera rebasado
Instrucción ilegal
Instrucción
privilegiada
Mal uso de los
datos
Solicitud del
proceso padre
Procesos bloqueados
servidores
padre y proceso hijo
Qué pasa con el S. O.?
• El despachador del S.O. se encarga de
escoger el siguiente proceso a ejecutar
Modelo de 5 estados
• La cola de procesos en espera
contiene:
Š
Š
Procesos listos para ser ejecutados
Procesos esperando un evento
h acceso
a recurso compartido, E/S, etc.
• Consideremos ahora un modelo de 5
estados
Š
Agregar estado bloqueado
(C) 2008 Mario Medina
2
Modelo de 5 estados
Acciones en modelo de 5 estados
• Nuevo: proceso recién creado, aún
no ingresa a la cola de espera
• Listo: proceso listo para ejecutarse
• En ejecución: proceso usando la CPU
• Bloqueado: proceso esperando un
evento
• Terminado: proceso excluido de la
cola
• Admisión: el sistema está listo para
aceptar un proceso más
• Despacho: el sistema selecciona un
proceso listo y lo pone en ejecución
• Fin del quantum: proceso deja la CPU
y vuelve a la cola de procesos listos
• Espera por evento: proceso se
bloquea al solicitar un evento
• Ocurrencia de evento: proceso se
desbloquea al ocurrir el evento
Acciones no mostradas
Estructuras de datos
• El operador, el sistema operativo, o
el proceso padre pueden terminar un
proceso que está actualmente en
ejecución o que está en la cola de
espera
Š
Š
• Nuevo modelo requiere de dos colas de
procesos
Š
Š
Procesos esperando CPU
Procesos esperando un evento
Bloqueado→Terminado
Listo→Terminado
Estructuras de datos
Procesos suspendidos
• Mejor tener una cola por cada tipo de
evento
• Ineficiencia del modelo actual
Š
Todos los procesos deben estar residentes en
memoria
h
Aun cuando estén esperando un evento como acceso
a un archivo, dispositivo, etc.
• Procesador mucho más rápido que E/S
Š
Procesos bloqueados pueden esperar largo
rato!
• Esto limita la memoria disponible a los
otros procesos
(C) 2008 Mario Medina
3
Intercambio de procesos
Modelo de 7 estados
• Intercambiar procesos entre
memoria RAM y memoria secundaria
(disco)
Š
Š
Š
Š
Agregar proceso bloqueado a cola de
procesos suspendidos
Copiar proceso bloqueado a disco
Ahora, procesador puede recibir nuevos
procesos
Procesador puede reactivar proceso
suspendido anteriormente
Modelo de 7 estados
Modelo de 7 estados
• Agregar dos estados
• Otras acciones posibles
Š
Š
Suspendido bloqueado: proceso está en
memoria secundaria esperando un evento
Suspendido listo: proceso está en memoria
secundaria listo para su ejecución
Š
En ejecución→Suspendido listo:
expulsión de un proceso en ejecución si
hay un proceso Suspendido Listo en la
cola que tiene mayor prioridad
Š
Nuevo→En ejecución: Mejora el tiempo
de respuesta a cambio de tener más
procesos listos en memoria
• Agregar nuevas acciones
Š
Š
Activación: traslado del proceso desde disco a
memoria
Suspensión: traslado del proceso desde
memoria a disco
h Sistemas
operativos en tiempo real
Suspensión de procesos
Reactivación de procesos
• Muchas razones para suspender
procesos
• Proceso suspendido fue suspendido
por un agente
Š
Š
Š
Š
Sistema operativo necesita liberar
memoria para un proceso Listo
Proceso se ejecuta periódicamente y es
suspendido entre ejecuciones
Usuario solicita suspensión del proceso
Proceso padre solicita suspensión del
proceso
(C) 2008 Mario Medina
Š
Š
Š
Sistema operativo
Proceso padre
El mismo proceso
• Proceso sigue suspendido hasta que
el agente lo reactive
• Condición de bloqueado
independiente de la suspensión
4
Estructuras de control del S.O.
Estructuras del sistema operativo
• S. O. mantiene tablas de información sobre
memoria, procesos, E/S y archivos
Š
Š
Š
Š
Š
Š
Š
Š
Š
Memoria física y virtual asignada a cada proceso
Atributos de protección de bloques de memoria
Dispositivos de E/S asignados a cada proceso
Operaciones de E/S en marcha
Estado de las operaciones en marcha
Ubicación y atributos de procesos
Recursos asignados al proceso
Ubicación de archivos en disco y memoria virtual
Procesos accediendo a los archivos
Imagen de un proceso
• Manifestación física de un
proceso
Š
Š
Š
Š
Š
Programa (código)
Datos
Pila del usuario
Pila del sistema
Bloque de control del
proceso (Process Control
Block)
• PCB representa al
proceso en el sistema
operativo
Listas de PCBs del S.O.
Bloques de control de proceso
• Ubicación del PCB de un proceso
Š
Š
Proceso en ejecución o listo: imagen
residente en memoria
Proceso suspendido: PCB residente en
memoria; el resto puede estar en disco
• Sistema operativo mantiene listas de
PCBs para
Š
Š
Š
Procesos en ejecución
Procesos esperando por CPU
Procesos bloqueados y suspendidos
Atributos de un proceso en PCB
• Identificación del proceso
Š
Š
Š
Identificador numérico del proceso
Identificador del proceso padre
Identificador del usuario del proceso
• Información del estado del
procesador
Š
Š
Š
(C) 2008 Mario Medina
Registros visibles al usuario
Registros de control y de estado
Punteros de la pila
5
Atributos de un proceso en PCB
• Información de control del proceso
Š
Š
Š
Š
Š
Estado del proceso
Prioridad de ejecución
Evento en espera
Información para planificación de ejecución
Recursos asignados al proceso
h
h
Š
Š
Š
Archivos abiertos por el proceso
Dispositivos asignados al proceso
Privilegios del proceso
Punteros a memoria asignada
Información sobre comunicación entre procesos
Creación de un proceso
• En más detalle
Š
Š
Š
Š
Š
Asignar un identificador único al proceso
Agregar proceso a tabla de procesos
Asignar espacio en memoria virtual para
la imagen del proceso
Inicializar el PCB del proceso
Agregar proceso a cola de procesos
suspendidos listos para ejecutar
Cambio de contexto
Interrupciones y cambio de contexto
• Cambio de un proceso a otro
• Cuándo cambiar el proceso?
Š
Š
Š
Š
Š
Š
Š
Salvar el contexto del procesador
Actualizar el PCB del proceso
Mover el PCB a la cola apropiada
Seleccionar otro proceso
Actualizar PCB del nuevo proceso
Actualizar tablas de memoria
Restaurar el contexto del proceso
Modos de ejecución de la CPU
• CPU tiene 2 o más modos de ejecución
Š
Seleccionados por bits del registro de
estado
Modo de usuario
Š
Modo de control o modo supervisor
Š
h Usado
por las aplicaciones
h Usado
por el sistema operativo
proteger el S.O. y sus estructuras
h Permite proteger un proceso de usuario de los
otros procesos
h Permite
(C) 2008 Mario Medina
Š
Interrupción externa al proceso
h Interrupción
del reloj
de E/S
h Falta de página
h Interrupción
Š
Interrupción interna (trap)
h Error
aritmético
ilegal a un archivo
h Acceso
Š
Llamada a rutina del sistema
Modo supervisor de la CPU
• Acceso a registros de control y
estado de la CPU
• Acceso directo a E/S e interrupciones
• Acceso a rutinas de administración
de procesos
• Acceso a regiones reservadas de
memoria
6
Descargar