Sistemas Operativos - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Sistemas Operativos

Description:

Listo: En espera de que se le asigne el procesador o tambi n se detiene en forma ... PCB, queda vinculado con el final de la cola de listo y es eliminado en la parte ... – PowerPoint PPT presentation

Number of Views:151
Avg rating:3.0/5.0
Slides: 44
Provided by: everalcud
Category:

less

Transcript and Presenter's Notes

Title: Sistemas Operativos


1
Sistemas Operativos
  • Unidad II
  • Administración del proceso

2
Definición de un proceso
El concepto central de cualquier Sistema
Operativo es el de proceso una abstracción de un
programa en ejecución también llamada tarea.
  • Un proceso es
  • Un programa en ejecución que necesita ciertos
    recursos (como tiempo del CPU, memoria, archivo,
    y dispositivos de e/s) para realizar su tarea.
  • El lugar de control de un procedimiento en
    ejecución.
  • Lo que se manifiesta en el bloque de control de
    proceso (PCB) dentro de un sistema operativo.
  • La entidad a la que se le asignan procesadores.

3
El S.O como Administrador de Recursos
  • Administrador de recursos
  • Asignación
  • A los programas en ejecución (procesos)
  • En función de la disponibilidad de recursos y
    ciertas
  • características de los procesos
  • Debe poder recuperarlos cuando ya no se
    necesiten
  • Protección
  • Debe garantizar la no interferencia entre
    procesos en el uso de recursos.
  • Debe impedir que un proceso acceda a recursos de
    otro
  • Para todo lo anterior utilizará una serie de
    estructuras de datos que registrarán el estado de
    los recursos

4
  • El modelo de procesos posee las siguientes
    características  
  • Todo el software ejecutable, inclusive el Sistema
    Operativo, se organiza en varios procesos
    secuenciales o procesos.
  • Un proceso incluye al programa en ejecución y a
    los valores activos del contador, registros y
    variables del mismo.
  • Conceptualmente cada proceso tiene su propia cpu
    virtual.
  • Si la cpu alterna entre los procesos, la
    velocidad a la que ejecuta un proceso no será
    uniforme, por lo que es necesario aclarar lo
    siguiente
  • Que los procesos no deben programarse con
    hipótesis implícitas acerca del tiempo.
  • Que normalmente la mayoría de los procesos no son
    afectados por la multiprogramación subyacente de
    la cpu o las velocidades relativas de procesos
    distintos.
  • Un proceso es una actividad de un cierto tipo,
    que tiene un programa, entrada, salida y estado.
  • Un solo procesador puede ser compartido entre
    varios procesos con cierto algoritmo de
    planificación, el cual determina cuándo detener
    el trabajo en un proceso y dar servicio a otro
    distinto.

5
Característica de los procesos (continuación)
  • Un proceso es una actividad de un cierto tipo,
    que tiene un programa, entrada, salida y estado.
  • Un solo procesador puede ser compartido entre
    varios procesos con cierto algoritmo de
    planificación, el cual determina cuándo detener
    el trabajo en un proceso y dar servicio a otro
    distinto

6
Cada proceso es una entidad independiente pero
frecuentemente debe interactuar con otros
procesos (ver Figura 2.2 23, Tanenbaum).
7
  • Manifestación física del
  • proceso
  • Texto (código), datos y pila
  • Contexto de ejecución del proceso
  • Información que el SO necesita para administrar
    el proceso.
  • Información que la CPU necesita para ejecutar
    correctamente el proceso

8
Ejecución de procesos
  • La ejecución de un proceso consiste en
    desarrollar las instrucciones, almacenadas en
    memoria.
  • En su forma más simple, el procesamiento de una
    instrucción consiste en
  • No posibilita la intercalación de instrucciones
    de diferentes programas (multiprogramación y/o
    tiempo compartido)
  • No hay gestión de interrupciones
  • La E/S tiene que ser por programa.

9
E/S por programa
  • E/S por programa
  • El módulo de E/S del SO realiza la operación.
  • Dialoga con el dispositivo
  • Comprueba constantemente el estado del
    dispositivo hasta que detecta que se ha
    completado la operación

10
Los estados 23, Tanenbaum que puede tener un
proceso son (ver Figura 2.3 23, Tanenbaum)
  • En ejecución Se esta haciendo uso del
    procesador ejecutando instrucciones.
  • Listo En espera de que se le asigne el
    procesador o también se detiene en forma temporal
    para que se ejecute otro proceso.
  • Bloqueado no se puede ejecutar debido a la
    ocurrencia de algún evento externo, por ejemplo,
    cuando se ejecuta una operación de e/s.

11
Son posibles cuatro transiciones entre estos
estados.
12
  • Descripción de procesos
  • Estructuras de control del sistema operativo
  • El bloque de control de procesos

13
Descripción de procesosEstructuras de control
del SO
  • Si el SO tiene que gestionar procesos y recursos,
  • debe mantener información actualizada del estado
    de
  • cada proceso y cada recurso
  • Tablas de memoria
  • Permiten al SO controlar el uso de memoria
    principal
  • (incluso también secundaria) por los procesos.
  • Tablas de entrada/salida
  • Usadas por el SO para gestionar los
    dispositivos de E/S
  • Información sobre los archivos que existen, su
    ubicación
  • en memoria secundaria, etc.
  • Tabla de Archivo
  • Información sobre los archivos que existen, su
    ubicación
  • en memoria secundaria, etc.
  • Tablas de procesos bloque de control de
    procesos

14
Descripción de procesosEstructuras de control
del SO
15
Descripción de procesosEl bloque de control de
procesos
  • Estructura de datos que contiene información
    diversa y necesaria para que el SO gestione y
    controle un proceso
  • Denominada también PCB ( Process Control Block)
  • Un proceso existe, en tanto en cuanto tiene un
    PCB
  • Cada SO le da una implementación diferente
  • Todas las operaciones que el SO realiza sobre un
    proceso implican la manipulación de su PCB
  • Todos los PCB se organizan en la tabla de
    procesos
  • El contenido de un PCB es, realmente, el contexto
    de ejecución del proceso

16
Descripción de procesosEl bloque de control de
procesos
  • Elementos básicos de un PCB
  • Identificación del proceso
  • Identificador numérico único de proceso
  • Puede ser usado en otras tablas como referencia
  • También para la identificación del proceso cuando
    se comunica con otros
  • Si la tabla de procesos toma la forma de array,
    puede
  • servir para, usándolo como índice, obtener el PCB
    del Identificador de su proceso padre
  • Si los procesos están autorizados a crear otros
    procesos
  • Identificador del usuario responsable del mismo

17
Descripción de procesosEl bloque de control de
procesos
  • Elementos básicos de un PCB (continuación)
  • Información de estado del procesador
  • Contenido de los registros del procesador
  • Por supuesto, si el proceso está en ejecución
    (tiene
  • asignada la CPU) esta información está en los
    registros
  • Cuando el proceso abandona el uso del procesador,
    toda
  • la información de los registros se guarda (salva)
    en el
  • PCB de forma que pueda restaurarse en el
    procesador
  • cuando pase de nuevo a ejecutarse (en el futuro)
  • Registros visibles por el usuario (generales)
  • Punteros de pila
  • Registros de control y estado
  • PC, información de estado, códigos de condición,
    etc.

18
Descripción de procesosEl bloque de control de
procesos
  • Elementos básicos de un PCB (continuación)
  • Información de control del proceso
  • Toda la información adicional necesaria para que
    el SO
  • controle y coordine los procesos activos
  • Información de planificación y estado
  • Prioridad, estado, información de planificación,
    etc.
  • Pertenencia del proceso a estructuras de datos
  • Listas, colas, etc., de (PCBs de) procesos
  • Comunicación entre procesos
  • Privilegios del proceso
  • Ubicación en memoria
  • De su código, datos y pila
  • Uso y propiedad de recursos

19
Descripción de procesosEl bloque de control de
procesos
20
Descripción de procesosEl bloque de control de
procesos
21
IntroducciónInterrupciones
  • Concepto
  • Una interrupción es un evento que altera la
    secuencia en que el procesador ejecuta las
    instrucciones es un hecho generado por el
    hardware de la computadora 7, Deitel.
  • Cuando ocurre una interrupción, el Sistema
    Operativo
  • Obtiene el control.
  • Salva el estado del proceso interrumpido,
    generalmente en su bloque de control de procesos.
  • Analiza la interrupción.
  • Transfiere el control a la rutina apropiada para
    la manipulación de la interrupción.
  • Una interrupción puede ser iniciada por un
    proceso en estado de ejecución o por un evento
    que puede o no estar relacionado con un proceso
    en ejecución.

22
Tipos de Interrupciones
  • SVC (llamada al supervisor)
  • es una petición generada por el usuario para un
    servicio particular del sistema, por ejemplo,
    realización de Entrada / Salida u obtención de
    más memoria.
  • Entrada / Salida
  • son iniciadas por el hardware de Entrada /
    Salida, indicando a la cpu que ha cambiado el
    estado de un canal o dispositivo, por ejemplo,
    finalización de Entrada / Salida u ocurrencia de
    un error.

23
Tipos de Interrupciones (continuación)
  • Externas
  • son causadas por distintos eventos, por ejemplo,
    expiración de un quantum (tiempo) en un reloj de
    interrupción o recepción de una señal de otro
    procesador en un sistema multiprocesador.
  • De reinicio
  • ocurren al presionar la tecla de reinicio o
    cuando llega una instrucción de reinicio de otro
    procesador en un sistema multiprocesador.
  • De verificación de programa
  • son causadas por errores producidos durante la
    ejecución de algún procesos, por ejemplo Un
    intento de dividir por cero, un intento de un
    proceso de usuario de ejecutar una instrucción
    privilegiada, un intento de ejecutar un código de
    operación inválido.
  • De verificación de máquina
  • son ocasionadas por un mal funcionamiento del
    hardware.

24
Interrupciones
  • El Sistema Operativo incluye rutinas llamadas
    Manipuladores de Interrupciones (IH) para
    procesar cada tipo diferente de interrupción.
  • Cuando se produce una interrupción el Sistema
    Operativo efectúa las siguientes acciones
  • Salva el estado del proceso interrumpido.
  • Dirige el control al manipulador de
    interrupciones adecuado.
  • Se aplica la técnica de Cambio de Contexto .
  • Los Sistemas Operativos instrumentan información
    de control que puede aparecer como las Palabras
    de Estado de Programa (PSW), las cuales
    controlan el orden de ejecución de las
    instrucciones y contienen información sobre el
    estado del proceso.

25
Proceso concurrente
  • Aquellos que intercalan y/o superponen sus
    ejecuciones en el tiempo
  • Su ejecución provoca interacciones entre ellos y
    con el sistema operativo
  • Se presentan en nuevos problemas
  • Que son independientes del número de procesos y
    CPUs
  • Las soluciones a dichos problemas deben
    garantizar la corrección de la ejecución de los
    procesos concurrentes bajo cualquier secuencia de
    intercalado y/o superposición de instrucciones

26
Problemas que introduce la concurrencia
  • Problemas de sincronización entre procesos
  • Dificultad de asignar los recursos de forma
    óptima
  • Posible uso ineficiente de los recursos,
  • Ejemplo
  • Proceso A consigue un recurso y se bloquea por
    alguna razón
  • Si un proceso B lo solicita, tendrá que esperar
  • Dificultad para localizar errores de programación
  • Las situaciones no son repetibles
  • Compartición de recursos globales no compartibles
  • Global x
  • Procedimiento echo ()
  • Entrada(x) // leer del teclado
  • salx
  • Salida(sal) // mostrar por pantalla
  • End.
  • Varios procesos concurrentes invocan echo()

27
Interacción entre procesos
  • Se pueden clasificar los diferentes tipos de
    interacción en función del conocimiento que
    tienen unos procesos de la existencia de otros
  • Desconocimiento de la existencia de otros
  • Los procesos compiten por los recursos
  • Son independientes entre sí (no trabajan juntos)
  • Se conocen indirectamente
  • Porque comparten algún recurso
  • Cooperan gracias a la compartición
  • Se conocen directamente
  • Se comunican utilizando sus identificadores de
    proceso
  • Cooperan enviándose mensajes

28
Interacción entre procesos
  • Competencia entre procesos
  • Procesos independientes que necesitan acceder a
    un Recurso durante su ejecución
  • No se deben ver afectadas sus ejecuciones
  • Cada proceso debe dejar el recurso tal y como
    estaba
  • Problemas a resolver
  • Exclusión mutua al acceder a un recurso no
    compartible
  • Interbloqueo (derivado del anterior)
  • Inanición (derivado del primero)
  • El control de la competencia es responsabilidad
    del SO
  • Es el que asigna recursos
  • Ofrece mecanismos a los procesos para que
    expresen la forma de acceso a los recursos
  • Cooperación entre procesos por comunicación
  • Los procesos participan en una labor común
  • La comunicación es una forma de sincronizar o
    coordinar sus distintas actividades.

29
Sección Critica
  • La exclusión mutua consiste en asegurar de que
    si un proceso esta utilizando una variable o
    archivo compartido, los otros procesos no puedan
    hacer lo mismo.
  • Esto se presenta cuando el proceso B comienza a
    utilizar una variable compartida antes de que el
    proceso A termine con ella.
  • Un proceso puede estar accesando a memoria o
    archivo compartido o bien realizando otras
    tareas. Esta parte del programa donde se accesa a
    memoria compartida, se llama sección critica.

30
El problema de la exclusión mutua
  • Problemas derivados de la exclusión mutua
  • Interbloqueo o bloqueo mutuo (deadlock)
  • Un conjunto de procesos están en interbloqueo
    cuando ninguno de ellos puede continuar su
    ejecución porque se encuentran esperando un
    evento que tiene que producir algún otro proceso
    que también pertenece al conjunto.
  • Inanición
  • Un proceso se encuentra en esta situación cuando,
    con otros procesos, espera un evento, pero ante
    la aparición del evento y su gestión, nunca es el
    elegido para continuar su ejecución.
  • Un proceso espera indefinidamente un recurso que
    siempre se concede a algún otro que lo solicita.
    Depende de la política de asignación de recursos

31
Semaforo
  • Dos o más procesos pueden cooperar por medio de
    señales, de forma que se obligue a un proceso a
    detenerse en una posición determinada hasta que
    reciba una señal específica
  • Para la señalización se utilizan variables
    especiales denominadas semáforos
  • Para enviar una señal por el semáforo s, un
    proceso ejecuta V(s) / signal(s)
  • Para recibir una señal del semáforo s, un proceso
    ejecuta P(s) / wait(s)
  • Si la señal correspondiente aún no se ha
    transmitido, el proceso se bloquea hasta que
    llegue aquella

32
Definición de semaforo
  • Los semáforos pueden ser vistos como variables
    que tienen un valor entero y sobre los que se
    definen 3 operaciones
  • Iniciar el semáforo, con un valor no negativo
  • La operación P disminuye el valor del semáforo
  • Si el valor se hace negativo, el proceso que
    ejecuta P se bloquea
  • La operación V incrementa el valor del semáforo
  • Si el valor no es positivo, se desbloquea un
    proceso bloqueado anteriormente por una operación
    P sobre el mismo semáforo

33
Introducción a los monitores
  • Los semáforos son una herramienta potente y
    flexible para garantizar la exclusión mutua
  • Pero puede ser difícil construir un programa
    correcto usando semáforos
  • Los monitores son construcciones de
    sincronización de alto nivel
  • Ofrecen una funcionalidad equivalente a la de los
    semáforos
  • Son más fáciles de controlar

34
Definición de Monitor
  • Un monitor es un conjunto de procedimientos,
    variables y estructura de datos que se agrupan en
    un tipo de especial de módulo o paquete. Los
    procesos pueden llamar a procedimientos en un
    monitor siempre que lo deseen, pero no pueden
    accesar directamente las estructuras de datos
    internas del monitor a partir de procedimientos
    declarados.

35
Características
  • Un monitor es un módulo software que consta de
  • Uno o más procedimientos
  • Una secuencia de inicio
  • Datos locales
  • Sus características básicas son
  • Las variables de datos locales sólo están
    accesibles para los procedimientos del monitor.
  • Un proceso entra en el monitor invocando uno de
    sus procedimientos.
  • Sólo un proceso puede estar ejecutando en el
    monitor en un instante dado.

36
MonitoresVariables de condición
  • La construcción monitor garantiza que sólo un
  • proceso puede estar activo dentro de él
  • A veces no es bastante
  • Se necesitan mecanismos de sincronización
    adicionales
  • Variables de condición
  • El programador puede declarar variables locales
    de tipo condición
  • Se manipulan únicamente con dos operaciones
  • wait(vblecondición)
  • signal(vblecondición)

37
semaforo
  • wait(v)
  • El proceso que invoca esta operación se bloquea
    hasta que otro proceso invoque signal(v)
  • signal(v)
  • Desbloquea un proceso bloqueado por wait(v)
  • Si se desbloquea un proceso, cuál se ejecuta?

38
Principios de interbloqueo
  • El interbloqueo puede ser definido como el
    bloqueo permanente de un conjunto de procesos que
    compiten por recursos del sistema o se comunican
    unos con otros
  • En cuanto al uso de recursos
  • Puede haber varias unidades del mismo tipo de
    recurso
  • Cuando un proceso pide un recurso, le vale
    cualquier unidad de ese tipo
  • Protocolo de uso de recursos
  • Solicitud
  • Utilización
  • Liberación

39
Principio de interbloqueo
40
InterbloqueoModelos de representación
  • Desde el punto de vista del interbloqueo, en un
    sistema se pueden distinguir las siguientes
    entidades y relaciones
  • Un conjunto de procesos
  • Un conjunto de recursos
  • Cada uno puede tener varias unidades
  • Un conjunto de relaciones entre procesos y
    recursos que indica qué recursos están asignados
    a qué procesos.
  • Un conjunto de relaciones entre procesos y
    recursos que indica qué solicitudes de recursos
    están pendientes de ser satisfechas

41
Algoritmo de planificación
  • La planificación de los procesos se apoya en un
    algoritmo de planificación de procesos, basado en
    una política especifica para asignar el
    procesador y mover los trabajos por el sistema.
    Los algoritmos mas difundido son
  • Primero en entrar, primero en servirse (FCFS)
  • Sigue el Trabajo más corto (SJN)
  • Planificación por prioridad
  • Tiempo restante más breve (SRT)
  • Round Robin
  • Colas de múltiples niveles

42
Primero en entrar, primero en servirse (FCFS)
  • Es un algoritmo de planificación no apropiativa,
    que maneja los trabajos de acuerdo al tiempo de
    arribo, conformen entran son servidos. Es un
    algoritmo muy simple de implementar, porque
    utiliza un tipo cola FIFO. Este algoritmo esta
    bien para la mayor parte de los sistemas por
    lotes, pero es inaceptables para los sistemas
    interactivos, porque los usuarios interactivos
    deben tener tiempos cortos de respuesta

43
Primero en entrar, primero en servirse
(FCFS)continuación
  • Con los (FCFS), conforme un nuevo trabajo entra
    en el sistema su PCB, queda vinculado con el
    final de la cola de listo y es eliminado en la
    parte delantera de la cola, cuando el procesador
    queda disponible, esto es, después de que ha
    procesado todos los trabajos que existían en la
    cola.
Write a Comment
User Comments (0)
About PowerShow.com