Entrada/Salida



Descargar 16,19 Kb.
Fecha de conversión30.08.2017
Tamaño16,19 Kb.

Entrada/Salida

  • Capítulo 4
  • 4.1 Principios hardware de E/S
  • 4.2 Principios software de E/S
  • 4.3 Niveles software de E/S
  • 4.4 Discos

Principios hardware de E/S (1)

  • El SO debe controlar los dispositivos de E/S:
    • Dar comandos
    • Atrapar interrupciones
    • Gestionar errores
  • Interfaz clara y sencilla
  • Deseable: misma interfaz para todos los dispositivos.
  • I/O  30% del SO

Principios hardware de E/S (2)

  • Dispositivos de E/S:
  • Diseñadores y constructores
  • Mantenimiento
  • Control y explotación
  • PROGRAMACIÓN
  • Comandos
  • Funcionalidad
  • Errores
  • ¿Cómo programar el dispositivo?

Principios hardware de E/S (3) Dispositivos E/S

  • Dos tipos:
  • Orientados a bloques
  • Almacena información en bloques de tamaño fijo.
  • Direccionables por bloque
  • Discos.
  • Orientados a caracteres
  • Almacena/genera un flujo de caracteres
  • No acceso directo/ no bloques
  • Terminales, impresoras, líneas
  • Otros: cintas, relojes

Principios hardware de E/S (4) Controladores de Dispositivo

  • Dispositivo E/S:
  • Componente mecánico
  • Componente electrónico  controlador

Principios hardware de E/S (5) Controladores de Dispositivo

  • P.ejem: discos:  cilindros, pistas, sectores.
  • Controlador:
  • De secuencia de bits a bloque de bytes
  • Almacenar en buffer del controlador
  • Chequear errores
  • Copiar bloque a memoria

Principios hardware de E/S (6) Memoria mapeada

  • CPU  registros del controlador. Dos opciones:
  • Puertos de E/S
  • Memoria mapeada
  • (La discusión sobre las ventajas/desventajas de ambas opciones, sección 5.1.3, no entra para el examen).
  • 0xFFFF…
  • 0
  • Memoria
  • Puertos E/S

Principios hardware de E/S (7) Direct Memory Access (DMA)

  • 0) dir. del bloque, dir. de memoria, num. bytes; 1) El controlador lee el bloque en su buffer; 2) Checksum; 3) El controlador copia de buffer a memoria. 4) El controlador interrumpe a la CPU; 5) El SO ya tiene la copia realizada

Principios hardware de E/S (8) Direct Memory Access (DMA)

  • ¿Para qué el buffer en el controlador?
  • La sección 5.1.5 no entra para el examen

Principios software de E/S (1) Objetivos del software de E/S

  • INDEPENDENCIA DEL DISPOSITIVO.
  • Un programa debe ejecutarse correctamente independientemente de dónde lea o escriba:
  • sort < entrada > salida
  • UNIFORMIDAD DE NOMBRES.
  • Nombres de ficheros y de dispositivos  se construyen igual.
  • /dev/lp
  • /usr1/alumnos/f0175/modula2
  • GESTIÓN DE ERRORES.
  • Por las capas más bajas. Si no pueden que lo comuniquen a las de arriba.

Principios software de E/S (2) Objetivos del software de E/S

  • TIPO DE TRANSFERENCIA.
  • síncrona  asíncrona
  • bloqueante  interrupciones
  • Casi todos los dispositivos son asíncronos (interrupciones)
  • PERO: los programas son más fáciles de escribir con síncronas (bloqueantes).
  • El SO debe disfrazar las asíncronas en síncronas
  • BUFFERING.
  • Almacenamiento intermedio de datos que vienen de dispositivos
  • TIPO DE DISPOSITIVOS
  • Dedicados  compartidos
  • “impresora”  “disco”
  • dedicados  spooling  compartidos.
  • Leer las secciones 5.2.2, 5.2.3 y 5.2.4

Niveles software de E/S (1)

Niveles software de E/S (2) Gestores de interrupciones

  • Las interrupciones no son amigables.
  • Esconderlas en algún módulo del SO.
  • El resto del SO no sabe nada de interrupciones.

Niveles software de E/S (3) Gestores de interrupciones

  • Tratamiento de una interrupción (genérico)
  • Salvar registros
  • Poner contexto para la rutina de tratamiento (TLB, MMU, …)
  • Poner stack para la rutina de tratamiento
  • Ack al controlador de interrupciones
  • Copiar registros salvados a la tabla de procesos
  • Ejecutar la rutina de tratamiento
  • Seleccionar proceso a ejecutar
  • Pone contexto para el nuevo proceso (MMU, TLB, …)
  • Cargar los registros del nuevo proceso
  • Arrancar el nuevo proceso

Niveles software de E/S (4) Drivers de dispositivos

Niveles software de E/S (5) Drivers de dispositivos

  • Código dependiente del dispositivo.
  • Cada clase de dispositivo un driver diferente.
  • Lee/escribe en los registros de control del dispositivo.
  • Función: traducir peticiones abstractas en concretas.

Niveles software de E/S (6) Drivers de dispositivos

  • Cuando llega la petición: ¿driver ocioso?
  • SI: ejecutarla inmediatamente
  • NO: encolarla
  • Leer bloque N 
  • num cilindro, num sector, pista.
  • ¿motor encendido?
  • ¿posición actual del brazo?

Niveles software de E/S (7) Drivers de dispositivos

  • decidir qué operaciones (comandos al controlador)
  • decidir el orden de las operaciones.
  • Escribir en los registros del controlador (arrancar la operación).
  • ¿Tipo de operación?
    • bloqueante  espera interrupción.
    • No bloqueante  no esperes.
  • Chequear errores.
    • Hay: intenta corregirlo
    • No hay: pasa información al nivel superior (datos y
    • estado de la operación)
  • ¿Quedan peticiones encoladas?
    • SI: seleccionar una
    • NO: dormir (bloquearse) hasta que llegue la siguiente petición

Niveles software de E/S (8) Software de E/S independiente del dispositivo

  • Gran parte del SW de E/S es independiente del dispositivo.
  • Funciones básicas:
  • - Implementar las operaciones de E/S que son comunes a
  • todos los dispositivos.
  • - Presentar a los programas de usuario una interfaz uniforme.
  • Funciones típicas:
  • - Interfaz uniforme para los drivers
  • - Buffering
  • - Gestión de errores
  • - Asignación y liberación de dispositivos dedicados
  • - Proporcionar un tamaño de bloque independiente del
  • dispositivo

Niveles software de E/S (9) Software de E/S independiente del dispositivo

  • Interfaz uniforme para los drivers
  • (a) Sin interfaz estándar
  • (b) Con interfaz estándar

Niveles software de E/S (10) Software de E/S independiente del dispositivo

  • Interfaz uniforme para los drivers. Nombrado de dispositivos E/S

Niveles software de E/S (11) Software de E/S independiente del dispositivo

  • Buffering

Niveles software de E/S (12) Software de E/S independiente del dispositivo

  • Buffering
  • La comunicación en red puede implicar muchas copias

Niveles software de E/S (13) Software de E/S independiente del dispositivo

  • Gestión de errores
  • La mayoría de los errores los maneja el driver.
  • Si el driver no puede 
  • software independiente del dispositivo: decisiones políticas.
  • Asignar y liberar dispositivos dedicados
  • Pedir al SO el recurso (por ejemplo: open).
  • Liberar recurso (por ejemplo: close).
  • Tamaño de bloque independiente del dispositivo
  • El software independiente del dispositivo da la visión de un único
  • tamaño de bloque (independiente del tamaño real del bloque del
  • dispositivo).

Niveles software de E/S (14) Software de E/S en espacio de usuario

  • Llamadas al sistema  rutinas de biblioteca
  • count = write (fd, buffer, nbytes)
  • Rutinas tipo printf (formateo y pasar parámetros)
  • Sistema de spooling
  • impresora: demonio y directorio de spooling
  • red: demonio y directorio de spooling

Discos (1). Hardware. Discos magnéticos

Discos (2). Hardware. Discos magnéticos

  • Posibilidad de posicionamiento simultáneo en varias unidades
  • (búsquedas solapadas).
  • Posibilidad de posicionamiento y r/w simultáneos en dos unidades.
  • NO transferencias simultáneas.

Discos (3). Hardware. Discos magnéticos

  • Geometría física de un disco con dos zonas
  • Geometría virtual para el disco
  • (los epígrafes RAID, CD-ROMs, CD grabables, regrabables y DVD no entran para el examen)

Discos (4). Formateo de discos

  • Formato de un sector de un disco
  • Nº cilindro
  • Nº sector
  • Error-Correcting Code
  • 512 bytes
  • Además, hay sectores para sustituir a los defectuosos de fábrica

Discos (5). Formateo de discos

  • Ejemplo de cylinder skew

Discos (6). Formateo de discos

  • Por ejemplo:
  • 10000 rpm, 300 sectores por pista, 800 seg salto entre pistas,
  • ¿cuál es el cylinder skew apropiado?
  • 10000 rpm  6 msg. en dar una vuelta
  • 300 sectores/pista y 6 msg. en dar una vuelta
  •  se tarda 20 seg en leer un sector
  • En 800 seg se leen 800/20 = 40 sectores
  • cylinder skew apropiado = 40
  • (sin considerar la selección de cabeza)

Discos (7). Formateo de discos

  • (a) Sin interleaving
  • (b) Interleaving = 1
  • (c) Interleaving = 2
  • Mientras se transfiere a memoria, el disco sigue girando.

Discos (8). Formateo de discos

  • Particionar el disco.
  • Sector 0 -> master boot record (contiene):
  • código de arranque
  • tabla de particiones (sector inicial y final de cada partición)
  • Una de las particiones debe estar activa
  • Formateo (alto nivel) de cada partición:
  • boot block
  • indicación de bloques libres
  • directorio raíz,
  • … (cuando veamos el sistema de ficheros)

Discos (9). Algoritmos de planificación del brazo del disco

  • tiempo de acceso =
  • tiempo de posicionamiento (brazo al cilindro adecuado) +
  • tiempo de latencia (espera de rotación) +
  • tiempo de transferencia.
  • Algoritmos para disminuir el tiempo de posicionamiento.
  • FCFS (First-Come, First-Served)
  • - Atiende las peticiones por orden de llegada.
  • - Muy sencillo.
  • - Ninguna optimización.

Discos (10). Algoritmos de planificación del brazo del disco

  • Ejemplo (FCFS):
  • posición actual: cilindro 11
  • llegan peticiones: 1, 36, 16, 34, 9 ,12

Discos (11). Algoritmos de planificación del brazo del disco

Discos (12). Algoritmos de planificación del brazo del disco

  • SSF (Shortest Seek First)

Discos (13). Algoritmos de planificación del brazo del disco

  • SSF (Shortest Seek First)
  • Problema: POSIBLE INANICIÓN.
  • Mejora la eficiencia, (minimiza el tiempo de respuesta)
  • pero no es equitativo.

Discos (14). Algoritmos de planificación del brazo del disco

  • Algoritmo del Ascensor
  • Plantas: cilindros;
  • peticiones: usuarios
  • Compromiso entre eficiencia y equidad.
  • Moverse en un sentido hasta que no haya más peticiones en ese
  • sentido (atendiendo a la más corta) y cambiar de sentido.
  • Inicialmente “subiendo”

Discos (15). Algoritmos de planificación del brazo del disco

  • Algoritmo del Ascensor
  • En general, peor que SSF.
  • Dado un conjunto cualquiera de peticiones  límite superior
  • del movimiento total = 2 veces el número de cilindros.

Discos (16). Algoritmos de planificación del brazo del disco

  • C-SCAN
  • Variante del algoritmo del ascensor: recorrer el disco siempre en el mismo sentido. Disminuye la desviación en los tiempos de respuesta

Discos (17). Algoritmos de planificación del brazo del disco

  • En el algoritmo del ascensor 
  • acumulación de peticiones en un extremo.

Discos (18). Algoritmos de planificación del brazo del disco

  • OTRAS OPTIMIZACIONES.
  • Peticiones sobre el mismo cilindro  sector más cercano
  • Caché en el controlador
  •  Si N unidades de disco:
  • Ordenar posicionamiento en N-1
  • Realizar transferencia actual
  •  Factor de entrelazado (interleaving)
  • (Leer la sección 5.4.4. La sección 5.4.5 no entra para el examen.)


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal