gestion de procesos

36
Sistemas Operativos - Tema 1: Introducción a los SSOO Sistemas Operativos - Tema 3: Gestión de procesos Facultad de Ingeniería Industrial y de Sistemas Escuela de Ingeniería de Sistemas Curso: Sistemas Operativos Ing. Edgar Muñante Villafuerte Sesión: Gestión de Procesos

Upload: elvissegura

Post on 14-Nov-2015

10 views

Category:

Documents


0 download

DESCRIPTION

gestion

TRANSCRIPT

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Facultad de Ingeniera Industrial y de Sistemas

    Escuela de Ingeniera de Sistemas

    Curso: Sistemas Operativos

    Ing. Edgar Muante Villafuerte

    Sesin: Gestin de Procesos

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Definicin de proceso

    Descripcin de los procesos

    Estados de un proceso

    Planificacin del procesador Algoritmos de planificacin

    Resumen

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Definicin de Proceso

    Proceso: instancia de un programa en ejecucin. Un mismo programa puede dar lugar a varios procesos

    Cada proceso ocupa un espacio en memoria y tiene unos datos

    Para el sistema operativo el proceso es un conjunto de estructuras de datos a gestionar.

    El proceso es el elemento central de la ejecucin y el que realiza los trabajos del usuario.

    Todas las estructuras del sistema operativo estn orientadas a la gestin de procesos.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Estructuras de Control del S.O. (I)

    Tabla de memoria Se utilizan para seguir la pista a la memoria principal y secundaria

    Incluyen la asignacin de memoria a los procesos, los atributos de proteccin de memoria y cualquier otra informacin utilizada para

    gestionar la memoria

    Tabla de dispositivos de E/S Se utilizan para administrar los dispositivos y los canales de E/S

    Anotan si un dispositivo est asignado a un proceso

    Tambin la situacin de una operacin en curso

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Estructuras de Control del S.O. (II)

    Tabla de ficheros Almacenan informacin sobre la posicin, estado y otros

    atributos de los ficheros

    En algunos sistemas el gestor de ficheros es independiente del S.O. y esta informacin es externa

    Tabla de procesos Se utilizan para administrar los procesos

    Es la estructura que estudiaremos en este tema

    Estas cuatro tablas estn enlazadas entre s.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Estructuras de Control de Procesos

    Imagen de un proceso Un proceso est formado por el espacio suficiente como para

    albergar las instrucciones y los datos.

    Adems, durante la ejecucin hace uso de una pila para llevar la cuenta de llamadas a procedimientos.

    Por ltimo, tiene un bloque de control de proceso (PCB) con los atributos que utiliza el sistema operativo para controlarlo.

    Las instrucciones, datos y pila se almacenan en la memoria de procesos de usuario. La forma de almacenamiento depende del mecanismo de gestin de memoria empleado.

    El PCB se almacena en la memoria destinada al S.O.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Bloque de Control de Proceso

    Identificacin del proceso Campos destinados a identificar el proceso en el sistema.

    PID, PPID, UID, GID, etc...

    Informacin de estado del procesador Almacena el contenido de los registros del procesador cuando el

    proceso no est ejecutando.

    AC, IR, PC, etc...

    Informacin de Control Almacena la informacin que utiliza el S.O. para gestionar la

    ejecucin del proceso.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Informacin de Control

    (Control) Informacin de Planificacin y Estado Se utiliza para decidir si el proceso ejecuta.

    (Control) Privilegios del Proceso Indica qu tipo de operaciones puede realizar.

    (Control) Recursos Utilizados Indica los recursos controlados por el proceso.

    (Control) Comunicacin entre Procesos Informacin para interactuar con otros procesos.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    El Papel del PCB

    Es la estructura de datos central del S.O.

    Contiene toda la informacin del S.O. sobre procesos

    Los leen y modifican todos los mdulos del S.O.

    Se debe proteger para evitar errores de utilizacin

    Para ello se crea un mdulo del S.O. que contiene a todos los PCBs

    Slo se permite acceder a ellos a travs de funciones de este mdulo

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Estados de un proceso

    Un estado describe la situacin actual de un proceso

    Traza: representacin de la secuencia de instrucciones que se ejecutan durante la evolucin de un proceso

    El S.O.: Controla la ejecucin de los procesos,

    Establece el criterio para la intercalacin de las trazas

    Determina cmo realizar la asignacin de los recursos que los procesos necesitan para su ejecucin.

    Es necesario tener un modelo claro del comportamiento de un proceso, con objeto de disear un programa que controle los

    procesos segn el modelo establecido

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modelo de 2 Estados

    Es el modelo ms simple

    Un proceso puede Ejecutar o No Ejecutar

    El S.O. guarda datos sobre el estado y la posicin en memoria

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modelo de 5 estados

    El modelo de dos estados no indica la razn por la que un proceso no ejecuta

    Estado Listo: El proceso puede ejecutar.

    Estado Bloqueado: El proceso no puede ejecutar.

    Adems se utilizan otros dos estados Estado Nuevo: el SO ha realizado las acciones necesarias para

    crear el proceso pero no se ha comprometido an a su ejecucin .

    Estado Terminado: Se mantiene el proceso despus de terminar para recoger informacin sobre su ejecucin. El nico recurso que

    utiliza es el PCB.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modelo de 5 estados

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modelo de 7 Estados

    El modelo de cinco estados no indica si un proceso est en memoria principal o secundaria

    Esa divisin es vlida para Listo y Bloqueado

    Un proceso en memoria secundaria est Suspendido

    Con intercambio se puede aumentar el nmero de procesos que pasan de Nuevo a Listo

    Los intercambios de procesos son operaciones de E/S y por tanto muy costosas

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modelo de 7 Estados

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Polticas de Planificacin

    Planificacin a Largo Plazo Admisin de nuevos procesos

    Tiempo de resolucin largo

    Criterio del 50%

    Planificacin a Medio Plazo Intercambio a memoria secundaria

    Tiempo de resolucin medio

    Suspender procesos bloqueados

    Planificacin a Corto Plazo Gestin del procesador

    Tiempo de resolucin breve

    FCFS, SJF, SRT, Prioridades, RR, etc

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Polticas de Planificacin

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modos de Ejecucin (I)

    Para proteger los datos del S.O. se utiliza el hardware

    Los procesadores tienen varios modos de ejecucin Modo ncleo: Ofrece todas sus instrucciones

    Modo usuario: Ofrece un conjunto limitado de instrucciones que no permiten acceder a determinados elementos del sistema

    El S.O. ejecuta en modo ncleo y el resto de los procesos lo hacen en modo usuario

    Para cambiar de modo se usa la instruccin privilegiada CHM (Change Mode)

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modos de Ejecucin (II)

    El cambio a modo usuario es sencillo, porque consiste en perder privilegios

    El cambio a modo ncleo se realiza cuando un proceso ejecuta una llamada al sistema o cuando hay

    una interrupcin

    La llamada al sistema acta como una interrupcin pero proviene del software

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Modos de Ejecucin (y III)

    Si hay una interrupcin software o hardware, el procesador para la ejecucin del proceso actual

    Es lo que se llama cambio de contexto Guarda en el PCB los registros que el proceso utiliza (son lo que

    se llama contexto)

    Ejecuta la Rutina de Tratamiento de Interrupcin

    Despus recupera el contexto del PCB del proceso y lo devuelve al procesador

    El cambio de contexto lo realiza el hardware para que sea ms rpido

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Cambios de contexto y de proceso

    CAMBIO DE CONTEXTO:

    Salvar el contexto del proceso.

    Analizar el tipo de interrupcin producida.

    Asignar al contador de programa la direccin de la

    rutina de tratamiento de la

    interrupcin.

    Cambiar de estado usuario a estado sistema.

    CHM

    Cambiar a PSW de la rutina a ejecutar.

    CAMBIO DE PROCESO:

    Salvar el contexto del proceso.

    Actualizar el PCB del proceso en ejecucin, cambiando el estado.

    Mover este PCB a la cola apropiada segn el estado.

    Seleccionar otro proceso para ejecucin.

    Actualizar el PCB del proceso seleccionado indicando el estado

    ejecucin.

    Actualizar las estructuras de datos de gestin de memoria.

    Restaurar el contexto del procesador.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Polticas de Planificacin

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Criterios de Planificacin (I)

    Uso de CPU Es bueno entre un 40% y un 90%

    Se debe maximizar

    Productividad Nmero de trabajos por unidad de tiempo

    Se debe maximizar

    Tiempo de retorno de un proceso Instante final menos instante inicial

    Se debe minimizar

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Criterios de Planificacin (II)

    Tiempo de espera de un proceso Tiempo que est sin hacer nada productivo, ni ejecuta ni

    utiliza los dispositivos de E/S

    Incluye la espera del procesador y la espera de E/S

    Se debe minimizar

    Tiempo de retorno normalizado de un proceso Tiempo de retorno entre tiempo de servicio

    El tiempo de servicio es el tiempo que est haciendo algo productivo

    Se debe minimizar

    El valor ptimo es uno

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Criterios de Planificacin (y III)

    Tiempo de respuesta interactiva de un proceso Tiempo hasta la primera respuesta para el usuario

    Importante en sistemas de tiempo compartido

    Se debe minimizar

    Eficiencia segn prioridad Los procesos ms prioritarios terminan antes

    Es un valor poltico, que depende de las necesidades de un sistema concreto

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin

    Modo de Decisin Algoritmos no apropiativos: el proceso contina ejecutndose

    mientras no acabe o se bloquee por una peticin E/S o peticin al

    sistema.

    Algoritmos apropiativos: el proceso puede ser interrumpido en la ejecucin.

    Ejemplo de planificacin Para entender el funcionamiento de los algoritmos los estudiaremos

    sobre el siguiente ejemplo

    Proceso A B C D E

    Llegada 0 2 4 6 8

    Servicio 3 6 4 5 2

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: Prioridades

    Selecciona el proceso con mayor prioridad de los que esperan.

    Se adapta a la forma de trabajo de muchos sistemas.

    Es un algoritmo simple porque la prioridad existe en el sistema.

    No es importante el tiempo que tardan los procesos de poca prioridad.

    Es muy importante que los de alta prioridad tarden poco.

    Puede ser apropiativo o no apropiativo.

    Puede producir inanicin, que se soluciona aplicando prioridades con envejecimiento.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: FCFS

    FCFS: Primero en llegar, Primero en ser servido

    No apropiativo

    Selecciona el primero de la cola de listos

    Depende del orden de llegada

    Penaliza a procesos cortos frente a largos

    0 5 10 15 20

    1

    2

    3

    4

    5

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: SJF

    SJF: Primero el Proceso ms Corto

    No apropiativo

    Selecciona el proceso de menor duracin estimada: No es aplicable si se desconoce la duracin de los procesos

    Posibilidad de inanicin

    0 5 10 15 20

    1

    2

    3

    4

    5

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: SRT

    Menor Tiempo Restante (SRT)

    Es un SJF Apropiativo segn duracin estimada No aplicable si no se conoce la duracin de los procesos

    Genera el mejor resultado posible

    Posibilidad de inanicin

    Vlido para comparaciones tericas

    0 5 10 15 20

    1

    2

    3

    4

    5

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: RR

    Round Robin: Turno Rotatorio Apropiativo en funcin del tiempo. Selecciona el primero de la cola de listos. Equitativo para procesos heterogneos. Cada cambio de contexto retrasa los procesos. El rendimiento es malo si tienen carga de E/S.

    0 5 10 15 20

    1

    2

    3

    4

    5

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: VRR

    Turno Rotatorio Virtual (VRR )

    Utiliza dos colas de acceso al procesador.

    En la segunda estn los procesos que no pudieron completar su cuanto en la ltima ejecucin.

    Esta cola tiene prioridad sobre la primera.

    Los procesos de esta cola ejecutan slo durante el cuanto que no completaron anteriormente.

    El objetivo es un RR con el rendimiento equilibrado entre los procesos con carga de CPU y los procesos con carga de E/S.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: HRRN

    Siguiente el de Mayor Tasa de Respuesta (HRRN)

    No apropiativo.

    Selecciona el proceso con mayor tasa de respuesta: TR = (Tespera + Tservicio) / Tservicio

    Minimiza el tiempo de retorno normalizado.

    1

    2

    3

    4

    5

    0 5 10 15 20

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Algoritmos de Planificacin: Colas Multinivel

    Se utilizan mltiples colas de procesos Listos Es posible aplicar un algoritmo en cada cola

    Se necesita un algoritmo para seleccionar una cola para el proceso

    Retroalimentacin: Un proceso vuelve de ejecutar a una cola diferente de la que sali

    Se necesita un algoritmo para determinar a que cola va un proceso despus de cada rfaga de ejecucin

    Un ejemplo clsico: Colas que utilizan RR con prioridad entre colas y Q en aumento. Un proceso siempre va a una cola con un

    cuanto mayor.

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Evaluacin de Algoritmos de planificacin

    Evaluacin Analtica Modelos deterministas: Deciden para una carga de trabajo concreta

    Modelos de colas: Aplica tcnicas de probabilidad

    Es el mtodo ms econmico

    Simulaciones Se programa un modelo y se obtienen medidas de los resultados

    Implementacin Se codifica el S.O. y se comprueba como trabaja

  • Sistemas Operativos - Tema 1: Introduccin a los SSOO

    Sistemas Operativos - Tema 3: Gestin de procesos

    Bibliografa

    Bsica:

    Sistemas operativos. Conceptos fundamentales. James L. Peterson y Abraham Silberschatz. Ed. Reverte. 1991.

    Sistemas operativos, 5 edicin. Willian Stallings. Ed. Pearson. 2005.

    Complementaria y de consulta:

    Conceptos de Sistemas Operativos, 6 edicin. Silberschatz, Galvin y Gagne. Ed. Limusa-Wiley. 2002.

    Sistemas operativos. Diseo e implementacin, 2 edicin. Andrew Tanenbaum y Albert Woodhull. Ed. Pearson. 2002.