Entrada / Salida

  1. Introducción
  2. Principios del Hardware de E / S
    1. Dispositivos de E / S
    2. Controladores de Dispositivos
    3. Acceso Directo a Memoria (DMA)
  3. Principios del Software de E / S
    1. Objetivos del Software de E / S
    2. Manejadores de Interrupciones
    3. Manejadores de Dispositivos
    4. Software de E / S Independiente del Dispositivo
    5. Software de E / S en el Espacio del Usuario
  4. Discos - Hardware Para Discos
    1. Discos
    2. Hardware Para Discos
  5. Operación de Almacenamiento de Disco de Cabeza Móvil
  6. Algoritmos de Programación del Brazo del Disco
  7. Porqué es Necesaria la Planificación de Discos
  8. Características Deseables de las Políticas de Planificación de Discos
  9. Optimización de la Búsqueda en Discos
    1. Planificación FCFS (Primero en Llegar, Primero en Ser Servido)
    2. Planificación SSTF (Menor Tiempo de Búsqueda Primero)
    3. Planificación SCAN
    4. Planificación SCAN de N - Pasos
    5. Planificación C - SCAN (Búsqueda Circular)
    6. Esquema Eschenbach
    7. Conclusiones
  10. Optimización Rotacional en Discos
  11. Consideraciones de los Discos Sobre los Sistemas
  12. Manejo de Errores en Discos
  13. Ocultamiento de Una Pista a la Vez en Discos
  14. Discos en RAM
  15. Relojes
  16. Terminales
  17. Fin


Introducción

Una de las funciones principales de un S. O. es el control de todos los dispositivos de e / s de la computadora [23, Tanenbaum].

Las principales funciones relacionadas son:

El código de e / s representa una fracción significativa del S. O.

El uso inapropiado de los dispositivos de e / s frecuentemente genera ineficiencias del sistema, lo que afecta la performance global.

Inicio:   Fin:

Principios del Hardware de E / S

El enfoque que se considerará tiene que ver con la interfaz que desde el hardware se presenta al software [23, Tanenbaum]:

Inicio:   Fin:

Dispositivos de E / S

Se pueden clasificar en dos grandes categorías:

Las principales características de los dispositivos de bloque son: Las principales características de los dispositivos de caracter son: Algunos dispositivos no se ajustan a este esquema de clasificación, por ejemplo los relojes, que no tienen direcciones por medio de bloques y no generan o aceptan flujos de caracteres.

El sistema de archivos solo trabaja con dispositivos de bloque abstractos, por lo que encarga la parte dependiente del dispositivo a un software de menor nivel, el software manejador del dispositivo.

Inicio:   Fin:

Controladores de Dispositivos

Las unidades de e / s generalmente constan de:

Muchos controladores pueden manejar más de un dispositivo.

El S. O. generalmente trabaja con el controlador y no con el dispositivo.

Los modelos más frecuentes de comunicación entre la cpu y los controladores son:

La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel: El controlador debe: Cada controlador posee registros que utiliza para comunicarse con la cpu: El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores.

Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.

Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:

La cpu obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlador.

Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupción en la PC IBM pueden verse en la Tabla 5.1 [23, Tanenbaum].
 
 

Controlador de e / s Dirección de e / s Vector de interrupciones
Reloj 040 - 043 8
Teclado 060 - 063 9
Disco duro 320 - 32f  13
Impresora 378 - 37f  15
Disco flexible 3f0 - 3f7 14
Rs232 primario 3f8 - 3ff  12
Rs232 secundario 2f8 - 2ff  11
Tabla 5.1: Controladores de e / s, direcciones de e / s y vector de interrupciones.

Inicio:   Fin:

Acceso Directo a Memoria (DMA)

Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA.

Si se lee el disco sin DMA:

DMA se ideó para liberar a la cpu de este trabajo de bajo nivel.

La cpu le proporciona al controlador:

Luego de que el controlador leyó todo el bloque del dispositivo a su buffer y de que corroboró la suma de verificación:


Un controlador realiza completamente una transferencia DMA.

El controlador necesita un buffer interno porque una vez iniciada una transferencia del disco:

Si el bloque se guarda en un buffer interno: Los controladores simples no pueden atender la e / s simultánea:


Factor de separación: sin separación, separación simple y separación doble.

Inicio:   Fin:

Principios del Software de E / S

La idea básica es organizar el software como una serie de capas donde [23, Tanenbaum]:

Inicio:   Fin:

Objetivos del Software de E / S

Un concepto clave es la independencia del dispositivo:

El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo.

Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.

Otro aspecto importante del software es el manejo de errores de e / s:

Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores): El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.

También el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).

Generalmente el software de e / s se estructura en capas (ver Figura 5.3 [23, Tanenbaum]):


Capas del sistema de entrada / salida y las principales funciones de cada capa.

Inicio:   Fin:

Manejadores de Interrupciones

Las interrupciones deben ocultarse en el S. O.:


Inicio:   Fin:

Manejadores de Dispositivos

Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.

Cada controlador posee uno o más registros de dispositivos:

La labor de un manejador de dispositivos es la de: Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.

La solicitud de e / s, por ej. para un disco, se debe traducir de términos abstractos a términos concretos:

Inicio:   Fin:

Software de E / S Independiente del Dispositivo

Funciones generalmente realizadas por el software independiente del dispositivo:

Las funciones básicas del software independiente del dispositivo son: El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.

Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:

El software independiente del dispositivo debe: Inicio:   Fin:

Software de E / S en el Espacio del Usuario

La mayoría del software de e / s está dentro del S. O.

Una pequeña parte consta de bibliotecas ligadas entre sí con los programas del usuario.

La biblioteca estándar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario.

Otra categoría importante de software de e / s a nivel usuario es el sistema de spooling.

El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramación:

Para imprimir un archivo: Un esquema similar también es aplicable para la transferencia de archivos entre equipos conectados: Inicio:   Fin:

Discos - Hardware Para Discos

Discos

Las siguientes son las principales ventajas con respecto del uso de la memoria principal como almacenamiento [23, Tanenbaum]:

Un uso inapropiado de los discos puede generar ineficiencia, en especial en sistemas con multiprogramación.

Inicio:   Fin:

Hardware Para Discos

Los discos están organizados en cilindros, pistas y sectores.

El número típico de sectores por pista varía entre 8 y 32 (o más).

Todos los sectores tienen igual número de bytes.

Los sectores cercanos a la orilla del disco serán mayores físicamente que los cercanos al anillo.

Un controlador puede realizar búsquedas en una o más unidades al mismo tiempo:

Muchos controladores pueden: Los controladores no pueden leer o escribir en dos unidades al mismo tiempo.

La capacidad de búsquedas traslapadas puede reducir considerablemente el tiempo promedio de acceso.

Inicio:   Fin:

Operación de Almacenamiento de Disco de Cabeza Móvil

Los datos se graban en una serie de discos magnéticos o platos [7, Deitel].

El eje común de los discos gira a una velocidad del orden de las 4.000 o más revoluciones por minuto.

Esquema de un disco de cabeza móvil.

Se lee o escribe mediante una serie de cabezas de lectura - escritura (ver Figura 5.4 [7, Deitel]):

Todas las cabezas de lectura - escritura están montadas sobre una barra o conjunto de brazo móvil: A los tiempos de búsqueda y de latencia se debe agregar el tiempo de transmisión propiamente dicha (ver Figura 5.5 [7, Deitel]).

Componentes del acceso a un disco.

El tiempo total de acceso a un registro particular:

Inicio:   Fin:

Algoritmos de Programación del Brazo del Disco

En la mayoría de los discos, el tiempo de búsqueda supera al de retraso rotacional y al de transferencia [23, Tanenbaum], debido a ello, la reducción del tiempo promedio de búsqueda puede mejorar en gran medida el rendimiento del sistema.

Si el manejador del disco utiliza el algoritmo primero en llegar primero en ser atendido (FCFS), poco se puede hacer para mejorar el tiempo de búsqueda.

Es posible que mientras el brazo realiza una búsqueda para una solicitud, otros procesos generen otras solicitudes.

Muchos manejadores tienen una tabla:

Ej. de SSF: El algoritmo SSF tiene el siguiente problema: La solución a este problema la brinda el algoritmo del elevador (por su analogía con el ascensor o elevador): Ej. del algoritmo del elevador para el caso anterior, con el valor inicial arriba del bit de dirección: El algoritmo del elevador: Una variante consiste en rastrear siempre en la misma dirección: Algunos controladores de disco permiten que el software inspeccione el número del sector activo debajo del cabezal: Cuando existen varias unidades, se debe tener una tabla de solicitudes pendientes para cada unidad.

Si una unidad está inactiva, deberá buscarse el cilindro siguiente necesario, si el controlador permite búsquedas traslapadas.

Cuando termina la transferencia actual se verifica si las unidades están en la posición del cilindro correcto:

Generalmente, las mejoras tecnológicas de los discos: Una tecnología importante es la que permite el trabajo conjunto de varios discos.

Una configuración interesante es la de treinta y ocho (38) unidades ejecutándose en paralelo.

Cuando se realiza una operación de lectura:

Este diseño se conoce como RAID; siglas en inglés de “arreglo redundante de discos no costosos”.

Inicio:   Fin:

Porqué es Necesaria la Planificación de Discos

En los sistemas de multiprogramación muchos procesos pueden estar generando peticiones de e / s sobre discos [7, Deitel]:

La planificación de disco implica: Los tipos más comunes de planificación son: Generalmente los tiempos de búsqueda superan a los de latencia, aunque la diferencia disminuye: Bajo condiciones de carga ligera (promedio bajo de longitud de la cola), es aceptable el desempeño del método FCFS (primero en llegar, primero en ser servido).

Bajo condiciones de carga media o pesada, es recomendable un algoritmo de planificación de las colas de requerimientos.

Inicio:   Fin:

Características Deseables de las Políticas de Planificación de Discos

Los principales criterios de categorización de las políticas de planificación son [7, Deitel]:

Una política de planificación debe intentar maximizar la capacidad de ejecución: La planificación suele mejorar la imagen total al tiempo que reduce los niveles de servicio de ciertas peticiones: Inicio:   Fin:

Optimización de la Búsqueda en Discos

Las estrategias más comunes de optimización de la búsqueda son las siguientes [7, Deitel]:

Inicio:   Fin:

Planificación FCFS (Primero en Llegar, Primero en Ser Servido)

Una petición no puede ser desplazada por la llegada de una petición con prioridad más alta.

No hay reordenamiento de la cola de peticiones pendientes.

Se ignoran las relaciones posicionales entre las peticiones pendientes.

Ofrece una varianza pequeña aunque perjudica a las peticiones situadas al final de la cola.

Inicio:   Fin:

Planificación SSTF (Menor Tiempo de Búsqueda Primero)

El brazo del disco se sitúa en la siguiente petición que minimice el movimiento del brazo.

No respeta el orden de llegada de las peticiones a la cola.

Tiende a favorecer a las pistas del centro del disco.

La media de tiempos de respuesta tiende a ser más baja que con FCFS, para cargas moderadas.

Las varianzas tienden a ser mayores que con FCFS por el efecto de las pistas interiores y exteriores.

Inicio:   Fin:

Planificación SCAN

El brazo del disco se desplaza sirviendo a todas las peticiones que encuentra a su paso.

Cambia de dirección cuando ya no hay peticiones pendientes en la dirección actual.

Ha sido la base de la mayoría de las estrategias de planificación implementadas.

Elimina las discriminaciones de SSTF y tiene menor varianza.

Las pistas exteriores son menos visitadas que las intermedias, pero no es tan grave como con SSTF.

Inicio:   Fin:

Planificación SCAN de N - Pasos

La estrategia de movimiento del brazo es como en SCAN; solo da servicio a las peticiones que se encuentran en espera cuando comienza un recorrido particular.

Las peticiones que llegan durante un recorrido son agrupadas y ordenadas y serán atendidas durante el recorrido de regreso.

Posee menor varianza de los tiempos de respuesta si se compara con las planificaciones SSTF y SCAN convencionales.

Inicio:   Fin:

Planificación C - SCAN (Búsqueda Circular)

El brazo se mueve del cilindro exterior al interior, sirviendo a las peticiones sobre una base de búsqueda más corta.

Finalizado el recorrido hacia el interior, salta a la petición más cercana al cilindro exterior y reanuda su desplazamiento hacia el interior.

No discrimina a los cilindros exterior e interior.

La varianza de los tiempos de respuesta es muy pequeña.

Inicio:   Fin:

Esquema Eschenbach

El brazo del disco se mueve como en C - SCAN, pero:

Esta estrategia tiene en cuenta el retraso rotacional.

Inicio:   Fin:

Conclusiones

Mediante trabajos de simulación y de laboratorio se demostró lo siguiente:

Inicio:   Fin:

Optimización Rotacional en Discos

En condiciones de carga pesada, las probabilidades de que ocurran referencias al mismo cilindro aumentan, por ello resulta útil considerar la optimización rotacional además de la optimización de búsqueda [7, Deitel].

La optimización rotacional es de uso común en dispositivos de cabezas fijas.

La estrategia utilizada es la SLTF (tiempo de latencia más corto primero):

Inicio:   Fin:

Consideraciones de los Discos Sobre los Sistemas

Los principales interrogantes son [7, Deitel]:

El almacenamiento en disco como un recurso limitador

La planificación de disco puede mejorar el rendimiento y eliminar el embotellamiento, que se produce cuando se concentran grandes cargas de peticiones sobre relativamente pocos discos o pocos cilindros de un disco.

Nivel de multiprogramación

Generalmente la planificación es efectiva en sistemas de tiempo compartido con un nivel alto de multiprogramación.

Subsistemas de discos múltiples

Frecuentemente la cpu está conectada mediante canales (o bus) a dispositivos controladores, los que están conectados a las unidades de discos.

El embotellamiento puede producirse en algún disco, algún controlador o en algún canal.

Existe software específico para:

Para eliminar ciertos embotellamientos puede ser necesaria una reconfiguración del hardware: Para ayudar a reducir la congestión del canal, muchos sistemas han incorporado la técnica de examen (sensado) de posición rotacional (RPS): Distribución de peticiones no uniformes

Son muy comunes en ciertas situaciones reales.

Son frecuentes en procesos secuenciales de archivos secuenciales, para los que se afectaron cilindros adyacentes inmediatos.

Generalmente en estos casos las búsquedas son cortas y la planificación de disco será de poca utilidad.

Técnicas de organización de archivos

Los métodos de organización y acceso de archivos, así como los DBMS (manejadores de bases de datos):

Inicio:   Fin:

Manejo de Errores en Discos

Algunos de los errores más comunes en discos son [23, Tanenbaum]:

El manejador del disco debe controlar los errores de la mejor manera posible.

La mayoría de los controladores:

Respecto de los errores temporales en la suma de verificación: Otra posibilidad es que controladores “inteligentes” reserven cierta cantidad de pistas: Inicio:   Fin:

Ocultamiento de Una Pista a la Vez en Discos

Generalmente el tiempo de búsqueda supera al de rotación y transferencia (aunque esto se está equilibrando) [23, Tanenbaum].

Una vez resuelta la búsqueda del cilindro correspondiente, no es muy importante si se lee un sector o toda la pista:

Inicio:   Fin:

Discos en RAM

Utilizan una parte de la memoria principal asignada con anterioridad para almacenar los bloques [23, Tanenbaum].

Tienen la ventaja del acceso instantáneo:

Los bloques de almacenamiento tienen el mismo tamaño que en los discos reales.

Cuando el manejador debe leer de o escribir en un bloque de un disco en RAM, calcula el lugar de la memoria donde se encuentra el bloque solicitado y lee o escribe en el mismo.

Inicio:   Fin:

Relojes

Los relojes o cronómetros son esenciales para la operación de sistemas de tiempo compartido [23, Tanenbaum].

Registran la hora del día.

Evitan que un proceso monopolice la cpu.

El software para reloj toma generalmente la forma de un manejador de dispositivo, aunque no es un dispositivo de bloque ni de caracter.

Los relojes más sencillo trabajan con la línea de corriente eléctrica de 110 o 220 voltios y provocan una interrupción por cada ciclo de voltaje, a 50 o 60 hz.

Otro tipo de relojes consta de tres componentes:

Los relojes programables tienen varios modos de operación: La ventaja del reloj programable es que su frecuencia de interrupción puede ser controlada por el software.

Las principales funciones del software manejador del reloj son:

El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.

Inicio:   Fin:

Terminales

Las terminales tienen gran número de formas distintas [23, Tanenbaum]:

Desde el punto de vista del S. O. se las puede clasificar en: Las terminales RS-232 poseen un teclado y un monitor que se comunican mediante una interfaz serial, un bit a la vez; las conversiones de bits a bytes y viceversa las efectúan los chips uart (transmisores - receptores asíncronos universales).

Las terminales mapeadas a memoria:

En las pantallas mapeadas a caracteres: En las terminales mapeadas a bits: Con las pantallas mapeadas a memoria, el teclado se desacopla totalmente de la pantalla: Las terminales pueden operar con una estructura central de buffers o con buffers exclusivos para cada terminal.

Frecuentemente los manejadores de terminales soportan operaciones tales como:

Inicio:   Fin:
 
 

Para mayor información, seleccione una opción:

Número de visitas efectuadas desde el 17/12/2001: 

Estadísticas diarias desde el 10/07/2002:   Free counter and web stats

Número de visitantes actuales disponible desde el 14/07/2002:

 

AddFreeStats.com Free Web Stats in real-time !  

 

 

 

Autor: lrmdavid@exa.unne.edu.ar

Ó FACENA - http://exa.unne.edu.ar

Servicios WEB: webmaster@exa.unne.edu.ar