Mg. Samuel Oporto D - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Mg. Samuel Oporto D

Description:

SISTEMAS OPERATIVOS Administraci n de Procesos Lima, 14 de mayo 2005 Mg. Samuel Oporto D az Tabla de contenido Kernel Descripci n y control de procesos ... – PowerPoint PPT presentation

Number of Views:131
Avg rating:3.0/5.0
Slides: 54
Provided by: SamuelO4
Category:

less

Transcript and Presenter's Notes

Title: Mg. Samuel Oporto D


1
Administración de Procesos
SISTEMAS OPERATIVOS
Lima, 14 de mayo 2005
  • Mg. Samuel Oporto Díaz

2
Tabla de contenido
  • Kernel
  • Descripción y control de procesos
  • Descripción de procesos
  • Control de procesos
  • Bloque de control de procesos
  • Modos de ejecución

3
KERNEL
4
Estructura del Kern
  • El kernell está conformado por 5 grandes
    subsistemas.
  • El planificador de procesos (sched).
  • El administrador de memoria (mm).
  • El sistema del archivo virtual (vfs).
  • La interface de la red (net).
  • La comunicación inter-procesos (ipc).

5
Descomposición Conceptual
6
DESCRIPCION Y CONTROL DE PROCESOS
7
Requerimientos de un S.O en Procesos
  • Intercalar la ejecución de un conjunto de
    procesos para maximizar el uso del procesado para
    ofrecer tiempos de respuesta razonables.
  • Asignar recursos a los procesos de conformidad a
    una política específica (ejemplo prioridades),
    evitando el interbloqueo.
  • Soporte a la comunicación entre procesos y la
    creación de procesos por parte del usuario.

8
Proceso
  • También son llamados tareas.
  • Puede ser trazado
  • Lista de la secuencia de instrucciones que
    ejecuta.
  • Los procesos llevan a cabo tareas en el sistema
    operativo.
  • Es un conjunto de instrucciones almacenados en el
    DD, se activan cuando se les asigna un espacio de
    direcciones.
  • Es una entidad dinámica que cambia a medida que
    el procesador ejecuta las instrucciones.
  • Un SO es multi-proceso, en el sentido que pueden
    ejecutarse varios procesos a la vez.
  • Un SO es multi-proceso, en el sentido que puede
    correr en una máquina con varios procesadores.

9
Estado de un Proceso
  • Un proceso es una secuencia de instrucciones que
    se puede ejecutar en paralelo con otra secuencia
    de instrucciones.
  • El procesado ejecuta las instrucciones
  • Traza de un proceso.
  • El comportamiento de un proceso se se caracteriza
    por el listado de la secuencia de instrucciones
    que se ejecutan para dicho proceso.
  • El comportamiento del procesador se puede
    caracterizar mostrando la forma en que se
    intercalan las trazas de dichos procesos.

10
Ejemplo de Procesos en Memoria
  • No hay memoria virtual
  • Tres programas cargados en memoria.
  • Cada proceso representa a un programa.
  • Existe un programa que asigna el procesador de un
    proceso a otro.
  • Cada proceso tiene un tiempo de ejecución luego
    de lo cual ingresa el siguiente proceso

11
Traza de los tres procesos
Invocación a E/S
12
Traza de tres procesos
  • 100 dirección de inicio para el programa
    distribuidor (dispatcher)
  • Las áreas sombreadas indican ejecución del
    proceso dispatcher.
  • La primera y tercera columna cuenta el ciclo de
    instrucción
  • La segunda y cuarta columna muestra la dirección
    de la que se está ejecutando.

13
(No Transcript)
14
ESTADOS DE UN PROCESO
15
Modelo de Procesos con Dos Estados
  • El SO controla la ejecución de los procesos (se
    necesita saber en qué estado se encuentra cada
    uno).
  • Cada proceso puede tener dos estados
  • En ejecución.
  • No en ejecución.
  • Abajo se presenta el diagrama de transición de
    estados.

16
Cola de procesos (2 estados)
17
Creación de Procesos
  1. Nuevo trabajo por lotes. Creación de un nuevo
    trabajo.
  2. Un nuevo usuario. El usuario entra al sistema
    iterativo.
  3. Creado por el SO para dar un servicio. Ejemplo
    una impresión.
  4. El proceso crea otro proceso.

18
Terminación de Procesos
  • Instrucción Halt incluida en la tarea (bach).
  • Solicitado por el usuario (salir de sesión).
  • Terminación normal.
  • Salir del programa.
  • Terminación del padre.
  • Solicitud del padre.
  • Tiempo límite excedido.
  • No hay memoria disponible.
  • Violación de límites.
  • Error de protección
  • Error aritmético
  • Fallo de E/S (máximo de intentos)
  • Instrucción invalidad.
  • Instrucción priviligeada.
  • Violación de memoria.

19
Necesidad de nuevos estados
  • No corriendo
  • Preparado para ser ejecutado.
  • Bloqueado
  • Esperando por E/S
  • El despachador (dispatcher) puede no seleccionar
    el proceso que está en la cola más tiempo por que
    puede estar bloqueado

20
Modelo de Procesos con 5 Estados
21
Modelo de Procesos con 5 Estados
  • Corriendo (Running). Proceso en ejecución.
  • Preparado (Ready). Preparado para ser ejecutado,
    cuando se le de la oportunidad.
  • Bloqueado (Blocked). Esperan hasta que ocurra un
    evento o suceso.
  • Nuevo (New). Proceso nuevo pero no admitido por
    el sistema
  • Terminado (Exit). Proceso excluido por el
    sistema, pero terminado

22
Usando dos colas
23
Varias de colas de bloqueados
24
Procesos Suspendidos
  • El modelo planteado de tres estados (listo,
    ejecución y bloqueado) ayuda mucho, pero no es
    suficiente.
  • Dado que para que un proceso se ejecute debe ser
    cargado en memoria completamente.
  • Por lo que sería conveniente suspenderlos
  • El procesador es más rápido que la E/S así que
    todos los procesos tendrían que esperar la E/S.
  • Intercambiar esos procesos al disco para liberar
    más memoria.
  • Dos nuevos estados
  • Bloqueado - suspendido.
  • Listo - suspendido.

25
Un estado suspendido
26
Dos estados suspendidos
27
Razones para suspender procesos
  • Intercambio (swapping).
  • El SO necesita liberar suficiente memoria RAM
    para cargar un nuevo proceso.
  • Otra razon del SO.
  • El SO puede un proceso que se sospecha causa un
    problema.
  • Solicitud del usuario.
  • Por tiempo.
  • Se ejecuta con cierta frecuencia, entonces
    mientras no se usa se suspende.
  • Solicitud del proceso padre.
  • El padre desea suspenderlo para examinar o
    modificar el proceso o para coordinar con otros
    procesos.

28
DESCRIPCION DE PROCESO
29
Descripción de Proceso
  • En un entorno multiprogramado muchos procesos
    requieren y están haciendo uso de recursos.
  • Qué información necesita el SO para controlar
    los procesos y administrar los recursos?

30
Estructuras de Control del SO
  • Para administrar todo lo que pasa en el sistema
    el SO construye y mantiene tablas de información
    de cada entidad que esté administrando.

31
Tablas de Memoria
  • Se utiliza para administrar la memoria virtual y
    la memoria real.
  • Asignación de memoria principal a los procesos.
  • Asignación de memoria secundaria a los procesos.
  • Atributos de protección para acceso a regiones de
    memoria compartida.
  • Información necesaria para administrar la memoria
    virtual.

32
Tablas de E/S
  • Se utiliza para administrar los dispositivos y
    canales DES
  • Estado del DES disponible o asignado.
  • Estado de una operación con el DES.
  • Ubicación en la memoria principal que ha sido
    usada como fuente o destino de una operación de
    E/S

33
Tabla de Archivos
  • Existencia de archivos.
  • Ubicación en la memoria secundaria.
  • Estado actual
  • Atributos.
  • A veces esta información es mantenida por el
    sistema de administración de archivos
    (file-management system).

34
Tabla de Procesos
  • Permite administrar la información de cada
    proceso
  • Donde está ubicado ? - proceso en memoria
  • - imagen del proceso
  • Atributos necesarios para este administrador.
  • Process ID
  • Process state
  • Location in memory

35
Estructuras de Control
  • Para que el SO administre los proceso debe de
    conocer
  • Ubicación de proceso.
  • Atributos.

36
Ubicación de los Procesos
Proceso
Imagen del Proceso
Memoria RAM
37
Atributos
  • Bloque de Control de Proceso
  • Identificación del proceso.
  • Identificadores
  • Información del estado del procesador.
  • Registros Visibles para el usuario.
  • Registro de control y de estado
  • Punteros de pila
  • Información de control del proceso.
  • Información de planificación y de estado
  • Estructuración de datos
  • Comunicación entre procesos
  • Privilegios de los procesos
  • Gestión de memoria
  • Propiedad de los recursos y utilización

38
BLOQUE DE CONTROL DE PROCESO
39
Identificación del proceso
  • Identifiers
  • Identificador del proceso
  • Identificador del proceso que creó a este proceso
    (padre)
  • Identificador del usuario.

40
Información del estado del procesador
  • Registros Visibles al usuario
  • Un registro visible para el usuario es aquel que
    puede hacerse referencia por medio de un lenguaje
    de máquina que ejecuta el procesador.
  • Normalmente, existen entre 8 a 32 de estos
    registros, aunque algunas implementaciones RISC
    tienen más de 100.
  • Registros de Control y de Estado.
  • Son registros del procesador para controlar su
    funcionamiento
  • Contador de programa. Siguiente instrucción.
  • Códigos de condición. Resultado de la operación
    aritmética más reciente (signo, cero, acarreo,
    igual, desbordamiento)
  • Información de estado. Habilitación e
    inhabilitación de interrupciones y el modo de
    ejecución.
  • PSW. Palabra de estado de programa. Códigos de
    condición.

41
Palabra de estado de programa (PSW)
  • La PSW o condición de programa almacena
    información pertinente sobre el programa que este
    ejecutándose.
  • Códigos de condición.
  • Indicadores de habilitación de traps
  • Nivel de prioridad de interrupciones
  • Modo previo
  • Modo actual
  • Pila de interrupciones
  • Primera parte hecha (donde se quedó)
  • Traza pendiente (debug)

42
Información del estado del procesador
  • Punteros de Pila.
  • Cada proceso tiene una o más pilas FIFO 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.

43
Información del control del procesador
  • Información de Planificación y de Estado
  • Esta es la información que se necesita por el SO
    para ejecutar sus funciones de planificador
  • Estado del proceso. Define la disposición del
    proceso para ser planificado para ejecutar (en
    ejecución, listo, esperando, suspendido)
  • Prioridad. Se puede usar con uno o más campos
    para describir la prioridad de planificación de
    los procesos. (pueden ser omisión, actual, la más
    alta permitida)
  • Información de planificación. Depende del
    algoritmo de planificación utilizado (tiempo de
    espera, tiempo de ejecución)
  • Eventos. Identidad del evento que el proceso esta
    esperando antes de reanudarse.

44
Información del control del procesador
  • 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 BCP puede contener punteros a otros proceso
    para dar soporte a estas estructuras.
  • 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 BCP

45
Información del control del procesador
  • Privilegios de los proceso.
  • 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, tabién se pueden aplicar privilegios al
    uso de los servicios y utilidades del sistema.
  • Gestión de memoria.
  • Esta sección puede incluir punteros a las tables
    de páginas y/o segmentos que describen la memoria
    virtual asignada.
  • Propiedad de los recurso y utilización.
  • Se pueden incluir los recurso controlados por el
    proceso, tales como los archivos abiertos.
  • Puede ser el histórico de la utilización del
    procesador o de otros recursos.
  • Información necesaria para el planificador.

46
Imagen de un proceso en Memoria
47
CONTROL DE PROCESOS
48
Modos de Ejecución
  • Se divide en dos modos para proteger al SO y sus
    tablas de ser modificadas por el usuario.
  • Modo usuario
  • Modo de menor privilegio.
  • Los programas de usuario se ejecutan en este modo
  • Modo sistema, modo control o modo kernel
  • Modo más privilegiado.
  • Kernel del SO

49
Creación de Procesos
  • Cada vez que el SO crea un proceso se procede de
    la siguiente manera
  • Asignar un único identificador del proceso.
  • Asignar espacio para el proceso. Elementos de la
    imagen del proceso. Espacio de direcciones
    privado, de la pila
  • Inicializar el BCP.
  • Establecer los enlaces apropiados. Colocarlo en
    la lista de procesos listos o suspendidos.
  • Crear otras estructuras de control.

50
Cuándo cambiar un proceso?
  • Interrupción del reloj.
  • Se le acabó el tiempo máximo de ejecución
    permitido.
  • Interrupción de E/S.
  • Inicio de E/S o fin de E/S
  • Fallo de memoria.
  • Cuando existe un fallo de página (página que no
    está en memoria)
  • Cepos (Trap)
  • Determina si el error es fatal.
  • Se puede terminar el proceso, reanudar o
    suspenderlo
  • Llamada del Supervisor
  • Cuando un programa llama al SO para ejecutar un
    proceso
  • Ejemplo abrir un archivo.

51
Cambio de contexto
  • Se ejecuta cada vez que el procesador cambia de
    proceso a ser ejecutado. El procesador hace lo
    siguiente
  • Salva el contexto del programa que se está
    ejecutando (contador de programa y otros
    registros).
  • Modifica el BCP del proceso que se está
    ejecutando.
  • Mueve el BCP de la cola apropiada (preparada,
    bloqueada)
  • Selecciona otro proceso para su ejecución.
  • Asigna al contador de programa el valor de la
    dirección de comienzo del siguiente programa.
  • El contexto corresponde al PSW, que es parte del
    BCP

52
Cambio de contexto
  • Salvar el contexto del procesador.
  • Actualizar el BCP actual.
  • en ejecución ? otro estado
  • Mover el BCP a la cola apropiada (otro estado)
  • Seleccionar otro proceso para su ejecución.
  • Actualizar el BCP del nuevo
  • otro estado ? en ejecución
  • Actualizar la estructuras de datos de gestión de
    memoria. (registros base)
  • Restaurar el contexto del procesador a cómo lo
    dejo en el momento en que fue seleccionado la
    última vez, cargando los valores previos del
    contador de programa y otros registros

53
  • PREGUNTAS
Write a Comment
User Comments (0)
About PowerShow.com