Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Controladores de dispositivos - Unidad de E/S: - componente mecánico dispositivo mismo - componente electrónico controlador - Un controlador puede manejar varios dispositivos idénticos - El S.O. accede al dispositivo por medio del controlador Bus CPU memoria controlador controlador otros de disco de impresora controlad. Entrada-Salida 1/11
Funciones del Controlador: Convertir un flujo de bits en serie en un bloque de bytes uniéndolos en su buffer Corregir errores (suma de verificación) Copiar el bloque en la Memoria principal Funcionamiento: 1. El S.O. escribe comandos en los registros del controlador 2. El controlador acepta el comando, lo verifica y ejecuta 3. La CPU se libera y deja trabajando al controlador 4. Al finalizar el comando, el controlador emite una interrupción 5. La CPU controla y lee los registros del controlador TECNICAS DE COMUNICACION DE LA E/S 1) E/S programada El procesador comprueba periódicamente el estado de la E/S hasta que se completa la operación El procesador extrae o almacena los datos en la memoria RAM 2) E/S dirigida por interrupciones El procesador envía una orden de E/S al módulo correspondiente y realiza otra actividad El módulo de E/S envía una interrupción cuando finaliza la operación El procesador ejecuta la transferencia de los datos Entrada-Salida 2/11
3) DMA (Acceso directo a la memoria) Permite que un controlador lea y escriba bloques de datos desde o hacia la memoria principal SIN la intervención del procesador Necesita conocer: o Si es una lectura o escritura o Dirección de memoria del dispositivo o Dirección inicial de memoria (ubicación de los datos) o Número de palabras a leer o escribir CPU Memoria Controlador Disco de disco Buffer Bus Registros DMA Dirección Memoria Contador Etapas de la evolución de las funciones de la E/S 1. El procesador controla directamente los dispositivos periféricos 2. Controlador o módulo de E/S. El procesador utiliza E/S programada sin interrupciones 3. Idem etapa 2 pero utilizando interrupciones. Se incrementa la eficiencia 4. Técnica DMA 5. El módulo de E/S pasa a ser un procesador separado con instrucciones especializadas para E/S 6. El módulo de E/ es una computadora independiente Entrada-Salida 3/11
ASPECTOS DE DISEÑO EN LOS SISTEMAS OPERATIVOS Objetivos del Software de E/S Independencia del dispositivo manejo de comandos Manejo de errores solucionarlos a nivel de hardware Nombres uniformes cadena de caracteres Asignación de dispositivos: - Dedicados impresora - Compartidos discos - Virtuales transforma los dispositivos dedicados en compartidos spooling de impresión Estructura del Software de Entrada-Salida Solicitud E/S Capa o Nivel Resp. E/S Procesos del usuario SW independiente del dispositivo Manejador de dispositivo Manejador de interrupciones Hardware Entrada-Salida 4/11
a) Manejador de Interrupciones Los procesos se bloquean hasta que finalice la operación de E/S b) Manejador de dispositivo Acepta solicitudes de los niveles superiores Emite, ejecuta y verifica comandos del controlador Procesa interrupciones Cada manejador controla un tipo de dispositivo Manejador de disco conocimiento de sectores, pistas, cilindros, cabezas, movimientos del brado del disco, etc. Administra la cola de solicitudes pendientes Escribe los comandos en los registros del controlador c) Software de E/S independiente del dispositivo Ejecuta funciones de E/S comunes a todos los dispositivos Funciones: Sincronización de los manejadores de dispositivo Nombre de los dispositivos Protección de los dispositivos Manejo de buffers Administración de bloques libres Asignación y liberación de dispositivos de uso exclusivo (impresora) Informe de errores (bloques defectuosos) d) Software a nivel usuario Administración de dispositivos (spooling de impresión) Administración del demonio de impresión Compartición de dispositivos en entornos de red Entrada-Salida 5/11
ALMACENAMIENTO INTERMEDIO DE LA E/S Buffering técnica que soluciona los picos en la demanda de E/S - Memoria Intermedia SENCILLA La transferencia se realiza en la memoria principal El proceso mueve el bloque al espacio del usuario El proceso puede procesar un bloque de datos mientras se lee el siguiente bloque S.O. Proceso de Usuario Dispositivo de E/S Entrar Mover - Memoria Intermedia DOBLE Se asigna a la operación dos buffers intermedios del sistema S.O. Proceso de Usuario Dispositivo de E/S Entrar Mover - Memoria Intermedia CIRCULAR Permite que las operaciones de E/S se ejecuten a la misma velocidad que el proceso S.O. Proceso de Usuario Dispositivo de E/S Entrar : : Mover Entrada-Salida 6/11
PLANIFICACION DE DISCOS Parámetros del rendimiento del disco a) Tiempo de búsqueda tiempo necesario para mover el brazo del disco hasta la pista solicitada t. de búsqueda = t. de arranque + t. para recorrer las pistas t. de búsqueda medio 5 a 10 ms b) Retardo de giro tiempo que tarda en llegar el sector hasta la cabeza del disco velocidad de rotación entre 5.400 y 10.000 rpm tiempo de acceso = t. de búsqueda + retardo de giro c) Tiempo de transferencia tiempo para realizar la operación de lectura o escritura POLITICAS DE PLANIFICACION DEL DISCO (Algoritmos) 1. FIFO (First in firs out) 2. SSTF (Shortest service time first) 3. SCAN (algoritmo del ascensor) 4. C-SCAN (SCAN circular) Entrada-Salida 7/11
DISCOS RAID (Redundant Array of Independent Disks) - Características del Diseño RAID: 1. Conjunto de varios discos físicos que forman una única unidad lógica 2. Los datos se distribuyen entre los diferentes discos 3. Redundancia utilizada para recuperación en caso de fallos 4. Se reemplaza un disco de gran capacidad por varios discos físicos 5. Mejor rendimiento debido al acceso simultáneo de datos ubicados en discos diferentes 6. Existen 7 niveles de RAID (arquitecturas de diseño diferentes) NIVELES RAID RAID 0 (sin redundancia) RAID 1 (disco espejado) RAID 2 (no se comercializa) RAID 3 (paridad por intercalación de bits) RAID 4 (no se comercializa) RAID 5 (paridad por intercalación distribuida de bloques) RAID 6 (redundancia dual) Entrada-Salida 8/11
Nivel RAID 0 Carece de redundancia Cada disco se divide en bandas (bloques físicos o sectores) Los datos se distribuyen entre todos los discos del conjunto Atiende peticiones de datos en paralelo Mejora el tiempo de espera de solicitudes en la cola de E/S Banda 0 banda 1 banda2 Banda 3 banda 4 banda 5 Banda 6 banda 7 banda 8 Banda 9 banda 10 banda 11 Nivel RAID 1 Redundancia duplicación de todos los datos Una banda lógica se graba en dos discos físicos independientes Cada solicitud de lectura la puede atender cualquiera de los dos discos Cada solicitud de escritura se actualiza en ambos discos en paralelo Facilidad en la recuperación de fallos Desventaja alto costo Aplicación almacenamiento del S.O. y de datos críticos Entrada-Salida 9/11
Nivel RAID 3 Datos divididos en bandas muy pequeñas (byte o palabra) Utiliza un solo disco redundante (bit de paridad) Implementa acceso paralelo para cada solicitud de E/S Se ejecuta UNA petición de E/S por vez Desventaja bajo rendimiento en sistemas orientados a transacciones b0 b1 b2 P(b) Nivel RAID 5 Utiliza bandas grandes Se calcula una paridad entre las bandas de todos los discos Las bandas de paridad se distribuyen entre todos los discos elimina posible cuello de botella (único disco de paridad en RAID 4) Para un conjunto de N discos, la banda de paridad está sobre un disco diferente para las N primeras bandas y así sucesivamente Nivel RAID 6 Se realizan dos cálculos diferentes de paridad Requiere 2 discos más que el total del conjunto de discos de usuario Muy alta disponibilidad de datos Cada escritura afecta a dos bloques de paridad penalización de escritura Entrada-Salida 10/11
CACHE DE DISCO Es una memoria intermedia (buffer) ubicada en la memoria principal la cual contiene una copia de algunos sectores del disco. Consideraciones sobre el diseño 1. Solicitud de E/S a) Se realiza desde la caché a la memoria asignada al proceso de usuario b) Se satisface directamente desde la caché utilizando la capacidad de memoria compartida 2. Estrategia de reemplazo cuál bloque de la caché será reemplazado? LRU (usado menos recientemente) LFU (usado menos frecuentemente) Reemplazo en función de la frecuencia 3. Política de escritura: Cada vez que el bloque se actualice Sólo cuando se reemplaza el bloque Entrada-Salida 11/11