s.o. Administrador de Procesos

download s.o. Administrador de Procesos

of 53

Transcript of s.o. Administrador de Procesos

  • 8/6/2019 s.o. Administrador de Procesos

    1/53

    11 /58/58

    Administracin de Procesos

    SISTEMAS OPERATIVOS

  • 8/6/2019 s.o. Administrador de Procesos

    2/53

    22 /58/58

    Tabla de contenido

    Kernel Descripcin y control de procesos

    Descripcin de procesos

    Control de procesos

    Bloque de control de procesos

    Modos de ejecucin

  • 8/6/2019 s.o. Administrador de Procesos

    3/53

    33 /58/58

    KERNEL

  • 8/6/2019 s.o. Administrador de Procesos

    4/53

    44 /58/58

    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 comunicacin inter-procesos (ipc).

  • 8/6/2019 s.o. Administrador de Procesos

    5/53

    55 /58/58

    Descomposicin Conceptual

  • 8/6/2019 s.o. Administrador de Procesos

    6/53

    66 /58/58

    DESCRIPCION Y CONTROL

    DE PROCESOS

  • 8/6/2019 s.o. Administrador de Procesos

    7/53

    77 /58/58

    Requerimientos de un S.O en Procesos

    Intercalar la ejecucin de un conjunto de procesos paramaximizar el uso del procesado para ofrecer tiempos de

    respuesta razonables.

    Asignar recursos a los procesos de conformidad a una

    poltica especfica (ejemplo prioridades), evitando elinterbloqueo.

    Soporte a la comunicacin entre procesos y la creacin

    de procesos por parte del usuario.

  • 8/6/2019 s.o. Administrador de Procesos

    8/53

    88 /58/58

    Proceso

    Tambin 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, seactivan cuando se les asigna un espacio de direcciones.

    Es una entidad dinmica que cambia a medida que el

    procesador ejecuta las instrucciones.

    Un SO es multi-proceso, en el sentido que puedenejecutarse varios procesos a la vez.

    Un SO es multi-proceso, en el sentido que puede correr en

    una mquina con varios procesadores.

  • 8/6/2019 s.o. Administrador de Procesos

    9/53

    99 /58/58

    Estado de un Proceso

    Un proceso es una secuencia de instrucciones que sepuede 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.

  • 8/6/2019 s.o. Administrador de Procesos

    10/53

    1010 /58/58

    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 untiempo de ejecucin

    luego de lo cual ingresa

    el siguiente proceso

  • 8/6/2019 s.o. Administrador de Procesos

    11/53

    1111 /58/58

    Traza de los tres procesos

    Invocacin

    a E/S

  • 8/6/2019 s.o. Administrador de Procesos

    12/53

    1212 /58/58

    Traza de tres

    procesos

    100 direccin de inicio

    para el programa

    distribuidor (dispatcher)

    Las reas sombreadasindican ejecucin del

    proceso dispatcher.

    La primera y tercera

    columna cuenta el ciclo

    de instruccin

    La segunda y cuartacolumna muestra la

    direccin de la que se

    est ejecutando.

  • 8/6/2019 s.o. Administrador de Procesos

    13/53

    1313 /58/58

  • 8/6/2019 s.o. Administrador de Procesos

    14/53

    1414 /58/58

    ESTAD

    OSD

    E UN PROCESO

  • 8/6/2019 s.o. Administrador de Procesos

    15/53

    1515 /58/58

    Modelo de Procesos con Dos Estados

    El SO controla la ejecucin de los procesos (se necesitasaber en qu estado se encuentra cada uno).

    Cada proceso puede tener dos estados:

    En ejecucin.

    No en ejecucin. Abajo se presenta el diagrama de transicin de estados.

  • 8/6/2019 s.o. Administrador de Procesos

    16/53

    1616 /58/58

    Cola de procesos (2 estados)

  • 8/6/2019 s.o. Administrador de Procesos

    17/53

    1717 /58/58

    Creacin de Procesos

    1. Nuevo trabajo por lotes. Creacin de un nuevo trabajo.

    2. Un nuevo usuario. El usuario entra al sistema iterativo.

    3. Creado por el SO para dar un servicio. Ejemplo unaimpresin.

    4. El proceso crea otro proceso.

  • 8/6/2019 s.o. Administrador de Procesos

    18/53

    1818 /58/58

    Terminacin de Procesos

    Instruccin Halt incluidaen la tarea (bach).

    Solicitado por el usuario

    (salir de sesin).

    Terminacin normal. Salir del programa.

    Terminacin del padre.

    Solicitud del padre.

    Tiempo lmite excedido. No hay memoria

    disponible.

    Violacin de lmites.

    Error de proteccin Error aritmtico

    Fallo de E/S (mximo deintentos)

    Instruccin invalidad. Instruccin priviligeada.

    Violacin de memoria.

  • 8/6/2019 s.o. Administrador de Procesos

    19/53

    1919 /58/58

    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 ms tiempo por que puede

    estar bloqueado

  • 8/6/2019 s.o. Administrador de Procesos

    20/53

    Modelo de Procesos con 5 Estados

  • 8/6/2019 s.o. Administrador de Procesos

    21/53

    2121 /58/58

    Modelo de Procesos con 5 Estados

    Corriendo (Running). Proceso en ejecucin. 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

  • 8/6/2019 s.o. Administrador de Procesos

    22/53

    2222 /58/58

    Usando dos colas

  • 8/6/2019 s.o. Administrador de Procesos

    23/53

    2323 /58/58

    Varias de colas de bloqueados

  • 8/6/2019 s.o. Administrador de Procesos

    24/53

    2424 /58/58

    Procesos Suspendidos

    El modelo planteado de tres estados (listo, ejecucin ybloqueado) ayuda mucho, pero no es suficiente.

    Dado que para que un proceso se ejecute debe ser

    cargado en memoria completamente.

    Por lo que sera conveniente suspenderlos: El procesador es ms rpido que la E/S as que todos

    los procesos tendran que esperar la E/S.

    Intercambiar esos procesos al disco para liberar ms

    memoria. Dos nuevos estados:

    Bloqueado - suspendido.

    Listo - suspendido.

  • 8/6/2019 s.o. Administrador de Procesos

    25/53

    2525 /58/58

    Un estado suspendido

  • 8/6/2019 s.o. Administrador de Procesos

    26/53

    2626 /58/58

    Dos estados suspendidos

  • 8/6/2019 s.o. Administrador de Procesos

    27/53

    2727 /58/58

    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.

  • 8/6/2019 s.o. Administrador de Procesos

    28/53

    2828 /58/58

    DESCRIPCION DE PROCESO

  • 8/6/2019 s.o. Administrador de Procesos

    29/53

    2929 /58/58

    En un entorno multiprogramado muchos procesosrequieren y estn haciendo uso de recursos.

    Qu informacin necesita el SO para controlar los

    procesos y administrar los recursos?

    Descripcin de Proceso

  • 8/6/2019 s.o. Administrador de Procesos

    30/53

    3030 /58/58

    Estructuras de Control del SO

    Para administrartodo lo que pasa

    en el sistema el

    SO construye y

    mantiene tablas

    de informacin

    de cada entidad

    que est

    administrando.

  • 8/6/2019 s.o. Administrador de Procesos

    31/53

    3131 /58/58

    Tablas de Memoria

    Se utiliza para administrar la memoria virtual y lamemoria real.

    Asignacin de memoria principal a los procesos.

    Asignacin de memoria secundaria a los procesos.

    Atributos de proteccin para acceso a regiones dememoria compartida.

    Informacin necesaria para administrar la memoria

    virtual.

  • 8/6/2019 s.o. Administrador de Procesos

    32/53

    3232 /58/58

    Tablas de E/S

    Se utiliza para administrar los dispositivos y canalesDES:

    Estado del DES: disponible o asignado.

    Estado de una operacin con el DES.

    Ubicacin en la memoria principal que ha sido usadacomo fuente o destino de una operacin de E/S

  • 8/6/2019 s.o. Administrador de Procesos

    33/53

    3333 /58/58

    Tabla de Archivos

    Existencia de archivos. Ubicacin en la memoria secundaria.

    Estado actual

    Atributos.

    A veces esta informacin es mantenida por elsistema de administracin de archivos (file-

    management system).

  • 8/6/2019 s.o. Administrador de Procesos

    34/53

    3434 /58/58

    Tabla de Procesos

    Permite administrar la informacin de cada proceso Donde est ubicado - proceso en memoria

    - imagen del proceso

    Atributos necesarios para este administrador. Process ID

    Process state

    Location in memory

  • 8/6/2019 s.o. Administrador de Procesos

    35/53

    3535 /58/58

    Estructuras de Control

    Para que el SO administre los proceso debe de conocer:

    Ubicacin de proceso.

    Atributos.

  • 8/6/2019 s.o. Administrador de Procesos

    36/53

    3636 /58/58

    Ubicacin de los Procesos

    Proceso

    Imagen

    del

    Proceso

    Memoria RAM

    BCP

    Programas

    Programas

    Programas

    Variables locales Variables globales

    Constantes

    Pila

    Variables locales

    Variables globales

    Constantes

    Pila

    Variables locales

    Variables globales

    Constantes

    Pila

    user

  • 8/6/2019 s.o. Administrador de Procesos

    37/53

    3737 /58/58

    Atributos

    Bloque de Control de Proceso: Identificacin del proceso.

    Identificadores

    Informacin del estado del procesador. Registros Visibles para el usuario.

    Registro de control y de estado

    Punteros de pila

    Informacin de control del proceso. Informacin de planificacin y de estado

    Estructuracin de datos

    Comunicacin entre procesos

    Privilegios de los procesos

    Gestin de memoria

    Propiedad de los recursos y utilizacin

  • 8/6/2019 s.o. Administrador de Procesos

    38/53

    3838 /58/58

    BLOQUE DE CONTROL DE

    PROCESO

  • 8/6/2019 s.o. Administrador de Procesos

    39/53

    3939 /58/58

    Identificacin del proceso

    Identifiers Identificador del proceso

    Identificador del proceso que cre a este proceso

    (padre)

    Identificador del usuario.

  • 8/6/2019 s.o. Administrador de Procesos

    40/53

    4040 /58/58

    Informacin 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 mquina que ejecuta el

    procesador.

    Normalmente, existen entre 8 a 32 de estos registros, aunque

    algunas implementaciones RISC tienen ms de 100. Registros de Control y de Estado.

    Son registros del procesador para controlar su funcionamiento:

    Contador de programa. Siguiente instruccin.

    Cdigos de condicin. Resultado de la operacin aritmtica ms

    reciente (signo, cero, acarreo, igual, desbordamiento)

    Informacin de estado. Habilitacin e inhabilitacin de

    interrupciones y el modo de ejecucin.

    PSW. Palabra de estado de programa. Cdigos de condicin.

  • 8/6/2019 s.o. Administrador de Procesos

    41/53

    4141 /58/58

    Palabra de estado de programa (PSW)

    La PSW o condicin de programa almacena informacinpertinente sobre el programa que este ejecutndose.

    Cdigos de condicin.

    Indicadores de habilitacin de traps

    Nivel de prioridad de interrupciones

    Modo previo

    Modo actual

    Pila de interrupciones

    Primera parte hecha (donde se qued)

    Traza pendiente (debug)

  • 8/6/2019 s.o. Administrador de Procesos

    42/53

    4242 /58/58

    Informacin del estado del procesador

    Punteros de Pila. Cada proceso tiene una o ms pilas FIFO del sistema

    asociadas.

    Las pilas se utilizan para almacenar los parmetros 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.

  • 8/6/2019 s.o. Administrador de Procesos

    43/53

    4343 /58/58

    Informacin del control del procesador

    Informacin de Planificacin y de Estado Esta es la informacin que se necesita por el SO para ejecutar

    sus funciones de planificador:

    Estado del proceso. Define la disposicin del proceso para serplanificado para ejecutar (en ejecucin, listo, esperando,suspendido)

    Prioridad. Se puede usar con uno o ms campos para describirla prioridad de planificacin de los procesos. (pueden seromisin, actual, la ms alta permitida)

    Informacin de planificacin. Depende del algoritmo deplanificacin utilizado (tiempo de espera, tiempo de ejecucin)

    Eventos. Identidad del evento que el proceso esta esperandoantes de reanudarse.

  • 8/6/2019 s.o. Administrador de Procesos

    44/53

    4444 /58/58

    Informacin del control del procesador

    Estructuracin 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 estn en estado de esperade un nivel determinado de prioridad pueden estar enlazados enuna cola.

    Un proceso puede mostrar una relacin padre-hijo (creador-creado) con otro proceso.

    El BCP puede contener punteros a otros proceso para darsoporte a estas estructuras.

    Comunicacin entre procesos.

    Puede haber varios indicadores, seales y mensajes asociadoscon la comunicacin entre dos procesos independientes.

    Una parte de esta informacin o toda ella se puede guardar enel BCP

  • 8/6/2019 s.o. Administrador de Procesos

    45/53

    4545 /58/58

    Informacin del control del procesador

    Privilegios de los proceso. A los procesos se les otorgan privilegios en trminos de la

    memoria a la que pueden acceder y el tipo de instrucciones quepueden ejecutar. Adems, tabin se pueden aplicar privilegios aluso de los servicios y utilidades del sistema.

    Gestin de memoria. Esta seccin puede incluir punteros a las tables de pginas y/o

    segmentos que describen la memoria virtual asignada.

    Propiedad de los recurso y utilizacin. Se pueden incluir los recurso controlados por el proceso, tales

    como los archivos abiertos.

    Puede ser el histrico de la utilizacin del procesador o de otrosrecursos.

    Informacin necesaria para el planificador.

  • 8/6/2019 s.o. Administrador de Procesos

    46/53

    4646 /58/58

    Imagen de un proceso en Memoria

  • 8/6/2019 s.o. Administrador de Procesos

    47/53

    4747 /58/58

    CONTROL DE PROCESOS

  • 8/6/2019 s.o. Administrador de Procesos

    48/53

    4848 /58/58

    Modos de Ejecucin

    Se divide en dos modos para proteger al SO y sustablas 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 ms privilegiado.

    Kernel del SO

  • 8/6/2019 s.o. Administrador de Procesos

    49/53

    4949 /58/58

    Creacin de Procesos

    Cada vez que el SO crea un proceso se procede de lasiguiente 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.

  • 8/6/2019 s.o. Administrador de Procesos

    50/53

    5050 /58/58

    Cundo cambiar un proceso?

    Interrupcin del reloj. Se le acab el tiempo mximo de ejecucin permitido.

    Interrupcin de E/S. Inicio de E/S o fin de E/S

    Fallo de memoria.

    Cuando existe un fallo de pgina (pgina que no est enmemoria)

    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.

  • 8/6/2019 s.o. Administrador de Procesos

    51/53

    5151 /58/58

    Cambio de contexto

    Se ejecuta cada vez que el procesador cambia deproceso 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 ejecucin.

    Asigna al contador de programa el valor de la direccin de

    comienzo del siguiente programa.

    El contexto corresponde al PSW, que es parte del BCP

  • 8/6/2019 s.o. Administrador de Procesos

    52/53

    5252 /58/58

    Cambio de contexto

    Salvar el contexto del procesador. Actualizar el BCP actual.

    en ejecucin otro estado

    Mover el BCP a la cola apropiada (otro estado)

    Seleccionar otro proceso para su ejecucin.

    Actualizar el BCP del nuevo

    otro estado en ejecucin

    Actualizar la estructuras de datos de gestin dememoria. (registros base)

    Restaurar el contexto del procesador a cmo lo dejo enel momento en que fue seleccionado la ltima vez,cargando los valores previos del contador de programa yotros registros

  • 8/6/2019 s.o. Administrador de Procesos

    53/53

    5353 /58/58

    PREGUNTAS