GESTION DE E/S Y PLANIFICACIÓN DE DISCOS

 

 

*   INTRODUCCIÓN

 

*   DISPOSITIVOS DE E/S

 

*   DIRECCIONAMIENTO

 

*   CONTROLADORES

 

*   SOFTWARE DE E/S

 

*   PLANIFICACIÓN DE DISCO

 

*   SOFTWARE RAID

 

*   PRINCIPIO DE SOFTWARE DE DISCO

 

*   DMA – ACCESO DIRECTO A MEMORIA

 

*   SINCRONIZACION ENTRE CPU Y PERIFÉRICOS

 

*   ALMACENAMIENTO INTERMEDIO

 

*   E/S EN UNIX SVR4

 

*   E/S WINDOWS 2000

 

*   EVALUACION I/O

 

INTRODUCCIÓN

 

Analizar el desempeño de un sistema de E/S resulta  más complejo que el propio rendimiento del procesador, esto se debe a la gran variedad de dispositivos de E/S que hay y a las aplicaciones de los mismos; haciéndose difícil hallar una solución gral. y consistente.

El tema a desarrollar trata sobre el estudio de los dispositivos de E/S y  su organización de acuerdo a su funcionamiento, como  base de los S.O.; profundizando ciertos aspectos como el  diseño de  los mismos,  atendiendo a: sus objetivos y la forma de estructurar las funciones de E/S.

Interesan también el uso de BUFFERS (almacenamiento intermedio), utilizado para equiparar las velocidades intermedias del sistema informatico y la de los dispositivos de E/S, HARDWARE afectados y la  sincronización de operaciones entre los mismos, todo ello monitoreado por SOFTWARE adecuados.

Por otra parte, se analiza también el  impacto de los discos en el rendimiento del sistema y porque es la forma de E/S más importante, se divisara que hay dos métodos mas usados en el rendimiento de E/S a discos, la PLANIFICACIÓN y la CACHE DE DISCO, se comenzara por desarrollar un modelo de rendimiento de E/S de los discos y se examinaran varias técnicas aplicadas para mejorar el rendimiento.

Finalmente, se realiza una comparación de cómo los sistemas vigentes actualmente en el mercado (Windows y unix) manejan sus accesos a la información y que políticas implementan en la organización de sus dispositivos de E/S, en particular los discos.

 

 

Dispositivo de E/S

 

Las unidades de E/S constan de dos elementos:

 

*  MECÁNICO: denominado  “DISPOSITIVO DE E/S”.

* ELECTRÓNICO: denominado “CONTROLADORES”.

 

Los dispositivos de E/S que se conectan al ordenador se clasifican en:

*  BLOQUE: La información se almacena en bloques, esos bloques son de tamaño fijo. Donde cada bloque tiene una dirección que lo identifica. Se puede leer o escribir en un bloque independiente de los demás.  

                     Por ejemplo: disquete, CD, DVD, disco duro.

                                                                                                                                                           

*  CARÁCTER: La información que se generan o reciben son flujos de caracteres (no    bloques). Accede a los datos en secuencia: o sea, para acceder a determinados datos, la lectura y escritura se debe hacer seguido de los datos anteriores.

                     Por ejemplo: teclado, pantalla, cinta, ratones, interfaz de comunicación.

                                                    

La línea de separación no es rígida, hay dispositivos que pueden ser del tipo bloque (cintas Magnéticas) aunque son considerados del tipo carácter.

Con esta clasificación, un dispositivo que está fuera de ellas, el “RELOJ”, no es orientado ni a bloque ni de carácter. Si es un dispositivo especial, ya que lo único que hace es generar interrupciones.

Otros aspectos importantes que hacen la diferencia entre dispositivos son:

*             Comportamiento: entrada, salida, almacenamiento.

      *  Tasa de transferencia: tasa de peak de transferencia entre dispositivos y memoria.

 

El siguiente cuadro hace referencia, a las grandes diferencias entre las clases de dispositivos:

 

DISPOSITIVO

COMPORTAMIENTO

CLASIFICACION

TASA KB/SEG.

TECLADO

Entrada

Carácter

0,01

MOUSE

"

"

0,02

SCANNER

"

"

400

VOS (Salida)

Salida

"

0,6

IMPRESORA (Línea)

"

"

1,0

IMPRESORA (Láser)

"

"

200

MODEM

Entrada / salida

"

2,0-8,0

RED LAN

"

"

500-6000

FLOPPY

Almacenamiento

Bloque

100

CD

"

"

1000

CINTA MAGNETICA

"

"

2000

DISCO MAGNETICO

"

"

2000-10000

 

 

 

Existen otros factores que hacen a su distinción:

*   UNIDADES DE CONTROL

*   REPRESENTACIÓN DE DATOS

*   CONDICIÓN DE ERROR

 

DIRECCIONAMIENTO

 

El direccionamiento abarca en general:

 

* ¿QUÉ ES LA MEMORIA RAM?

  Es donde el ordenador guarda los datos que esta utilizando en el momento presente, a diferencia de los discos, además estas es mas rápida y se borra al apagar el ordenador. La cantidad necesaria depende del uso que se le dé. Un aumento de RAM aumentara el rendimiento solo si había escasez. La RAM vacía no sirve de nada.

 

* ¿QUÉ ES EL MICROPROCESADOR?

  Es el cerebro del ordenador, Es un chip que suele tener forma de cuadrado o rectángulo negro, y van o vienen sobre un elemento llamado zócalo. A veces al micro se le denomina “la CPU”, su velocidad se mide en megahercios.

 

* ¿QUÉ ES UN MODEM?

  Un MODEM es un acrónimo de MOdulador-DEModulador; es decir que es un dispositivo que transforma las señales digitales del ordenador, en señal telefónica analógica y viceversa.

    La velocidad es el mejor parámetro para definir a un MODEM, las cifras de medición son en bits por segundo.

* Al otro lado de la línea debe existir un MODEM que sea de la misma cantidad de bits por segundo, bps., y además del mismo tipo.

* La línea telefónica debe ser de alta calidad.

 

* ¿QUÉ ES LA IMPRESORA?

   Es el periférico que el ordenador utiliza para presentar información impresa en papel. Las primeras impresoras nacieron muchos años antes que el PC e incluso antes que los monitores.

  La resolución, probablemente sea el parámetro que mejor define a una impresora, esta es la mejor o peor calidad de imagen que se pueda obtener con la impresora, medida en numero de puntos individuales que es capaz de dibujar una impresora.

 

  El buffer de memoria:

  Es una pequeña cantidad de memoria que tiene todas las impresoras modernas para almacenar parte de la información que les va proporcionando el ordenador.

 

* ¿Qué es la BIOS?

  BIOS: “Basic input-output System”, se encarga de realizar las funciones básicas de manejo y configuración del ordenador.

  Las BIOS se implementan en memoria. Pero además debe mantenerse cuando se apague el ordenador; en realidad estas memorias si se borran al faltarles la electricidad.

    En las placas base modernas se utilizan los FLASH ROM , porque tiene la gran ventaja de que pueden ser actualizados por el usuario mediante un simple programa software, mientras que los EEPROM(más antiguos), requieren ser retirados e introducidos en un aparato especial para ser reescritos.

 

  La topología de la red:

  Es la forma en que los ordenadores están unidos unos a otros y depende, entre otros factores, de si se trata de una red de cable coaxial o de un par trenzado.

  Una red de cable coaxial es una línea, una cadena de ordenadores unidos a un único cable, mediante unas piezas en forma de “T”, que salen de este. Si el cable se rompe se interrumpe la comunicación en toda la red.

  Una red de cable de par trenado es una estrella cuyo centro es el hub, del cual parte un cable para cada ordenador. Cuando uno de estos cables se rompe la comunicación solo queda interrumpida entre ese ordenador y la red, no afectando al resto.

 

CONTROLADORES

 

Los CONTROLADORES DE DISPOSITIVOS (también llamados adaptadores de dispositivos) son la parte electrónica de los periféricos, el cual puede tener la forma de una tarjeta o un circuito impreso integrado a la tarjeta maestra de la computadora. Por ejemplo, existen controladores de discos que se venden por separado y que se insertan en una ranura de la computadora, o existen fabricantes de computadoras que integran esa funcionalidad en la misma tarjeta en que viene la unidad central de procesamiento (tarjeta maestra).

Los controladores de dispositivos generalmente trabajan con voltajes de 5 y 12 volts con el dispositivo propiamente, y con la computadora a través de interrupciones. Estas interrupciones viajan por el 'BUS' de la computadora y son recibidos por el CPU el cual a su vez pondrá en ejecución algún programa que sabrá qué hacer con esa señal. A ese programa se le llama 'MANEJADOR DE DISPOSITO' (device driver). Algunas veces el mismo controlador contiene un pequeño programa en una memoria de solo lectura o en memoria de acceso aleatoria no volátil y re-escribible que interactúa con el correspondiente manejador en la computadora. La siguiente figura  muestra un esquema simple de dispositivos orientados a bloques y otros a caracteres.

 

 

 

 

Por ejemplo, la terminal (CRT) tiene un 'chip' que se encarga de enviar cadenas de bits por medio de un cable serial que a su vez son recibidos por un controlador de puerto serial en la computadora. Este 'CHIP' también se encarga de leer secuencias de bits que agrupa para su despliegue en la pantalla o para ejecutar algunas funciones de control. Lo importante en todos estos dispositivos es que se debe ejercer un mecanismo para sincronizar el envío y llegada de datos de manera concurrente.

Para intercambiar datos o señales entre la computadora y los controladores, muchas veces se usan registros o secciones predefinidas de la memoria de la computadora. A este esquema se le llama 'MANEJO DE ENTRADA - SALIDA MAPEADO POR MEMORIA' (memory mapped I/O). Por ejemplo, para una IBM PC se muestran los vectores de interrupción y las direcciones para la entrada -salida.

                              
CONTROLADOR
DIRECCIÓN(HEX)
VECTOR DE INTERRUPCIÓN
RELOJ
040 - 043
8
TECLADO
060-063
9
DISCO DURO
320-32F
13
IMPRESORA
378-37F
15
MONITOR MONO
380-3BF
-
MONITOR COLOR
3D0-3DF
-
DISCO FLEXIBLE
3F0-3F7
14

 

SOFTWARE DE  ENTRADA-SALIDA

 

Los objetivos más importantes del software de E/S son:

* Ocultar la complejidad del hardware a los procesos que se ejecutan por encima del   sistema operativo.

* Presentar una interfaz de E/S sencilla.

Para conseguir estos objetivos se estructura el software de E/S en capas, de forma que las capas inferiores ocultan la complejidad del hardware a las capas superiores y éstos se encargan de conseguir una interfaz sencilla.

 

 

Soft. de E/S a nivel de usuario

Soft. de E/S independiente del dispositivo

Manejadores de Dispositivos (driver)

Manejadores de Interrupciones

HARDWARE

 

 

            Soft. de

              E/S

* MANEJADORES DE INTERRUPCIONES: Su principal objetivo es que el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas.

 

* MANEJADORES DE DISPOSITIVOS: El driver es el software que se comunica con el hardware de E/S. Existe un driver para cada controlador que tengamos conectado a la computadora.

El driver:

*Es el único software que conoce las características del dispositivo.

*Programa al controlador imprimiendo en sus registros.

*Se encarga de traducir peticiones del nivel superior

*Encola las peticiones que van llegando para que el driver las trate más tarde.

Por ejemplo, si el sistema tiene tipos diferentes de discos duros, al usuario las diferencias técnicas entre ellos no le deben importar, y los drivers le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos.

 

*  SOFTWARE DE E/S INDEPENDIENTE DEL DISPOSITIVO: En esta capa se agrupa la mayor parte del software de E/S. Las funciones básicas de este nivel son:

 

  * Presentar una interfaz uniforme a los programas de usuario; la misma operación de entrada o de salida independientemente del dispositivo al que se desea acceder.

  * Identificar al dispositivo a partir del nombre simbólico; asignándoles nombres a los dispositivos.

  * Protección de los dispositivos; debe disponer de un sistema que permita determinar quien tiene acceso a qué dispositivos.

  * Tamaño de bloque; a los dispositivos de bloque los trata como si todos tuvieran el mismo tamaño de bloque (conocido como bloque lógico). El driver de cada uno de ellos es el encargado de comprobar si a cada uno de ellos le corresponde 1 o más sectores del disco.

  * Almacenamiento Intermedio; Si se solicita información de un bloque que está cargado en el caché su lectura no se ordena al driver pero si no está cargado en caché se ordena la lectura del bloque completo. (lecturas por adelantado).

 

*  SOFTWARE DE E/S EN ESPACIO DE USUARIO: Una porción pequeña del software de E/S se ejecuta a nivel de usuario. Consiste en bibliotecas que se enlazan con los programas de usuario. También el sistema de spooling o áreas de trabajo encolados, permite conseguir una explotación concurrente de dispositivos de acceso exclusivo, como por ejemplo la impresora.

 

 

PLANIFICACIÓN DE DISCO

 

Cuando la unidad de disco está operando, el disco gira a una velocidad constante. Para leer o escribir, la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente. Si el sistema es de cabezas móviles hay que mover la cabeza para elegir la pista. Si el sistema es de cabezas fijas, habrá que seleccionar electrónicamente una de ellas.

En un sistema de cabezas móviles, el tiempo que se tarda en ubicar la cabeza en la pista de llama tiempo de búsqueda. En cualquier caso, una vez que se ha seleccionado la pista, el controlador del disco esperará hasta que el sector apropiado se alinee con la cabeza en su rotación. El tiempo que tarda el comienzo del sector en llegar hasta la cabeza se conoce como retardo de giro o latencia de giro. La suma del tiempo de búsqueda y el retardo de giro es el tiempo de acceso, es decir, el tiempo que se tarda en llegar a la posición de lectura o escritura. Una vez que la cabeza está ubicada, se puede llevar a cabo la operación de lectura o escritura a medida que el  sector se mueve bajo la cabeza; esta es la parte de transferencia real de datos de la operación.

 

 

* POLÍTICAS DE PLANIFICACIÓN DE DISCOS

 

El objetivo es reducir los tiempos de acceso en la lectura o escritura de los datos. Además del tiempo de acceso y del tiempo de transferencia, existen algunos retrasos en las colas que normalmente tienen asociada una operación de E/S a disco. Cuando un proceso emite una solicitud de E/S, primero debe esperar en una cola a que el dispositivo esté disponible. En ese momento, el dispositivo queda asignado al proceso. Si el dispositivo comparte un único canal de E/S o un conjunto de canales con otras unidades del disco, puede producirse una espera adicional hasta que el canal esté disponible. En ese punto se realizará la búsqueda con que comienza el acceso al disco.

 

 

 

NOMBRE

DESCRIPCION

COMENTARIOS

Selección en función del demandante

RSS

Planificación aleatoria.

Para análisis y simulación.

FIFO

Primero en entrar, primero en salir.

El mas justo de todos.

PRI

Prioridad del proceso.

El control se lleva fuera de la gestión de la cola del disco.

LIFO

Último en entrar último en salir.

Maximiza uso de recursos y cercanías.

Selección en función del elemento solicitado

SSTF

Primero el mas corto.

Gran aprovechamiento y colas pequeñas.

SCAN

Recorre el disco de un lado a otro.

Mejor distribución del servicio.

C-SCAN

Recorre el disco en un solo sentido.

Menor variabilidad en el servicio.

SCAN de N-pasos

Scan de N registros a la vez.

Garantía de servicio.

F-SCAN

Scan de N pasos, con N = longitud de la cola al comienzo del ciclo del Scan.

Sensible a la carga.

 

SOFTWARE  RAID

 

   Con el uso de múltiples discos, existen varias formas que se pueden organizar los datos. Dificultando el desarrollo de esquemas de bases de datos  que se pueden utilizar en múltiples plataformas y S.O.  La industria a acordado un sistema estándar para el diseño de base de datos sobre múltiples discos, llamado RAID (Vector Redundante de Discos Independientes), este esquema consta de siete niveles que distinguen distintas arquitecturas de diseño, compartiendo tres características comunes:          

* RAID es un conjunto de unidades de disco físicos vistas por el S.O.  como una sola unidad lógica.

* Los datos están distribuidos a través de las unidades físicas del vector.

* La capacidad del disco redundante se utiliza para almacenar información de paridad, que garantiza la recuperabilidad de datos en caso de fallo del disco.

La estrategia RAID reemplaza unidades de disco de gran capacidad por múltiples discos de menor capacidad y distribuye los datos que luego son accedidos simultáneamente a ellos por múltiples discos, esto mejora el rendimiento de las E/S y aumenta su capacidad. Para compensar la disminución de la fiabilidad, RAID hace uso de la información de paridad almacenada, que permite la recuperación de los datos perdidos como consecuencia de un fallo del disco.

NIVELES RAID

 

*  NIVEL 0: Los usuarios y los datos del sistema están distribuidos a lo largo de todo el vector de discos, este esta dividido en bandas que pueden ser bloques físicos, sectores o alguna otra unidad. Al conjunto de bandas consecutivas lógicamente, se lo denomina franja. Presenta la ventaja de que si una única solicitud de E/S esta formada por múltiples bandas contiguas; estas podrán gestionarse en paralelo reduciendo la transferencia de E/S.

 

*  NIVEL 1: La redundancia de los datos se consigue duplicando los mismos, los datos son divididos de la misma forma que en RAID0; pero cada banda se corresponde con dos disco físicos independientes.

 

Aspectos positivos:

*  Una solicitud de lectura puede utilizar cualquiera de los dos discos que contienen los datos solicitados y que suponga menor tiempo sumando el de búsqueda y la latencia de giro.

*  Una solicitud de escritura requiere la actualización de las bandas correspondientes a ambos discos, solo se puede hacer en paralelo. Cuando se actualiza una sola banda, el software de gestión del vector de disco primero debe calcular y actualizar los bits de paridad y luego la banda real.

*  Cuando una unidad falla, los datos todavía están disponibles desde la segunda unidad.

 

Desventaja, su COSTE requiere dos veces el espacio de disco del disco lógico que soporta.

Puede conseguir altas tasas de solicitudes de E/S si las mismas son de lectura, cuyo rendimiento puede ser el doble que en RAID 0, pero si las solicitudes son de escritura su rendimiento talvez no será el mismo.

 

*  NIVEL 2: Este utiliza una técnica de acceso paralelo. Las bandas de este nivel son muy pequeñas, considerándolo como un único byte o palabra. Se utiliza un código HAMMING para corregir errores de un solo bit y la detección de errores de dos bit.

Cuando se requiere una solicitud de lectura todos los discos son accedidos simultáneamente, ocurriendo lo mismo con una solicitud de escritura y n este caso también son accedidos todos los discos de paridad.

RAID 2 solo será eficiente cuando se produzcan muchos errores en el disco.

 

*  NIVEL 3: Este requiere solo un disco redundante, emplea acceso paralelo. Cuando ha ocurrido algún error, se calcula un solo bit de paridad para el conjunto de bits en la misma posición de todos los discos de datos.

En el caso de un fallo de disco, se accede a la unidad de paridad y se reconstruyen los datos desde los dispositivos restantes.

Debido a que los datos están divididos en pequeñas bandas, RAID 3 puede conseguir una tasa de transferencia de datos muy alta. Cualquier solicitud de E/S involucrara una transferencia de datos en paralelo desde todos los discos de datos solo se puede ejecutar una solicitud de E/S. Disminuyendo el rendimiento en un entornó orientado a transacciones.

 

*  NIVEL 4: Utiliza una técnica de acceso independiente, por lo que se puede satisfacer las solicitudes de E/S individuales. Son mas apropiados para aplicaciones que requieren tasas altas de solicitudes de E/S, y son relativamente menos apropiados para aplicaciones que requieren tasas altas de transferencias de datos

 

*  NIVEL 5: Al igual que el RAID 4 se diferencia en la distribución de las bandas de pariedad a través de todos los discos, por lo tanto evita el potencial cuello de botella en la E/S del sistema RAID 4 que tiene solo un disco de paridad.

 

*  NIVEL 6: Se realizan dos cálculos distintos de pariedad, y se almacenan en bloques independientes de diferente discos, la ventaja es la disponibilidad de datos son extremadamente alta. Por otro lado sufre una importante penalización de escritura, porque cada escritura afecta a dos bloques de pariedad.

 

 

 

PRINCIPIOS DE SOFTWARE DE DISCO

 

El tiempo que se tarda desde que el Driver de disco programa al controlador para realizar la lectura de un sector, hasta que la información de este esta en la memoria:

 

T. POSICIONAMIENTO + T. LATENCIA + T. TRANSFERENCIA (buffer-controlador) + T. CHECKSUM + T. TRANSFERENCIA (controlador-memoria)

Normalmente el tiempo de CHECKSUM es despreciable. En algunos casos puede existir tiempos añadidos    si la información del disco esta cifrada y el algoritmo de cifrado/ descifrado lo incrementa el controlador, después de realizar el CHECKSUM  el controlador deberá descifrar los datos.

Características genéricas de los driver de disco son:

A: MEJORA EL TIEMPO DE ACCESO.

B: TRATAMIENTO DE ERRORES.

 

A: MEJORA EL TIEMPO DE ACCESO

 

T. ACCESO =  T. POSICIONAMIENTO + T. LATENCIA + T. TRANFERENCIA

 

De estos tres tiempos el mas significativo es el de posicionamiento. Cuando el driver permite ir almacenando peticiones pendientes mientras se trata la actual, se intenta reducir el tiempo medio de posicionamiento aplicando un algoritmo que decida que petición de las pendientes atender primero.

 

B: TRATAMIENTO DE ERRORES

 

Los discos están sometidos a una gran variedad de errores. Cuando se producen el controlador deberá avisar al driver para que tome la decisión pertinente. Los errores mas comunes son:

 

*        Errores de programación: El driver le indica al controlador que una pista, cilindro, sector que no  existe  o una dirección de memoria invalida. El controlador al detectar el error lo trasmite al driver. Este avisa al SW E/S independiente.

 

*         Errores de posicionamiento: Este error se produce por errores mecánicos del brazo de      lectura / escritura. El controlador de disco mantiene internamente cual es la posición del brazo de lectura / escritura en cada momento.

Para mover el brazo a otro cilindro manda un pulso a un motor por cada cilindro que quiera atravesar. Cuando llega al cilindro destino, lee el valor del cilindro actual (se grabo al principio de la pista al formatear el disco). Si la posición actual no coincide con la que se esperaba se produce un error de posicionamiento, este error suele corregirse recalibrando el brazo (lo manda al cilindro 0).

Esta acción puede realizarla el controlador o, si este no puede, el driver de disco (comando RECALIBRABLE)

 

*         Errores en el controlador de disco: puede darse la situación que el controlador se niegue a aceptar comandos del driver, en este caso el driver debe recetar el controlador.

 

 

DMA- ACCESO DIRECTO A MEMORIA

 

El acceso directo a memoria se inventó con el propósito de liberar al CPU de la carga de atender a algunos controladores de dispositivos, adecuada para grandes transferencias de datos. El controlador del periférico se comunica directamente con la memoria, sin intervención de al CPU. Se necesita un componente especial que supervise la transferencia, el encargado de esto es el controlador del DMA .

El controlador DMA contiene un registro de dirección, un registro de datos, un contador de palabras y una lógica de control.

* REGISTRO DE DIRECCIÓN: especifica la posición de memoria a usar como fuente o destino del dato a transferir

* REGISTRO DE DATOS: contiene el dato que esta en ruta entre la memoria y los periféricos

* CONTADOR DE PALABRAS : número de palabras de datos que quedan para ser transferidos en la operación de entrada / salida.

* LÓGICA DE CONTROL: se encarga de solicitar los buses a la CPU o provocar una interrupción. Tanto el registro de dirección como el contador de palabras se configuran como puertos de salida configurables tal que puedan ser inicializados por programas ejecutables en la CPU.

Cuando El periférico solicite o produzca un dato en la interfaz el controlador del DMA activa la línea de petición del DMA, la CPU responde a esta petición dejando los buses libres para que puedan ser usados, el controlador del DMA asume el control de los buses y procede a transferir datos directamente entre periférico y memoria, se ejecuta una rutina de inicialización, el registro de dirección se carga con la dirección de comienzo de la zona de memoria afectada por la transferencia, el registro contador de palabras se carga con el numero de palabras a ser transferidos, se van actualizando los registros según avanza la trasferencia, la cual finaliza cuando el contador de palabras se pone a cero. El controlador DMA indica el fin de la tarea enviando una petición de interrupción a la CPU, la CPU solo interviene al principio y al final de la transferencia

Existen varias formas de realizar el DMA según la estrategia de control de los buses que exista por parte del controlador del DMA, por ráfagas, por robo de ciclo, transparente y por demanda.

 

* POR RÁFAGAS: el controlador del DMA no libera los buses hasta que acaba la transferencia de un bloque completo de datos, se obtiene una alta velocidad en la transferencia, el procesador permanece inactivo largos periodos de tiempo, pues no pueden obtenerse instrucciones  de memoria mientras se produce la transferencia.

 

* POR ROBO DE CICLO: dispone de datos a transferir toma el control de los buses durante un ciclo de CPU en el que transmite una palabra, al transmitir la palabra cede los buses a la CPU que continua con su actividad normal hasta un nuevo robo, los buses se reparten entre controlador DMA y CPU, se alcanza menor velocidad de transferencia, la CPU mantiene su actividad a menor velocidad evitando periodos largos de tiempo inactiva.

* TRANSPARENTE: similar a robo de ciclo pero el controlador del DMA roba los buses a la CPU los ciclos en los que esta no los utiliza ( Por ejemplo: fase de decodificación de una instrucción, no disminuye la velocidad de procesamiento de la CPU, no llega a alcanzarse una buena velocidad de transferencia.

* POR DEMANDA: cuando el controlador DMA dispone de datos a transferir, solicita el control de los buses y los mantiene hasta que termina de enviar toda la información, alta velocidad de transferencia, baja velocidad de procesamiento de CPU.   

 

 

SINCRONIZACIÓN ENTRE CPU Y PERIFÉRICOS

* E/S DIRECTA

* PERIFÉRICOS PASIVOS

*   Siempre preparados

 

* E/S SINCRONIZADA

*  PERIFÉRICOS ACTIVOS

*   No siempre preparados

*  MECANISMOS BÁSICOS DE SINCRONIZACIÓN

*   Interrupciones

*   Iniciativa del periférico

*   Consulta de estado

*   Iniciativa de la CPU

 

E/S SINCRONIZADA

¿Cómo sabe la CPU si un periférico tiene un dato para transmitir o esta preparado para recibir?

 

*  POR CONSULTA DE ESTADO

*  La interfaz de E/S tiene un BIT de estado que indica si el periférico esta preparado para mandar / recibir datos.

*  La CPU debe consultar ese BIT y cuando esta activo transmitir el dato.

*  Problemas: Sistema lento y monopoliza la CPU.

 

*  POR INTERRUPCIONES

*  El interfaz interrumpirá al procesador cuando el periférico este preparado para mandar / recibir datos.

 

CONSULTA DE ESTADO

 

* La iniciativa la lleva la CPU.

* La CPU tiene todo el control y realiza todas las acciones.

* La CPU no sabe cuando un periférico esta preparado para enviar o recibir datos, y ejecuta continuamente instrucciones para comprobarlo.

* Mientras realiza consultas, la CPU no realiza otro trabajo

* El periférico puede estar preparado, y sin embargo debe esperar al próximo periodo de consulta.

 

INTERRUPCIONES

* El periférico lleva la iniciativa.

* Una interrupción de E/S es asíncrona con respecto a la ejecución de las instrucciones.

*  No esta asociada a ninguna instrucción.

* El periférico estará conectado a una línea de interrupciones del procesador.

* Se necesita especificar el identificador del periférico que realizara la interrupción.

* Es habitual que haya interrupciones más urgentes que otras, por lo que se requiere algún sistema de prioridades.

* Se requiere hardware especial (causar y detectar interrupción).

 

Proceso de Interrupción

 

*  Activación, por parte del periférico, de la línea de interrupción.

*  Suspensión de la ejecución del programa en curso:

*  Termina la instrucción en curso.

*  Almacenamiento del estado del procesador (PC y otros reg.).

*  Identificación de la fuente de la interrupción.

*  Carga y ejecución de la rutina de interrupción.

*  Recuperación del estado anterior a la interrupción.

*  Reanulación de la ejecución del programa interrumpido.

 

 

INTERRUPCIONES – CONSULTA DE ESTADO

 

*  Consulta de estado más lenta que interrupciones.

*            Se consume tiempo en realizar las consultas.

*            Los periféricos deben esperar a que se realice la consulta.

*            Un dispositivo puede estar listo para transmitir datos y debe esperarse al próximo

       Periodo de consulta.

*  Consulta de estado más rápida que interrupciones

*            No hay que salvar registros ( o al menos no tantos).

 

 

 

 

E/S POR CONSULTA DE ESTADO

E/S CONTROLADA POR INTERRUPC.

ACC. A MEMORIA

 

INICIACIÓN OP. E/S           

 

CPU

 

Periférico

 

Periférico

 

TRANSFERENCIA

 

"

 

CPU

 

CDMA

 

TERMINACIÓN OP. E/S

 

"

 

"

 

"

 

COMPLEJIDAD

 

La menor

 

Baja

 

Moderada

 

VELOCIDAD RESP. A UNA PETICIÓN E/S

 

Lenta

 

Rápida

 

La más rápida

 

VELOCIDAD DE TRANSF.

 

Moderada

 

Moderada

 

Alta

 

 

 

 

ALMACENAMIENTO INTERMEDIO

 

Un  proceso de usuario desea leer bloques de datos; serán leídos en un área de datos dentro del espacio de direcciones del proceso usuario, en una ubicación virtual. La forma más sencilla de hacerlo sería emitir una orden de E/S  y esperar que los datos estén disponibles.

Hay 2 problemas:

1º) El programa se queda colgado esperando que la operación de E/S termine.

2º) Este método de E/S interfiere en las decisiones de intercambio.

 Además existe el riesgo de interbloqueo con un solo procesador, para evitar la carga e incapacidad conviene transferir la entrada por adelantado a las peticiones y realizar las transferencias de salida un tiempo después de hacer la petición. Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering). Para considerar los distintos esquemas de almacenamiento intermedio es importante hacer una distinción entre dos tipos de dispositivos:

*   Dispositivos orientados a bloque

*   Dispositivos orientados a flujo.

Los distintos esquemas son:

*  Memoria Intermedia Sencilla: Cuando un proceso de usuario realiza una solicitud de E/S, el S.O. le asigna a la operación un espacio en la parte del sistema en la memoria principal.

      Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema (Por ej., para casos en que, el acceso a los datos se realizan en forma secuencial).

*Memoria Intermedia Doble: Se puede realizar una mejora a la memoria intermedia sencilla asignando a la operación dos almacenes intermedias del sistema. De esta forma, un proceso puede transferir datos hacia (o desde) una memoria intermedia mientras que el S.O. vacía (o rellena) el otro.

*  Memoria Intermedia Circular: Para un conjunto de memorias intermedias (mas de dos) se conoce con el nombre de memoria intermedia circular. Cada memoria intermedia individual constituye una unidad de memoria intermedia circular (Por ej. Se utiliza cuando el proceso realiza ráfagas de E/S).

 

                                            S.O                                       Proceso de usuario

Sin almacenamiento intermedio

 
 


Dispositivo de E/S                                                                                                   Entrar     

                                                                                                                                        

 

                                                                                           

                                                                                          

Almacenamiento intermedio sencillo

 
Dispositivo de E/S            Entrar

                                                                                                                                       

 

 

                                                                                             

Almacenamiento intermedio doble

 
                                 Entrar                          Mover

Dispositivo de E/S                                                                                                    

 

 

 

Almacenamiento intermedio circular

 

 
    

Dispositivo de E/S                                           Entrar                                             Mover     

 

 

 

 


E/S EN UNIX SVR4

 

En UNIX, cada dispositivo de E/S tiene asociado un archivo especial, gestionado por el sistema de archivos; así se ofrece una interfaz uniforme y bien definida con los usuarios y los procesos. En la Figura 1 se puede observar la estructura lógica del sistema de E/S.

En UNIX hay dos tipos de E/S: amortiguada y no amortiguada. La E/S amortiguada aprovecha los buffers del sistema, mientras que la no amortiguada utiliza DMA, realizando directamente la transferencia entre el módulo de E/S y la zona de E/S del proceso. Con E/S amortiguada se puede usar dos clases de memorias intermedias: sistemas de memoria cache y colas de caracteres.

 

*  CACHE DE BUFFER

La cache de buffer en UNIX es esencialmente una cache de disco. Como la cache de buffer y la zona de E/S del proceso residen ambas en la memoria principal, se usará DMA para llevar a cabo una copia de memoria a memoria. Esta acción no gastará ningún ciclo del procesador, pero consumirá ciclos del bus.

Cuando se hace una referencia a un número de bloque físico de un dispositivo en particular, el sistema operativo comprueba primero si el bloque está en el buffer de la cache. Para minimizar el tiempo de búsqueda, la lista de dispositivos se organiza como una tabla de dispersión.

Después de que se haya asignado un buffer a un bloque de disco, no podrá ser usado por otro bloque hasta que todos los demás buffers se hayan usado.

 

*  COLA DE CARACTERES

El dispositivo de E/S escribe en una cola de caracteres, de la que lee el proceso o, el proceso escribe y el dispositivo lee de ella. De esta manera, las colas de caracteres solo podrán ser leídas una sola vez; a medida que se lee cada carácter, éste es destruido. Este mecanismo es distinto al del buffer de la cache, donde se puede leer varias veces.

 

*  E/S NO AMORTIGUADA

Es el método más rápido de realizar E/S para un proceso. Los procesos que realizan E/S no amortiguada quedan bloqueados en la memoria principal y no pueden ser expulsados al disco. Esta condición reduce las oportunidades de expulsión inmovilizando parte de la memoria principal y reduciendo, por lo tanto, el rendimiento global del sistema. Además, el dispositivo de E/S se paraliza junto al procesador mientras dure la transferencia, quedando inasequible para otros procesos.

 

*  DISPOSITIVOS UNIX

UNIX reconoce cinco clases de dispositivos: Unidades de disco, Unidades de cinta, Terminales, Líneas de comunicación, Impresoras.

 

 

E/S EN WINDOWS 2000

 

El gestor de e/s es el responsable de todas las operaciones e/s para el sistema operativo y ofrece una interfaz uniforme a la que todos los tipos de controladores pueden llamar.

 

MODULOS BÁSICOS DE E/S.

El gestor de E/S esta formado por cuatro módulos .

* GESTOR DE CACHE: Este gestiona por completo el subsistema de E/S y ofrece un servicio de cache en la memoria principal para todos los sistemas de archivos y componentes de red. El tamaño de la cache se puede aumentar y disminuir debido a una actividad especial como la variada cantidad de memoria física disponible.

  Controlador del sistema de archivos: El gestor de e/s trata al controlador del sistema de

El gestor de cache ofrece dos servicios para mejorar la manera global del rendimiento:

*  Escritura retardada: El sistema actualiza los registros en la cache y no en el disco. Cuando la demanda del procesador es baja, el gestor del cache escribe los cambio en el disco. Si un bloque particular de la cache se actualiza mientras tanto,  se produce un ahorro en la red.

*  Confirmación retardada: en este el sistema de caches toma la información  comprometida y después la escribe en el sistema lógico de archivos para procesos antecedentes.

 

*  CONTROLADOR DEL SISTEMA DE ARCHIVOS: El gestor de e/s trata al controlador del sistema de archivos como otra unidad de dispositivo y encamina los mensajes para ciertos volúmenes a controladores de software adecuados para ese adaptador de dispositivo.

 

*  CONTROLADORES DE RED: W2K incluye una red integrada con capacidad y apoyo para aplicaciones distribuidas.

 

*  CONTROLADORES DE DISPOSITIVOS DE HARDWARE: Estos acceden a los registros hardware de los dispositivos periféricos a través de puntos de entradas en las bibliotecas de enlace dinámico del ejecutor de W2K , considerando que el código fuente de los controladores de los dispositivos de W2K es transferible entre los distintos tipos de procesadores.

 

E/S ASINCRONA Y SINCRONÍA

W2K ofrece dos modos de operación de E/S: ASÍNCRONO Y SINCRONO.

El modo ASÍNCRONO se utiliza para optimizar el rendimiento de una aplicación la cual inicia

una operación de E/S y entonces puede continuar ejecutando mientras la solicitud de E/S se completa.

Con E/S SINCRONÍA, la aplicación se bloquea hasta que finaliza la operación de E/S.

La E/S ASINCRONA es más eficiente porque permite a el hilo continuar su ejecución, mientras el gestor de E/S pone en cola la operación y la realiza mas tarde, mientras que la aplicación que llama operación de E/S asíncrona necesita determinar de algún modo cuando finaliza la operación.

 

W2K ofrece cuatro técnicas para señalizar la finalización de E/S:

 

* 

*   Señalizar un objeto dispositivo del núcleo: se activa un indicador asociado a un objeto dispositivo cuando una operación sobre ese objeto finaliza. El hilo que llama a la operación de E/S puede continuar la ejecución hasta que alcanza un punto donde debe parar hasta que la operación de E/S termine. En ese punto el hilo puede esperar hasta que termine la operación y entonces continuar.

*  *  Señalizar un objeto suceso del núcleo: esta técnica permite múltiples solicitudes de E/S simultaneas contra un solo dispositivo o archivo. El hilo crea un suceso para cada solicitud luego el hilo puede esperar a una sola de estas solicitudes o a todo el conjunto de solicitudes.

*  * E/S alterable: esta técnica hace uso de una cola asociada a un hilo, conocida como cola llamada a procedimiento asíncrono, en donde el hilo hace solicitudes de E/S y  el gestor de E/S sitúa los resultados de estas solicitudes en la cola APC de los hilos llamadores.

*  * Puertos de finalización de E/S : esta técnica se usa en w2k para optimizar el  uso e hilos, ósea que hay una reserva de hilos disponibles para su uso , así que no es necesario crear un *nuevo hilo para gestionar una nueva  solicitud.

 

SOFTWARE RAID

W2K soporta dos clases de configuraciones RAID

W2K soporta dos clases de configuraciones RAID

*  RAID DE HARDWARE: Disco físico independiente combinado en uno o ms discos lógicos por medio del controlador de disco o un hardware de armario de almacenamiento  en disco. En este la interfaz del controlador gestiona la creación y regeneración de la información redundante.

 

*  RAID POR SOFTWARE: Espacio de disco no contiguo combinado en una o más particiones lógicas por el conductor de disco del software de tolerancia a fallos. Este implementa la funcionalidad de RAID como parte del S.O. y se puede usar con cualquier conjunto de varios discos.

Las principales características del sistema operativo base de la tecnología.Net Enterprise Server es el siguiente:

*  FIABILIDAD, ofrece una fiabilidad del 99.999, es decir menos de 6 minutos de parada al año.

*  ESCALABILIDAD, permite crear Clusters de hasta 32 nodos admitiendo hasta 32 procesadores por servidor.

*  RENDIMIENTO, la plataforma Windows 2000, junto con la familia de servidores Microsoft dispone de los mejores registros en el ranking de rendimiento de transacciones por minuto TPC (Transaction Processing Council).

*  COSTES, los costes de las Sistemas informáticos basados en tecnología Microsoft son mucho más bajos que cualquier otro en todos los aspectos (Personal técnico, hardware necesario, desarrollo del proyecto, manejabilidad de los sistemas, soporte, aceptabilidad por parte de los empleados, formación a empleados, tareas de administración, tareas de actualización,...). Solicite información sobre la metodología de análisis de viabilidad REJ( Justificación Económica Rápida).

*  MANEJABILIDAD Y ACEPTACIÓN, es más fácil de implementar, administrar y usar, y además tiene mayor grado de aceptación entre los empleados.

 

Requerimientos del Sistema

Procesador

133 MHz o CPU Pentium de mayor capacidad

Memoria

256 megabytes (MB) de RAM mínimo recomendado [128 MB mínimo soportado; 4 gigabytes (GB) Máximo]

Disco Duro

2 GB de disco duro con un mínimo de 1.0 GB de espacio libre. (Se necesita este espacio libre en el disco duro si el sistema se instala sobre una red)

CPU

Windows 2000 Server soporta hasta 4 CPUs en una máquina

 

 

Evaluación del Modelo I/O

*  PORTABILIDAD

*  FLEXIBILIDAD

*  ESCALABILIDAD

*  TRANSPARENCIA

*  PORTABILIDAD

 No deberían existir problemas de portabilidad vinculados a los mappers, dado que justamente estos realizan conversiones entre formatos estándar. Donde si existirán problemas relacionados a la portabilidad es en los dispositivos. La idea claro está, es confinarlos a estos.           ¿Cómo lograr este cometido? Nuestra solución se basa en ver los dispositivos a través de un conjunto de interfaces bien definidas, que deben ser usadas en el desarrollo de las aplicaciones. De esta forma la aplicación debería funcionar independientemente de la implementación concreta del dispositivo; dígase: "Funcionar en forma independiente de los detalles específicos del ambiente", siempre y cuando existan implementaciones de los dispositivos, compatibles con los detalles del caso.

*  FLEXIBILIDAD

Un sistema concebido hasta ahora como un par de familias ortogonales y fuertemente jerarquizadas, es sin duda una excelente solución si de crecer estamos hablando. Pensemos en el problema de incluir un nuevo MAPPER para reconocer formato BMP. Esta tarea se limitaría a agregar una hoja en el árbol de herencia, implementando los métodos definidos en la interface correspondiente, sin tener que cuestionarse siquiera la existencia de otros componentes del sistema.

*  ESCALABILIDAD.

En complemento resulta cómodo extender mediante especializaciones la interface establecida en principio. Pensemos en BICOTIDEVICE, la posibilidad de extender la interface para incluir elementos típicos de visualización, o la de sobre-extenderlo para destacar características particulares de la dimensión es un ejemplo del grado de escalabilidad alcanzable.

*      TRANSPARENCIA

La posibilidad de resolver los problemas a través de un pequeño grupo de interfaces abstractas, logra en sí mismo el objetivo de transparencia.

 


 

 

ÍNDICE

 

 

*   INTRODUCCIÓN

 

*   DISPOSITIVOS DE E/S

 

*   DIRECCIONAMIENTO

 

*   CONTROLADORES

 

*   SOFTWARE DE E/S

 

*   PLANIFICACIÓN DE DISCO

 

*   SOFTWARE RAID

 

*   PRINCIPIO DE SOFTWARE DE DISCO

 

*   DMA – ACCESO DIRECTO A MEMORIA

 

*   SINCRONIZACION ENTRE CPU Y PERIFÉRICOS

 

*   ALMACENAMIENTO INTERMEDIO

 

*   E/S EN UNIX SVR4

 

*   E/S WINDOWS 2000

 

*   EVALUACION I/O

 

 

                      

   Anterior          Índice          Siguiente

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:    

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