Sistemas operativos
Download
1 / 48

Sistemas Operativos - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

Sistemas Operativos. Gestión de procesos Objetivo : Comprender el concepto de proceso , como un programa de sistema que tiene un modelo de registros y valores particulares de la computadora y que conduce a la multiprogramación. Sección 1 : Procesos . Módulo 2, Sección 1. Procesos.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Sistemas Operativos' - brenna


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Sistemas operativos
Sistemas Operativos

Gestión de procesos

  • Objetivo :Comprender el concepto de proceso, como un programa de sistema que tiene un modelo de registros y valores particulares de la computadora y que conduce a la multiprogramación.

    • Sección 1: Procesos 



Procesos
Procesos

Objetivo:Comprenderel sistema como una colección de procesos que ejecutan código del sistema de manera concurrente con programas del usuario que ejecutan código del usuario


Temas
Temas

  • Idea Conceptual de Proceso

  • Coordinación de Procesos

  • Operación sobre los Procesos

  • Procesos Cooperativos

  • Comunicación entre los Procesos


Idea conceptual de proceso
Idea Conceptual de Proceso

  • Un sistema operativo ejecuta una variedad de programas:

    • Tareas en Batch

    • Tareas o programas de usuario en Tiempo Compartido

  • Los términos tarea y proceso se usancasi como sinónimos y son la unidad de trabajo de los sistemas modernos.

  • Proceso – un programa en ejecución;

    • la ejecución de un proceso debe progresar de manera secuencial.

  • Un proceso incluye:

    • program counter

    • stack

    • Sección de Datos


  • Stack direcciones de retorno
    Stack: Direcciones de Retorno


    Stack paso de par metros
    Stack: Paso de Parámetros


    Stack cambio de contexto
    Stack: Cambio de Contexto


    Bloque de control del proceso pcb
    Bloque de Control del Proceso (PCB)

    Información asociada con cada proceso.

    • Estado del proceso

    • Program counter

    • Registros del CPU

    • Información para la coordinación del CPU

    • Información para la Administración de Memoria

    • Información para la Contabilidad

    • Información del Estado de la E/S



    Estados del proceso
    Estados del Proceso

    • Cuando un proceso se ejecuta, este cambia de estado.

      • nuevo: El proceso se esta creando.Cargador- Ligador

      • listo: El programa esta en la Memoria Principal en espera de ser asignado a un proceso.

      • corriendo: Las instrucciones se están ejecutando en el CPU.

      • esperando: El proceso esta en elDisco en espera de que ocurra algún evento.

      • terminado: El proceso ha finalizado su ejecución y es enviado al Disco.


    Diagrama de estado del proceso
    Diagrama de Estado del Proceso

    Interrupción

    Admitido

    Salir

    Memoria Principal

    CPU

    Despacho-Coordinador

    Espera por E/S o suceso

    Terminación de E/S o suceso

    Disco Duro


    Intercambio del cpu de un proceso a otro proceso
    Intercambio del CPU de un Proceso a otro Proceso

    Interrupción o llamada al sistema

    Interrupción o llamada al sistema


    Colas de la coordinaci n de procesos
    Colas de la Coordinación de Procesos

    • Cola de tareas – conjunto de todos los procesos en el sistema.

    • Cola de procesos listos – conjunto de todos los procesos residentes en la memoria-principal, listos y en espera para ejecutarse.

    • Cola de dispositivos –conjunto de todos los procesos en espera de un dispositivo de E/S.

    • Migración de los Procesos entre las distintas colas.



    Diagrama de colas de la coordinaci n de procesos
    Diagrama de Colas de la Coordinación de Procesos

    Coordinador de

    Largo plazo

    Coordinador de

    Corto plazo

    Coordinador de

    Mediano plazo


    Schedulers coordinadores
    Schedulers-Coordinadores

    • Coordinador de largo plazo (o coordinador de tareas) – selecciona cual proceso deberá ser traído a la cola de procesos listos.

    • Coordinador de corto plazo (o coordinador del CPU) –selecciona cual proceso deberá ser ejecutado enseguida y colocarlo en el CPU.

    • Coordinador de mediano plazo( en sistemas de tiempo compartido) – realiza intercambio (swapping), para liberar a la memoria principal y reducir el grado de multiprogramación y también para mejorar la mezcla de procesos


    Coordinador de mediano plazo
    Coordinador de mediano plazo

    Entra por intercambio

    Sale por intercambio


    Schedulers coordinadores cont
    Schedulers-Coordinadores (Cont.)

    • Los procesos pueden ser descritos como:

      • Procesos limitados por E/S – pasan mas tiempo realizando E/S que computaciones, y vamuchas veces al CPU -de carrera corta.

      • Procesos limitados por CPU –pasan mas tiempo realizando computaciones; y va muy pocas vecesal CPU-de carrera larga.

    • El sistema con el mejor rendimiento tiene una buena mezcla de ambos procesos.


    Schedulers coordinadores cont1
    Schedulers-Coordinadores (Cont.)

    • El coordinador de corto plazo es invocado muy frecuentemente: (en milisegundos)  (deberá de ser rápido).

    • El coordinador de largo plazo es invocado muy infrecuentemente:(en segundos, o minutos)  (deberá de ser lento).

    • El coordinador de largo plazo controla el grado de multiprogramación.


    Cambio de contexto
    Cambio de Contexto

    • Cuando el CPU cambia a otro proceso, el sistema deberá:guardar el estado del proceso viejo y cargar el estado guardado para el nuevo proceso.

    • El tiempo de cambio-contexto es solo (overhead) gasto extra; el sistema no realiza trabajo útil durante la conmutación.

    • Este tiempo depende del hardware.


    Operaci n sobre los procesos creaci n
    Operación sobre los Procesos:Creación

    • Los procesos padres crean procesos hijos, los cuales, a su vez crean otros procesos, formando un árbol de procesos.

    • Recursos compartidos

      • Los padres dividen todos sus recursos entre sus hijos.

      • Los hijos comparten un subconjunto de los recursos de los padres.

        • Padres e hijos comparten datos de iniciación (entradas).


    Creaci n de procesos cont
    Creación de Procesos (Cont.)

    Cuando se crea un proceso nuevo (Posibilidades):

    • Espacio de direcciones

      • El hijo es un duplicado del padre.

      • Se carga un programa dentro del proceso hijo

    • Ejecución

      • El padre sigue ejecutándose concurrentemente con sus hijos.

      • El padre espera hasta que uno de los hijos, o todos, han terminado.


    Creaci n de procesos cont1
    Creación de Procesos (Cont.)

    • Ejemplo UNIX :Cada proceso se identifica con un número entero único

      • El llamado a sistema fork (bifurcar) crea un nuevo proceso con una copia del espacio de direcciones del proceso original

      • El llamado a sistema execve usado después de un fork para reemplazar el espacio de memoria del proceso con un programa nuevo.



    Terminaci n de procesos
    Terminación de Procesos

    • El proceso termina cuando ejecuta su ultima proposición y pide al sistema operativo que lo elimine con (exit).

      • Devuelve datos de salida desde el hijo al padre(vía wait).

      • Los recursos del proceso son liberados por el sistema operativo.


    Terminaci n de procesos cont
    Terminación de Procesos (Cont.)

    • Padres pueden terminar la ejecución de los procesos hijos (abort):

      • El hijo ha excedido los recursos que se le asignaron.

      • Las tareas asignadas a los hijos ya no son necesarias.

      • El padre esta saliendo.

        • El sistema operativo no le permite al hijo continuar si su padre termina.

        • Terminación en cascada de todos sus hijos.


    Procesos cooperativos
    Procesos Cooperativos

    • Proceso Independiente no puede afectar ni ser afectado por la ejecución de otro proceso (no comparte datos).

    • Proceso Cooperativopuede afectar y ser afectado por la ejecución de otro proceso (comparte datos).

    • Ventajas de la cooperación de procesos.

      • Información compartida

      • Aceleración de la Computación

      • Modularidad (procesos individuales)

      • Comodidad


    Problema del productor consumidor
    Problema del Productor-Consumidor

    • Paradigma de los procesos cooperativos, el proceso productor produce información que es consumida por un proceso consumidor.

    • Buffer: que el productor pueda llenar y el consumidor pueda vaciar.

      • Buffer-ilimitado sin prácticamente limite sobre el tamaño del buffer.

      • Buffer-limitado supone que hay un tamaño fijo para el tamaño del buffer.


    Buffer limitado soluci n memoria compartida
    BufferLimitado – Solución MemoriaCompartida

    • Datos Compartidos

      varn;

      typeitem = … ;

      varbuffer. array [0..n–1] ofitem;

      in, out: 0..n–1;

    • Proceso Productor

      repeat

      produce an item in nextp

      whilein+1 modn= outdono-op;

      buffer[in] :=nextp;

      in :=in+1 modn;

      untilfalse;


    Buffer limitado cont
    Buffer-Limitado (Cont.)

    • Proceso Consumidor

      Repeat

      whilein = outdono-op;

      nextc := buffer [out];

      out := out+1 modn;

      consume the item in nextc

      untilfalse;

    • Solución correcta, pero solo puede llenar n–1 buffers.


    Hilos
    Hilos

    • Un Hilo (oproceso ligero) es la Unidad básica de utilización del CPU; consiste de:

      • program counter

      • Conjunto de registros

      • Espacio en el stack

    • Un hilo comparte con su hilo par (del mismo nivel):

      • sección de código

      • Sección de datos

      • Recursos del sistema- operativo como archivos abiertos y señales lo que se conoce como tarea(task).

    • Un proceso tradicional (o proceso pesado) es igual a una tarea con un solo hilo



    Hilos cont
    Hilos (Cont.)

    • En una tarea de hilos múltiples, mientras un hilo servidor es bloqueado y esta esperando,un segundo hilo de la misma tarea puede correr.

      • Cooperación de hilos múltiples en una misma tarea confiere alto rendimiento y un desempeño mejorado.

      • Aplicaciones que requieren un buffer comúncompartido (ejemplo, productor-consumidor) se benefician de la utilización de hilos.

    • Los hilos proveen un mecanismo que permite a los procesos secuenciales hacer llamados de bloqueo mientras realizan paralelismo.


    Hilos cont1
    Hilos (Cont.)

    • Kernel-soportado por hilos(Mach y OS/2).

    • Hilos a nivel de usuario; soportado sobre el kernel, vía un conjunto de llamadas a biblioteca al nivel de usuario(Proyecto Andrew de CMU).

    • Aproximación Híbrida implementa hilos a nivel de usuario y kernel-soportado por hilos (Solaris 2).


    Hilos en solaris 2
    Hilos en Solaris 2

    • Solaris 2 es una versión de UNIX con soporte de hilos a nivel de kernel y de usuario, multiprocesamiento simétrico, y coordinación en tiempo real.

    • LWP: Procesos Ligeros – nivel intermedio entre hilos a nivel de usuario e hilos a nivel de kernel.


    Solaris 2 hilos
    Solaris 2 :Hilos

    hilo en el nivel de usuario

    Proceso ligero

    hilo del núcleo


    Hilos en solaris 2 cont
    Hilos en Solaris 2 (Cont.)

    • Recursos que requieren los distintos tipos de hilos:

      • Hilo de Kernel : estructura de datos pequeña y un stack; el cambio entre hilos no requiere cambiar la información de acceso a memoria – relativamente rápidos.

      • Procesos Ligeros (LWP): PCB con datos de registro, información de memoria y de contabilidad;el cambio entre procesos ligeros es relativamente lento.

      • Hilos a nivel de usuario: solo necesitan stack y program counter; el no involucramiento del kernel significa cambios rápidos..


    Comunicaci n nter procesos ipc
    Comunicación Ínter-procesos (IPC)

    • Mecanismo para comunicar procesos cooperativos y para sincronizar sus acciones.

    • Sistema de Mensajes – comunica procesos uno con otro sin frecuentar el área de la memoria-compartida.

    • La comunicación ínter- procesos provee dos operaciones primitivas:

      • send(message)

      • receive(message)

      • el tamaño del mensaje es fijo o variable


    Comunicaci n nter procesos ipc cont
    Comunicación Ínter-procesos (IPC) Cont.

    • Si P y Q desean comunicarse, ellos tienen que:

      • Establecer un (link) enlace de comunicación entre ellos

      • Intercambiar mensajes vía send/receive

    • Para establecer el (link) enlace de comunicación, tienen que:

      • físico (ejemplo, memoria-compartida, bus en hardware o una red)

      • lógico (ejemplo, propiedades lógicas)


    Propiedades l gica s
    Propiedades Lógicas

    • ¿Como establecer los enlaces?

    • ¿Puede un enlace estar asociado con mas de dos procesos?

    • ¿Cuántos enlaces puede haber entre cualquier par de procesos en comunicación?

    • ¿Qué capacidad tiene un enlace?

    • ¿El tamaño de un mensaje, que el enlace puede acomodar, es fijo o variable?

    • ¿El enlace es unidireccional o bi-direccional?


    Intercambio de mensajes comunicaci n directa
    Intercambio de Mensajes:Comunicación Directa

    • Los procesos deberán referirse uno al otro explícitamente:

      • send (P, message): enviar un mensaje al proceso P

      • receive(Q, message):recibir un mensaje del proceso Q

  • Propiedades de los lazos de comunicación

    • Los enlaces son establecidos automáticamente.

      • Un enlace esta asociado con exactamente un parde procesos en comunicación.

      • Entre cada par existe exactamente un enlace.

    • El enlace puede ser unidireccional,

      • pero usualmente esbi-direccional.


  • Intercambio de mensajes comunicaci n indirecta
    Intercambio de Mensajes:Comunicación Indirecta

    • Los mensajes son dirigidos y recibidos desde mailboxes (también llamados ports).

      • Cada buzón tiene unid(identificador) único.

      • Los procesos pueden comunicarse solo si comparten un buzón

    • Propiedades de un lazo de comunicación:

      • El enlace se establece solo si los procesos comparten un buzón común

      • Un enlace puede estar asociado con muchos procesos.

      • Cada par de procesos puede compartir varios enlaces de comunicación.

      • El enlace puede ser unidireccional o bi-direccional.


    Comunicaci n indirecta cont
    Comunicación Indirecta (Cont.)

    • Operaciones

      • create un nuevo buzón

      • send y receive mensajes por medio del buzón

      • destroy un buzón


    Comunicaci n indirecta continuaci n
    Comunicación Indirecta (Continuación)

    • Buzón compartido

      • P1, P2, y P3 comparten el buzón A.

      • P1, sends; P2y P3receive.

      • ¿Quién tiene el mensaje?

  • Soluciones

    • Permitir que un enlace este asociado cuando mucho a dos procesos .

    • Permitir que solo un proceso a un tiempo ejecute una operación receive .

    • Permitir que el sistema seleccione arbitrariamente al receptor. El transmisor será notificado de quien fue el receptor.


  • Buffering uso de buffers
    Buffering: Uso de Buffers

    • Implementado en una de la tres formas siguientes:

      • Capacidad cero –Sin Buffer: 0 mensajes

      • El transmisor deberá de sincronizarse:

        • esperar por el receptor (rendezvous)

        • o enviar el mensaje sin esperar aunque se pierda.

      • Comunicarse de manera asíncrona no-responsiva:

        • esperar el acuse de recibo del receptor,

        • ó por medio de la primitiva reply( P, mensaje).


    Buffering uso de buffers cont
    Buffering: Uso de Buffers (Cont.)

    • Cola de mensajes adherida alenlace (link); implementada en una de las formas siguientes:

      • Capacidad limitada – longitud finita de los n mensajes

        • El transmisor deberá de esperar, si el Buffer esta lleno.

      • Capacidad ilimitada –longitud infinita

        • El transmisor jamás espera.


    Condiciones de excepci n y recuperaci n
    Condiciones de Excepción y Recuperación

    Cuandoocurre un falloantes de que se procese un mensaje o durante la comunicación:

    • El proceso termina.

      • Notificación

    • Mensajes perdidos

      • Retransmite el mensaje

      • Retransmite el mensaje, si el emisor desea hacerlo

    • Mensajes alterados

      • Códigos de verificación de errores

      • Retransmisión


    ad