sistemas operativos
Download
Skip this Video
Download Presentation
Sistemas Operativos

Loading in 2 Seconds...

play fullscreen
1 / 48

Sistemas Operativos - PowerPoint PPT Presentation


  • 114 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
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