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

Slides:



Advertisements
Presentaciones similares
GESTION DE PROCESOS Procesos y tareas
Advertisements

TEMA 1 Introducción a la Programación Concurrente
Administración de procesos Lic. Orlando Zamora Rdz.
Creación de procesos Asignar un único identificador al nuevo proceso. Asignar espacio para el proceso. Debe inicializarse el bloque de control del proceso.
Planificación de Monoprocesadores
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Administración de procesos y del procesador.
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Sistemas Operativos Unidad II Procesos.
Introducción al software
Modelo de procesos de dos estados
Control y Descripción de Procesos
Detalles del sistema operativo
Windows XP sp3.
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS UNIDAD 1..
INGENIERIA EN SOFTWARE y HARDWARE
Composición Interna de un Procesador
Multiprogramación Procesos Cecilia Hernández
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistemas Operativos Procesos.
Hilos - Lightweight process - Procesos ligeros
Software Sistemas Operativos
Profesor: Rodrigo Sanhueza Figueroa
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Administración de Memoria Memoria Virtual
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
Contenido Estructura del computador Ejecución de instrucciones
Overview de Sistemas Operativos
Introducción a los Sistemas Operativos
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Gestión de procesos Sistemas Operativos Edwin Morales
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Sistemas Operativos Tema 4
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
COMPONENTES DEL SISTEMA OPERATIVO.
Memoria virtual.
Administrador de procesos
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
1 EL PROCESADOR,LOS PROCESOS Y ESTADOS Esperanza Lozada de Coronel
Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez
Estructura de los Sistemas Operativos
Clasificación y estructura. Alejandra Rivero Esteban
ARQUITECTURA DE SISTEMAS OPERATIVOS.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
GESTIÓN DE PROCESOS.
Unidad 2 – Gestión de Procesos
Estados de procesos El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Transiciones.
INTERRUPCIONES – ABRAZO MORTAL
TEMA: PROCESOS y PLANIFICACIÓN
Licenciatura Tecnologías de la Información y Comunicación
Elementos y tipos de sistemas operativos
Funciones principales!
UNIDAD I INTRODUCCION A LOS S.O.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
Gestión de Memoria – Parte 2
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Descripcion y control de procesos
Transcripción de la presentación:

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

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 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 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 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 Traza de proceso Secuencia de instrucciones que ejecuta un proceso Despachador intercambia el procesador de uno a otro proceso

7 Ejemplo de traza

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 Modelo de proceso de 2 estados Un proceso puede estar en uno de dos estados –Corriendo –No corriendo

10 Creación de Procesos

11 Término de Procesos

12 Término de Procesos

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 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 Ejemplo transición entre estados

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

17 Múltiples colas

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 Modelo de estado con un estado Suspendido

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 Otras razones para suspender un proceso

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 Procesos y Recursos Motivación: ¿Qué información necesita el SO para manjear los procesos y recursos?

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 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 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 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 Tabla de Procesos Donde está el proceso en memoria Atributos del proceso, como por ejemplo identificador, estado, prioridad, etc

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 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 Pentium II EFLAGS Register

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 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 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 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 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 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 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 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

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 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 Modelo de estados en UNIX

44

45 Imagen de Proceso en UNIX