La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.

Presentaciones similares


Presentación del tema: "1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para."— Transcripción de la presentación:

1 1 Descripción y control de procesos Capítulo 3

2 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para maximizar la utilización del procesador y al mismo tiempo proveer tiempos de respuestas razonables Procurar recursos a los procesos Apoyar comunicación entre procesos y la creación de procesos por parte de los usuarios

3 3 El proceso Un programa en ejecución Una instancia de un programa corriendo en un computador La entidad que puede ser asignada (planificada) para ejecución en un procesador Unidad de actividad caracterizada por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto asociado de recursos del sistema

4 4 Elementos típicos de un proceso Identificador Estado Prioridad PC (program counter) Punteros a memoria (texto, dato, etc) Contexto (contenido de registros) Información de status de I/O Información de contabilidad

5 5 Bloque de control de proceso (PCB) Estructura de datos que contiene los elementos de procesos Creado y manejado por el SO Contiene la información necesaria para interrumpir un proceso en ejecución y luego reanudarlo (como si la interrupción no hubiera ocurrido)

6 6 Traza de proceso Secuencia de instrucciones que ejecuta un proceso Despachador intercambia el procesador de uno a otro proceso

7 7 Ejemplo de traza

8 8 Estado de procesos Un proceso que no está corriendo puede: –estar listo para ejecución –estar bloqueado esperando por I/O Un sola cola de espera no sería apropiada. El dispatcher no puede simplemente seleccionar de la cola el proceso que más tiempo ha estado en ella; puede ser que esté bloqueado.

9 9 Modelo de proceso de 2 estados Un proceso puede estar en uno de dos estados –Corriendo –No corriendo

10 10 Creación de Procesos

11 11 Término de Procesos

12 12 Término de Procesos

13 13 Modelo de proceso de 5 estados El estado no-corriendo se divide en dos: listo y bloqueado Por conveniencia, se agregan dos estados más.

14 14 Modelo de 5 estados Running (ejecutándose): el proceso está corriendo, es decir está en la CPU Ready: el proceso está listo para ejecutarse Blocked: no puede ejecutarse hasta que un evento dado ocurra. Ej: operación de I/O termine. New: está recién creado, pero aún no ha sido admitido en la cola de Ready. Ej. Aún no ha sido cargado en memoria. Exit: un proceso que, por algún motivo, ya no sigue ejecutándose en el sistema.

15 15 Ejemplo transición entre estados

16 16 Usando dos colas En este caso todos los eventos envían a los procesos a una misma cola

17 17 Múltiples colas

18 18 Procesos Suspendidos El procesador es mucho más veloz que los dispositivos de I/O, y sería posible que todos los procesos en memoria estuvieran esperando por I/O. Swap temporalmente algunos de estos procesos a disco y así liberar memoria. Procesos que han sido swapeados a disco desde el estado de bloqueados, pasan al estado Suspended Note que swapping es una operación de I/O

19 19 Modelo de estado con un estado Suspendido

20 20 Modelo con dos estados Suspendido Blocked: proceso en memoria principal y esperando por un evento Blocked/Suspend: proceso en memoria seundaria y esperando por un evento Ready/Suspend: proceso en memoria secundaria, pero listo para ejecución en cuanto se cargue en memoria principal

21 21 Otras razones para suspender un proceso

22 22 Características de un proceso suspendido El proceso no está disponible para ejecución inmediata. El proceso puede o no estar esperando por un evento. La condición de bloqueado es independiente de la condición de suspendido. El proceso fue puesto en estado suspend por un agente: el mismo, el padre o el SO. El proceso no puede ser removido de este estado hasta que el agente lo ordene.

23 23 Procesos y Recursos Motivación: ¿Qué información necesita el SO para manjear los procesos y recursos?

24 24 Estructuras de control del SO Almacenan información del estado ectual de los procesos y recursos. Típica estructura: tablas para cada entidad que el SO administra.

25 25 Tablas de la memoria Para mantener información de qué memoria está usada o libre, ya sea memoria principal o secundaria (virtual) y quién la está usando. Incluye la siguiente información: –Asignación de memoria principal a procesos. –Asignación de memoria secundaria a procesos. –Atributos de protección de los bloques de memoria (principal o virtual) –Otra información para administrar la memoria virtual del sistema

26 26 Tablas de I/O Para administrar los dispositivos y canales de I/O del sistema Información relevante a: –Estado de una operación de I/O y dirección de memoria principal usada como fuente o destino de la transferencia de I/O –Disponibilidad de los dispositivos de I/O –Asignación de los dispositivos de I/O a procesos

27 27 Tablas de archivos Mantienen información acerca de: –la existencia de archivos, –sus ubicaciones en memoria secundaria, –sus estados actuales –sus dueños –atributos A veces, esta información es mantenida por un sistema de administración de archivos y el SO no conoce los detalles de dicha administración.

28 28 Tabla de Procesos Donde está el proceso en memoria Atributos del proceso, como por ejemplo identificador, estado, prioridad, etc

29 29 ¿Qué constituye un proceso? Programa que se ejecuta Datos, locales, globales, constantes, etc Stack, para llamado a procedimientos y paso de parámetros PCB con atributos Imagen del Proceso

30 30 Bloque de Control de Proceso (PCB) Indentificación del proceso –Identificadores del proceso del padre del proceso del usuario del proceso del dueño Contexto del proceso –Registros de la CPU visibles por el proceso (usuario) –Registros de control y status: PC, códigos de condición, status (flags, modo de ejecución). Ejemplo: registro EFLAGS en Pentium II. –Stack Pointer (SP)

31 31 Pentium II EFLAGS Register

32 32 PCB Control del proceso –Información del estado y scheduling Estado del proceso (corriendo, listo, etc) Prioridad Otra información relacionada con scheduling, ejemplo: tiempo que el proceso ha estado esperando, tiempo que el proceso ha usado la CPU Identificación del evento que el proceso está esperando antes que pueda reanudar su ejecución. –Estructuración de los procesos Puede que los procesos estén organizados en una lista (simple o doblemente enlazada) Un proceso padre puede apuntar a sus hijos

33 33 PCB Control del proceso –Comunicacion entre procesos Señales, flags, mensajes asociadas a la comunicación entre dos procesos independientes. –Privilegios En ciertos SOs los procesos obtienen privilegios en términos de qué memoria puede accesar y qué tipos de instrucciones puede ejecutar. –Administración de memoria Punteros a la tabla de segmentos o páginas –Utilización y propiedad de recursos Qué recursos son controlados por el proceso, por ejemplo, archivos abiertos. El PCB es la estructura de datos más importante en un SO

34 34 Visión de un proceso en memoria virtual Identificación del Proceso Información Contexto del Proceso Información Control del Proceso Stack Espacio privado de Direcciones (programa, datos) Espacio compartido de direcciones PCB

35 35 Modos de Ejecución de un proceso Modo usuario –Modo menos privilegiado –Los procesos de los usuarios generalmente se ejecutan en este modo. –Ciertas instrucciones no pueden ser ejecutadas en este modo. –Típicamente, un proceso sólo puede acceder direcciones de memoria de su espacio privado de direcciones Modo kernel –Modo más privilegiado –El Kernel del SO se ejecuta en este modo. –El SO tiene control completo del procesador y puede ejecutar cualquier instrucción. –Y accesar cualquier porción de memoria Uno o más bits en el PSW indica el modo actual de ejecución

36 36 Creación de Procesos Asignar un identificador único Procurar espacio para el proceso; para todos los elementos de la imagen del proceso Inicializar el PCB Setear los enlaces pertinentes –Ej: agregar un proceso nuevo a la cola de listos Crear e inicializar otras estructuras de datos –Ej: mantener un archivo de contabilidad

37 37 Cambio de contexto (process switch) Cuándo hacer un cambio de contexto –Trap: error asociado a la ejecución de la instrucción actual. –Interrupción: evento externo a la ejecución del proceso Interrupción del reloj por término de tiempo I/O Fallo de memoria. La dirección de memoria no se encuentra actualmente en memoria principal. –Llamado al sistema (supervisor call, system call): por ejemplo instrucción de I/O. Un cambio de contexto o cambio de proceso no es lo mismo que un cambio del modo de ejecución de un proceso Un cambio en el modo de ejecución puede ocurrir sin cambiar el estado del proceso

38 38 Cambio del estado del proceso (también process switch) Guardar el contexo del proceso incluyendo el PC y otros registro. Actualizar el PCB del proceso que actualmente está en ejecución (por ejemplo actualizar el estado) Mover el PCB de la cola de listo a la cola apropiada. Seleccionar otro proceso para ejecución. Actualizar el PCB del proceso seleccionado Actualizar las estructuras de administración de memoria Restaurar el estado del procesador al que tenía cuando se estaba ejecutando el proceso seleccionado

39 39 Ejecución del Sistema Operativo El SO funciona de la misma forma como funcionan los otros procesos en el sistema El SO frecuentemente entrega el control de la CPU y pasa a depender de ella para retomar el control Kernel no proceso –El SO es ejecutado como una entidad separada y el concepto de proceso es aplicable sólo a los procesos usuarios –El SO se ejecuta en modo privilegiado Ejecución dentro de un proceso usuario –El SO se ejecuta en el contexto de los procesos usuarios –El SO se ve como un conjunto de rutinas que los procesos usuarios llaman –Proceso se ejecuta en modo privilegiado cuando ejecuta código del SO. –Se requiere un stack del kernel en cada imagen de proceso

40 40

41 41 Ejecución del Sistema Operativo Basado en proceso –Implementa el SO como una colección de procesos del sistema –Útil en sistemas multiprocesadores y multicomputadores, pues permiten que los servicios prestados por los procesos puedan ser ejecutados exclusivamante en algunos procesadores y asi mejorar rendimiento.

42 42 Administración de Procesos en UNIX SVR4 Implementa el modelo de ejecución del SO en el contexto de procesos usuarios (La mayoria de las funciones) Dos modos de ejecución: Kernel y usuario Dos categorias de procesos: –Procesos de sistema: Operan en modo kernel y ejecutan código del SO para realizar tareas administrativas, Ej: creación de procesos, procuración de memoria –Procesos usuarios: Operan en modo usuario para ejecutar el proceso usuario y otras utilidades, y operan en modo kernel para ejecutar instrucciones del kernel

43 43 Modelo de estados en UNIX

44 44

45 45 Imagen de Proceso en UNIX


Descargar ppt "1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para."

Presentaciones similares


Anuncios Google