Dise - PowerPoint PPT Presentation

About This Presentation
Title:

Dise

Description:

Title: Sistemas Distribuidos Author: Felix y Marta Last modified by: Standard Created Date: 6/5/1999 12:11:24 PM Document presentation format: Presentaci n en pantalla – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 55
Provided by: Felix173
Category:
Tags: dise | sstf

less

Transcript and Presenter's Notes

Title: Dise


1
Tema 5. Sistemas de Entrada/Salida
  • Dos módulos
  • Sistema de entrada/salida
  • Almacenamiento secundario y terciario
  • Objetivos
  • Que el alumno entienda los conceptos de
    dispositivo de e/s
  • Mostrar el software de e/s del sistema operativo
  • Estudiar los dispositivos de almacenamiento
    secundario y terciario
  • Que el alumno comprenda la estructura del
    sistema de e/s
  • Presentar distintas técnicas de gestión del
    almacenamiento secundario

2
Módulo 1.Sistemas de Entrada/Salida
Hardware de entrada/salida Interfaz de aplicación
para la entrada/salida Subsistema de
entrada/salida del núcleo Transformación de
peticiones de usuario al hardware Rendimiento
3
Sistema de E/S
4
Flujo de una Operación de E/S
5
Hardware de E/S
  • Gran variedad de dispositivos
  • Conceptos generales
  • Puerto
  • Bus (daisy chain o acceso directo compartido)
  • Controlador (adaptador para el computador)
  • Las instrucciones de E/S controlan los
    dispositivos
  • Los dispositivos tienen direcciones, usadas por
  • Instrucciones de E/S directa (Ej. Intel)
  • E/S proyectada en memoria (Ej. Motorola)
  • Gestión de E/S
  • Muestreo (polling)
  • Interrupciones

6
Conexión de Dispositivos
7
Muestreo (polling)
  • Muestreo periódico de los dispositivos
  • Determina el estado del dispositivo
  • listo
  • ocupado
  • error
  • Ciclo de espera activa para esperar del
    dispositivo de E/S
  • Ventaja no hay gasto de tiempo de gestión de
    interrupción.
  • Desventaja Consume mucha CPU para dispositivos
    poco usados
  • Aplicación
  • Hardware sin interrupciones
  • Programas de control de canales de E/S

8
Interrupciones
  • Líneas de petición de interrupción de la CPU
    activadas por los dispositivos
  • El gestor de interrupciones recibe y maneja la
    interrupción
  • Enmascarables para ignorar o retrasar
    interrupciones
  • El vector de interrupción tiene las direcciones
    de memoria de los manejadores de interrupción
  • Las interrupciones se procesan según distintas
    políticas
  • Prioridad, FIFO, etc.
  • Algunas no se pueden enmascarar (NMI). Ejemplo
    reset.
  • Los mecanismos de interrupción se usan también
    para excepciones. Ejemplo instrucción errónea.

9
E/S por Interrupciones
10
Acceso Directo a Memoria (DMA)
  • Se usa para evitar la E/S programada de grandes
    bloques de datos
  • Necesita un controlador con DMA
  • Evita el uso de la CPU transfiriendo los datos
    directamente entre los dispositivos de E/S y la
    memoria
  • del usuario
  • del núcleo
  • Básico para aprovechar la CPU en un sistema
    multiprogramado, ya que libera tiempo de la CPU
    que se puede usar para ejecutar otros programas.

11
Pasos de la E/S por DMA
12
Interfaz de E/S de las Aplicaciones
  • Las llamadas de E/S encapsulan el comportamiento
    de los dispositivos en clases genéricas
  • La capa del manejador esconde las diferencias
    entre los controladores de E/S del núcleo
  • La dispositivos pueden variar en muchas
    dimensiones
  • Bloque o carácter
  • Acceso secuencial o aleatorio
  • Bloqueantes o no bloqueantes (Síncronos o
    asíncronos)
  • Compartidos o dedicados
  • Velocidad de operación
  • lectura-escritura, sólo lectura o sólo escritura

13
Dispositivos de Bloque y de Carácter
  • Dispositivos de bloque
  • Acceso a nivel de bloque, secuencial o aleatorio
  • Mandatos leer, escribir, buscar,
  • E/S directa o a través del servidor de ficheros
  • Acceso posible a través de ficheros proyectados
    en memoria
  • Ejemplo discos y cintas
  • Dispositivos de carácter
  • Acceso a nivel de a carácter, secuencial o
    aleatorio
  • Mandatos get, put, .
  • Bibliotecas para optimizar y dar forma a este
    tipo de accesos edición de líneas, ventanas
    virtuales, .
  • Ejemplo terminales e impresoras

14
Dispositivos de red
  • Difieren de los dos anteriores -gt interfaz propio
  • UNIX y Windows NT tienen una interfaz de sockets
  • Separan protocolos de red y operaciones
  • Se basan en el uso de puertos
  • Incluyen la función select para manejar al tiempo
    varios puertos
  • Las soluciones varían ampliamente
  • pipes, FIFOs, streams, colas, buzones, puertos,
    .
  • Es difícil clasificarlos
  • Todos ellos manejan paquetes, pero de tamaño
    variable
  • Los protocolos son muy distintos Ethernet, ATM
    ...

15
Relojes y Temporizadores
  • Proporcionan la fecha y hora actual, el tiempo
    transcurrido y la temporización
  • Interfaz de usuario para definir intervalos
    programables en los temporizadores
    interrupciones periódicas (ciclos) y aperiódicas
    (eventos)
  • ioctl (en POSIX) permite manejar aspectos poco
    usuales de la E/S, tales como
  • relojes y temporizadores
  • características de los manejadores
  • semántica de las operaciones de E/S

16
E/S Bloqueante y No-bloqueante
  • Bloqueante procesos suspendidos hasta que la E/S
    termina
  • Fácil de usar y comprender
  • Insuficiente para algunos requisitos
  • Ejemplo read, write, ... de POSIX
  • No bloqueante la llamada de E/S vuelve
    inmediatamente
  • Interfaz de usuario más complejo y espacio para
    copia de datos
  • Se puede implementar con threads
  • Vuelve rápidamente con el estado de la operación
  • Variación operaciones asíncronas -gt los procesos
    ejecutan mientras la E/S se lleva a cabo
  • Difícil de usar por operaciones pendientes
  • El sistema de E/S señala el fin de operación
    pendiente
  • Interfaz para comprobar estado y esperar (aiowait)

17
Subsistema de E/S de Núcleo I
  • Planificación
  • Las peticiones de E/S se gestionan por
    dispositivo
  • Cola general por dispositivo genérico y otra por
    dispositivo particular
  • Algunos SSOO tratan de ser justos. No siempre es
    conveniente.
  • Políticas FIFO, prioridad, scan, ...
  • Almacenamiento intermedio en memoria mientras hay
    transferencias entre dispositivos
  • para poder hacer frente a errores en dispositivos
  • para resolver errores de tamaño de transferencia
  • para mantener una semántica de copia

18
Subsistema de E/S del Núcleo II
  • Caching copia rápida de los datos que existen
    ene memoria
  • Siempre se hace copia
  • Clave para el rendimiento
  • Distintos niveles controlador, manejador, gestor
    de bloques,
  • Spooler proceso que gestiona la E/S para un
    dispositivo
  • Si un dispositivo es lento o secuencial
  • Si un dispositivo no permite uso compartido
  • Ejemplo impresora
  • Reserva de recursos acceso exclusivo a
    dispositivos
  • Llamadas al sistema para reservar y liberar
  • Cuidado con los interbloqueos

19
Gestión de Errores
  • El SO puede gestionar y resolver errores variados
    de E/S de tipo transitorio
  • fallos escritura, temporización de red, impresora
    fuera de línea, ..
  • Errores permanentes o desconocidos devuelven un
    código de error como resultado de la llamada de
    E/S al sistema
  • Registro de errores de E/S para poder informar de
    los problemas al administrador o al usuario
  • Errores de dos tipos
  • genéricos
  • dependientes de dispositivo

20
Estructuras de Datos del Núcleo
  • El núcleo guarda el estado de los componentes de
    E/S, incluyendo
  • tablas de ficheros abiertos
  • conexiones de red
  • estado de los dispositivos de caracteres
  • Muchas estructuras de datos, y muy complejas,
    para seguir la pista de bloques, páginas, bloques
    sucios, caracteres tecleados, etc.
  • Algunos sistemas usan orientación a objetos
    (Windows NT) y paso de mensajes (MINIX) para
    implementar la E/S.

21
Flujo de las Operaciones de E/S
  • Suponga que un proceso quiere leer de un fichero,
    para lo que ejecuta la llamada al sistema read.
  • El sistema de E/S recibe la petición del servidor
    de archivos y
  • Determina el dispositivo que almacena el fichero
    (major, minor)
  • Traduce datos lógicos a representación física en
    el dispositivo
  • Lee los datos físicamente del disco al buffer de
    memoria
  • Pone los datos disponibles para el proceso que
    los pidió
  • Devuelve el control al proceso
  • El ciclo de vida de una petición de E/S para por
    casi todos los componentes del sistema operativo

22
Ciclo de Vida de una Petición de E/S
23
Rendimiento
  • La E/S es uno de los factores más importantes
    para el rendimiento del sistema porque
  • gasta CPU para ejecutar los manejadores, el
    software de E/S y los gestores de interrupción
  • origina cambios de contexto y planificaciones
    debidas a las interrupciones
  • necesita copia de datos en memoria
  • puede incluir tráfico por la red, que degrada
    especialmente el rendimiento
  • los dispositivos de E/S son muchos más lentos que
    la CPU
  • Cuanto más rápida es la CPU más se nota el efecto
    negativo de la E/S

24
Comunicación por la Red
25
Incremento de Prestaciones
  • Reducir el número de cambios de contexto
  • Reducir operaciones de copia de datos
  • Reducir el número de interrupciones haciendo
    transferencias de tamaño mayor, usando
    controladores inteligentes, muestreo,
  • Usar DMA
  • Gestión de cache adecuada
  • Balancear el rendimiento conjunto de la CPU, el
    bus, la memoria y la E/S para lograr el máximo

26
Módulo 2. Almacenamiento secundario y terciario
Estructura de los discos Planificación y gestión
de discos Gestión del espacio de intercambio de
memoria (swap) Fiabilidad y Rendimiento Dispositiv
os de almacenamiento terciario Aspectos del
sistema operativo
27
Estructura de los Discos
  • Los discos se manejan como vectores grandes de
    bloques lógicos, siendo el bloque la unidad
    mínima de transferencia
  • El vector de bloques lógicos se proyecta sobre
    los sectores del disco secuencialmente
  • Sector 0 primer sector de la primera pista del
    cilindro más externo
  • El mapa se hace en primero en esa pista, luego en
    las restantes pistas de ese cilindro y luego en
    los restantes cilindros
  • El manejador de disco no sabe nada de la
    organización de los ficheros
  • Puede tener una cache de bloques del disco,
    distinta de la del servidor de archivos

28
Planificación de disco
  • El SO es responsable de usar el hardware de forma
    eficiente. Hablando de discos, esto implica
    accesos rápidos y mucho ancho de banda
  • El tiempo de acceso tiene dos componentes
    principales
  • búsqueda tiempo que tarda el brazo del disco
    para mover las cabezas hasta el cilindro que
    contiene el sector deseado
  • latencia tiempo de espera adicional para que el
    disco gire hasta ponerse sobre el sector deseado
  • Objetivo minimizar el tiempo de búsqueda, que es
    directamente proporcional a la distancia de
    búsqueda
  • Ancho de banda bytes transferidos / tiempo de
    transferencia

29
Algoritmos de Planificación
  • Variados FIFO, SCAN, CSCAN, SSF, EDF, .
  • Fundamentales para optimizar el acceso al disco.
  • Criterios de planificación
  • Optimizar el tiempo de búsqueda
  • Dar servicio determinista
  • El primero en SSOO, el segundo en multimedia y
    SSTR
  • A continuación se estudian varios ejemplos usando
    la siguiente cola de peticiones
  • 98, 183, 37, 122, 14, 124, 65, 67
  • Se asume que las cabezas están en 53

30
FCFS (FIFO)
31
Shortest Seek Time First (SSTF)
  • Primero las peticiones que minimizan el
    movimiento de cabezas desde la posición actual
  • La política SSTF es una variante de planificación
    de CPU con Shortest Job First
  • Puede causar inanición de algunas peticiones
  • Idea maximizar el ancho de banda del disco
  • La ilustración siguiente muestra el movimiento
    total de las cabezas del disco 236 cilindros

32
SSTF
33
Ascensor (SCAN)
  • El movimiento del brazo empieza siempre en un
    extremo del disco y continúa hasta el otro. Allí
    se cambia el sentido y se vuelve el otro extremo
  • Idea evitar desplazamientos atrás y adelante
  • Problema puede retrasar mucho el servicio de
    algunas peticiones si no se insertan
    adecuadamente dentro de las rodajas
  • Movimiento total de cabezas en el ejemplo 208
    cilindros

34
SCAN
35
Ascensor de un Sentido (C-SCAN)
  • Variación del ascensor
  • Las cabezas se mueven de un extremo a otro del
    disco y luego vuelven al principio
  • No se atienden peticiones mientras las cabezas
    vuelven a la posición inicial
  • Tiempo de espera más uniforme que el ascensor
    normal
  • Trata los cilindros como una lista circular que
    enlaza el último cilindro con el primero
  • Movimiento cabezas en ejemplo 345!
  • El número es engañoso. Ir del último al primero
    se hace en un único movimiento y tarda muy poco
  • Se usa frecuentemente

36
C-SCAN
37
C-LOOK
  • Versión del C-SCAN
  • El brazo sólo llega hasta la última petición en
    cada dirección
  • Cuando termina vuelve, pero no al principio, sino
    hasta la petición más próxima al principio
  • Ahorro pequeño de movimientos y gestión más
    compleja
  • No se usa muy frecuentemente

38
C-LOOK
39
Selección de un Algoritmo de Planificación
  • SSTF es frecuente y parece el más natural
  • SCAN y C-SCAN tienen mejor rendimiento para
    sistemas que usan mucho el disco
  • El rendimiento depende del número y el tipo de
    peticiones
  • Las peticiones al disco pueden depender de la
    política de asignación de espacio a los ficheros
  • El algoritmo de planificación de disco debe ser
    escrito como un módulo separado, para que sea
    fácil de reemplazar.
  • Algoritmo de elección por defecto SSTF o LOOK
  • Algoritmo estándar en casi todos los sistemas
    C-SCAN

40
Gestión del Disco
  • Formato a bajo nivel, o físico divide el disco
    en sectores que el controlador puede leer y
    escribir
  • Para usar un disco, se debe
  • partir el disco en grupos de cilindros
    (particiones)
  • crear un sistema de ficheros para dar formato
    lógico al disco
  • El bloque de carga inicia el sistema
  • El cargador hardware está almacenado en la ROM
  • Función leer el bloque de carga, instalar y
    arrancar el cargador
  • Métodos
  • Intercalado de sectores para rendimiento
  • Sectores de recambio para manejar los sectores
    defectuosos

41
Gestión del Espacio de Swap
  • Gestión del swap la memoria virtual usa el
    espacio de disco como una extensión de la memoria
    principal
  • El espacio de intercambio se puede gestionar
  • fuera del servidor de ficheros
  • como una partición más (lo más frecuente)
  • Gestión del espacio de intercambio
  • 4.3 BSD preasigna espacio cuando arranca el
    proceso para almacenar el segmento de texto y el
    de datos
  • El núcleo tiene mapas del swap para gestionar su
    uso
  • Solaris 2 asigna espacio de swap dinámicamente
    cuando se expulsa una página de memoria física,
    no cuando se crea la página por primera vez

42
Fiabilidad del Disco
  • Varias técnicas para mejorar el uso del disco
    involucran la utilización de varios discos que
    trabajan cooperativamente
  • Los técnicas de reparto usan un grupo de discos
    como una única unidad de almacenamiento
  • Los esquemas tipo RAID mejoran el rendimiento y
    la fiabilidad del sistema de almacenamiento
    guardando información de redundancia
  • Discos espejo, o sombra, que duplican el
    contenido de cada disco
  • Bloques de paridad intercalados que usan mucha
    menos redundancia

43
Almacenamiento Estable
  • Los sistemas con registro y escritura adelantada
    requieren almacenamiento estable
  • Para implementar almacenamiento estable
  • Se replica la información en más de un medio de
    almacenamiento no volátil con modos de fallo
    independientes
  • Se actualiza la información de forma controlada
    para asegurar que se pueden recuperar los datos
    estables después de un fallo durante la
    transferencia o recuperación de datos
  • Cuanta más tolerancia a fallos se desee, más
    redundancia es necesaria

44
Almacenamiento Terciario I
  • Motivación son baratos y, generalmente,
    extraíbles
  • Ejemplos frecuentes disquetes, CD-ROMs, ZIP,
    cintas,
  • Disquetes, ZIP, JAZZ
  • discos extraíbles y baratos que pueden almacenar
    desde un 1 MB hasta 1 GB
  • Pueden ser casi tan rápidos como el disco duro,
    pero suelen fallar más debido a su constate
    manipulación
  • Discos magneto-ópticos que se leen y escriben con
    láser
  • Mayor densidad, capacidad y fiabilidad
  • Las cabezas nunca tocan el disco, la luz
    magnetiza a distancia y permite almacenar datos y
    leerlos. Hasta hace poco sólo lectura

45
Almacenamiento Terciario II
  • Discos WORM aluminio plastificado que se escribe
    y lee por láser
  • No regrabables porque el láser agujerea la
    superficie
  • Muy duraderos y fiables
  • Ejemplos CDROM y DVD
  • Cintas soporte en cinta magnética de gran
    capacidad y economía
  • Ideal para operaciones que no requieren acceso
    aleatorio rápido respaldos, almacenamiento
    masivo, etc.
  • Instalaciones robotizadas que cambian cintas
    automáticamente
  • los ficheros residentes en disco se pueden
    archivar en cintas, por razones económicas, y
    volver a cargar en disco de forma dinámica

46
Aspectos del SO
  • Presentar una máquina virtual al usuario que
    oculte la jerarquía de almacenamiento
  • Para discos duros hay dos abstracciones básicas
  • Disco crudo un vector de bloques de datos, sin
    caches
  • Sistema de ficheros el SO encola y planifica
    peticiones concurrentes de varias aplicaciones
  • Para cintas sólo se suele usar la primera
  • Aplicar mecanismos de incremento de prestaciones
    también al almacenamiento terciario
  • Planificador a largo plazo expulsar ficheros de
    disco a cinta y volverlos a cargar

47
Interfaz de Aplicación
  • La mayoría de los SO manejan los dispositivos
    extraíbles igual que los fijos-gt necesitan
    formato y sistema de ficheros
  • Las cintas se suelen presentar como un medio
    crudo, es decir, que no se suelen abrir ficheros
    en una cinta sino el medio completo
  • Habitualmente, el manejador de la cinta se
    reserva para el proceso que la abre
  • Si se usa un dispositivo crudo, no hay interfaz
    de ficheros, luego la aplicación debe gestionar
    el vector de bloques
  • Puesto que cada aplicación decide el formato de
    la cinta, ésta sólo se puede reutilizar por la
    aplicación que la creó, o sus colaboradoras

48
Manejadores de Cinta
  • Las operaciones básicas son distintas de las de
    un disco
  • locate para buscar un bloque, no una pista entera
  • read (write) lee (escribe) el bloque lógico donde
    están las cabezas
  • space permite movimientos relativos
  • rewind para ir al principio
  • Las cintas sólo permiten añadir datos, no
    reescribir. Escribir en medio, borra todo lo que
    hay después. Razón escribe EOT
  • Las cintas no tienen mapa ni directorio. Si hay
    varios ficheros y se quiere buscar uno de ellos,
    hay que recorrer la cinta hasta buscarlo.
  • La lectura si puede ser aleatoria read, space,
    read, .

49
Nombres de Ficheros
  • Problema escribir en un computador y leer en
    otro
  • Normalmente problema no resuelto por el SO las
    aplicaciones deben saber cómo acceder e
    interpretar los datos. Ej tar, od, cpio, etc
  • Algunos medios removibles (disquetes, cdrom, )
    están estandarizados de hecho, por lo que todos
    los sistemas saben cómo leerlos.
  • En principio, en cualquier sistema, es necesario
    montar la unidad extraíble antes de usarla para
    que el sistema sepa que existe.

50
Gestión de Almacén Jerárquico (HSM)
  • Un almacén jerárquico extiende la jerarquía de
    almacenamiento para incorporar almacenamiento
    terciario
  • Habitualmente usan jukebox de cintas o discos
    extraibles
  • Extensión del sistema de ficheros para sistemas
    terciarios
  • Ficheros pequeños y muy usados en disco
  • Ficheros grandes, viejos o inactivos van a
    dispositivos terciarios
  • HSM es habitual en centros de supercomputación
    (Ej San Diego) y otras grandes instalaciones con
    un volumen enorme de datos (CERN)

51
Rendimiento
  • Dos aspectos importantes del almacenamiento
    terciario son latencia y ancho de banda
  • Ancho de banda en bytes/seg.
  • Sostenido tasa de transferencia en operaciones
    grandes (nº de bytes/tiempo transferencia)
  • Efectivo ancho de banda medio durante todo el
    tiempo de la E/S, incluyendo seek o locate y
    cambios de cartuchos. Define la tasa global del
    dispositivo.
  • Latencia tiempo necesario para llegar a la
    transferencia efectiva
  • Mayor que en secundarios debido a posibles
    cambios de medio y a mayor lentitud de los mismos
    para arrancar

52
Rendimiento II
  • Latencia de acceso tiempo necesario para
    localizar los datos
  • Disco mover brazo latencia rotacional lt 35
    mseg.
  • Cinta rebobinar hasta el bloque (segundos)
  • CDROM arranque movimiento brazo rotación gt
    200 mseg.
  • Generalmente se dice que un acceso aleatorio a
    cinta es miles de veces más lento que a disco
  • El coste barato resulta de tener muchos cartuchos
    baratos compartidos por unos pocos discos caros
  • Una biblioteca en medio extraíble es más adecuada
    para datos de uso poco frecuente, porque sólo
    puede satisfacer un número pequeño de peticiones
    por hora.
  • Normalmente las peticiones de este tipo se hacen
    off-line

53
Fiabilidad
  • Un disco fijo suele ser más fiable que un medio
    extraíble
  • Un cartucho óptico es más fiable que una cinta o
    un disquete
  • Un aterrizaje de cabezas en un disco fijo suele
    resultar en pérdida de datos
  • El fallo de una unidad de cinta o disco óptico no
    suele dañar los datos almacenados.
  • Un modelo frecuente para tener más fiabilidad es
    el cintas primarias y actualizaciones. El nuevo
    primario no se valida hasta que todo ha ido bien.

54
Coste
  • La memoria principal es mucho más cara que el
    disco
  • El almacenamiento terciario permite ahorrar
    costes sólo cuando el número de cartuchos es
    mucho mayor que el de discos. Ej bibliotecas de
    ficheros de salida de choques de partículas
  • El coste del disco es competitivo con el de la
    cinta si sólo se usa una cinta
  • Actualmente, ambos modelos compiten en coste y
    capacidad
  • El almacenamiento terciario tiene otras
    justificaciones copias de seguridad, archivos,
    etc.
Write a Comment
User Comments (0)
About PowerShow.com