Está en la página 1de 29

Dispositivos de entrada y salida: En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces

que usan las distintas unidades funcionales (subsistemas) de unsistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces. Las entradas son las seales recibidas por la unidad, mientras que las salidas son las seales enviadas por sta. El trmino puede ser usado para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos tpicos para la comunicacin entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los mdems y tarjetas de red. Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada. En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instruccionesindividuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos. Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas. Una alternativa para las funciones primitivas especiales es la mnada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introduciran un efecto colateral para cualquier lenguaje de programacin, pero ahora una programacin puramente funcional resultara prctica.

Arquitectura de sistema e/s El sistema de entrada y salida est construido como un conjunto de manejadores apilados, cada uno de los cuales est asociado a un dispositivo de entrada/salida (archivos, red, etc.). Ofrece a las aplicaciones y entornos de ejecucin servicios genricos que permiten manejar los objetos de E/S del sistema. A travs de ellos se puede acceder a todos los manejadores de archivos y de dispositivos tales como: discos, redes, consola, tarjetas de sonido, etc.

La arquitectura de E/S, es compleja y est estructurada en capas, cada una de las cuales tiene una funcionalidad bien definida.

Tipos de dispositivos de entrada y salida: Manejo de Entrada y Salida El cdigo destinado a manejar la entrada y salida de los diferentes perifricos en un sistema operativo es de una extensin considerable y sumamente complejo. Resuelve las necesidades de sincronizar, atrapar interrupciones y ofrecer llamadas al sistema para los programadores. Los dispositivos de entrada salida se dividen, en general, en dos tipos: dispositivos orientados a bloques y dispositivos orientados a caracteres.

Orientados a bloques:Los dispositivos orientados a bloques tienen la propiedad de que se pueden direccionar, esto es, el programador puede escribir o leer cualquier bloque del dispositivo realizando primero una operacin de posicionamiento sobre el dispositivo. Los dispositivos ms comunes orientados a bloques son los discos duros, la memoria, discos compactos y, posiblemente, unidades de cinta. Orientados a caracteres:Los dispositivos orientados a caracteres son aquellos que trabajan con secuencias de bytes sin importar su longitud ni ninguna agrupacin en especial. No son dispositivos direccionables. Ejemplos de estos dispositivos son el teclado, la pantalla o display y las impresoras.

La clasificacin anterior no es perfecta, porque existen varios dispositivos que generan entrada o salida que no pueden englobarse en esas categoras. Por ejemplo, un reloj que genera pulsos. Sin embargo, aunque existan algunos perifricos que no se puedan categorizar, todos estn administrados por el sistema operativo por medio de una parte electrnica - mecnica y una parte de software.

administracin de Entrada y Salida E/S El subsistema de administracin de entrada y salida controla todas las entradas y salidas del sistema informtico. Para la seguridad, las tareas ms importantes que lleva a cabo el subsistema de administracin de entrada y salida son:

y y

Administrar la transferencia de datos. Aplicar los controles de acceso (los mecanismos DAC) a los datos mientras se estn transfiriendo. Durante la transferencia de bloques o secuencias de datos, y durante la operacin de E/S de caracteres, cada transaccin de E/S est completamente separada de las dems. Esta transaccin sigue una ruta bien conocida y definida; por tanto, la integridad de todos los datos se mantiene durante las transacciones con datos. Adems, se imponen los permisos DAC, que protegen los datos contra accesos no autorizados.

La planificacin de E/S o de entrada y salida hace referencia a la organizacin que realiza un sistema operativo respecto del orden en que las diversas peticiones de lectura y escritura sern ejecutadas. Es decir, la prioridad que otorgar a las distintas unidades de input y output. El funcionamiento de estos dispositivos depende de su propsito, pero tambin puede variar y ser, alternativamente, de entrada, o bien, de salida. Por ejemplo, para un teclado el movimiento de la mano del usuario es una entrada de datos, mientras que la seal elctrica que envan al ordenador es una salida. Lo mismo ocurre con casi cualquiera de estos aparatos. Hoy en da es prcticamente imposible el uso de un ordenador sin el empleo de uno o ms dispositivos de esta ndole. Muchos de ellos permiten no slo convertir informacin y agilizar el uso de las funcionalidades de una computadora, sino tambin conectarla con otros ordenadores, brindarle acceso a Internet, operar con dispositivos analgicos y hasta combinar sus funciones entre s. La planificacin de E/S o de entrada y salida hace referencia a la organizacin que realiza un sistema operativo respecto del orden en que las diversas peticiones de lectura y escritura sern ejecutadas. Es decir, la prioridad que otorgar a las distintas unidades de input y output.

Introduccin Una de las funciones principales de un S. O. es el control de todos los dispositivos de e / s de la computadora . Las principales funciones relacionadas son:

y y y y o o

Enviar comandos a los dispositivos. Detectar las interrupciones. Controlar los errores. Proporcionar una interfaz entre los dispositivos y el resto del sistema: Debe ser sencilla y fcil de usar. Debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo).

El cdigo de e / s representa una fraccin significativa del S. O. El uso inapropiado de los dispositivos de e / s frecuentemente genera ineficiencias del sistema, lo que afecta la performance global. 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

y y y

Comandos que acepta el hardware. Funciones que realiza. Errores que puede informar.

Dispositivos de E / S Se pueden clasificar en dos grandes categoras:

y y

Dispositivos de bloque. Dispositivos de caracter.

Las principales caractersticas de los dispositivos de bloque son:

y y y y y

La informacin se almacena en bloques de tamao fijo. Cada bloque tiene su propia direccin. Los tamaos ms comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. Se puede leer o escribir en un bloque de forma independiente de los dems, en cualquier momento. Un ejemplo tpico de dispositivos de bloque son los discos.

Las principales caractersticas de los dispositivos de caracter son:

y y y y

La informacin se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones. No tienen una operacin de bsqueda. Un ejemplos tpico de dispositivos de caracter son las impresoras de lnea, terminales, interfaces de una red, ratones, etc.

Algunos dispositivos no se ajustan a este esquema de clasificacin, 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. Controladores de Dispositivos Las unidades de e / s generalmente constan de:

y y

Un componente mecnico. Un componente electrnico, el controlador del dispositivo o adaptador.

Muchos controladores pueden manejar ms de un dispositivo. El S. O. generalmente trabaja con el controlador y no con el dispositivo. Los modelos ms frecuentes de comunicacin entre la cpu y los controladores son:

y o y o

Para la mayora de las micro y mini computadoras: Modelo de bus del sistema. Para la mayora de los mainframes: Modelo de varios buses y computadoras especializadas en e / s llamadas canales de e / s. La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:

y o o o y o o

La comunicacin es mediante un flujo de bits en serie que: Comienza con un prembulo. Sigue con una serie de bits (de un sector de disco, por ej.). Concluye con una suma para verificacin o un cdigo corrector de errores. El prembulo: Se escribe al dar formato al disco. Contiene el nmero de cilindro y sector, el tamao de sector y otros datos similares. El controlador debe:

y y y

Convertir el flujo de bits en serie en un bloque de bytes. Efectuar cualquier correccin de errores necesaria. Copiar el bloque en la memoria principal. Cada controlador posee registros que utiliza para comunicarse con la cpu:

y y

Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria. Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de l. El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parmetros de los comandos tambin 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 interrupcin para permitir que el S. O.:

y y

Obtenga el control de la cpu. Verifique los resultados de la operacin. La cpu obtiene los resultados y el estado del dispositivo al leer uno o ms bytes de informacin de los registros del controlador. Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupcin en la PC IBM pueden verse en la Tabla 5.1

Controlador de e / s Reloj Teclado Disco duro Impresora Disco flexible Rs232 primario Rs232 secundario

Direccin de e / s 040 - 043 060 - 063 320 - 32f 378 - 37f 3f0 - 3f7 3f8 - 3ff 2f8 - 2ff

Vector de interrupciones 8 9 13 15 14 12 11

Tabla 5.1: Controladores de e / s, direcciones de e / s y vector de interrupciones.

Acceso Directo a Memoria (DMA) Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA. Si se lee el disco sin DMA:

y y y y

El controlador lee en serie el bloque (uno o ms sectores) de la unidad: o La lectura es bit por bit. o Los bits del bloque se graban en el buffer interno del controlador. Se calcula la suma de verificacin para corroborar que no existen errores de lectura. El controlador provoca una interrupcin. El S. O. lee el bloque del disco por medio del buffer del controlador: o La lectura es por byte o palabra a la vez. o En cada iteracin de este ciclo se lee un byte o una palabra del registro del controlador y se almacena en memoria. Se desperdicia tiempo de la cpu.

DMA se ide para liberar a la cpu de este trabajo de bajo nivel. La cpu le proporciona al controlador:

y y y

La direccin del bloque en el disco. La direccin en memoria adonde debe ir el bloque. El nmero de bytes por transferir.

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

y y y y y

Copia el primer byte o palabra a la memoria principal. Lo hace en la direccin especificada por medio de la direccin de memoria de DMA. Incrementa la direccin DMA y decrementa el contador DMA en el nmero de bytes que acaba de transferir. Se repite este proceso hasta que el contador se anula y por lo tanto el controlador provoca una interrupcin. Al iniciar su ejecucin el S. O. luego de la interrupcin provocada, no debe copiar el bloque en la memoria, porque ya se encuentra ah (ver Figura 5.1

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

y y y

Los bits siguen llegando del disco constantemente. No interesa si el controlador est listo o no para recibirlos. Si el controlador intentara escribir los datos en la memoria directamente: o Tendra que recurrir al bus del sistema para c / u de las palabras (o bytes) transferidas. o El bus podra estar ocupado por otro dispositivo y el controlador debera esperar.

Si la siguiente palabra llegara antes de que la anterior hubiera sido almacenada, el controlador la tendra que almacenar en alguna parte. Si el bloque se guarda en un buffer interno:

y y

El bus no se necesita sino hasta que el DMA comienza. La transferencia DMA a la memoria ya no es un aspecto crtico del tiempo. Los controladores simples no pueden atender la e / s simultnea:

y y y o o      

Mientras transfieren a la memoria, el sector que pasa debajo de la cabeza del disco se pierde; es decir que el bloque siguiente al recin ledo se pierde. La lectura de una pista completa se har en dos rotaciones completas, una para los bloques pares y otra para los impares. Si el tiempo necesario para una transferencia de un bloque del controlador a la memoria por medio del bus es mayor que el tiempo necesario para leer un bloque del disco: Sera necesario leer un bloque y luego saltar dos o ms bloques. El salto de bloques: Se ejecuta para darle tiempo al controlador para la transferencia de los datos a la memoria. Se llama separacin. Al formatear el disco, los bloques se numeran tomando en cuenta el factor de separacin (ver Figura 5.2 Esto permite al S. O.: Leer los bloques con numeracin consecutiva. Conservar la mxima velocidad posible del hardware.

Principios del Software de E / S La idea bsica es organizar el software como una serie de capas donde

y y

Las capas inferiores se encarguen de ocultar las peculiaridades del hardware a las capas superiores. Las capas superiores deben presentar una interfaz agradable, limpia y regular a los usuarios. Objetivos del Software de E / S Un concepto clave es la independencia del dispositivo:

y y

Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo. El problema debe ser resuelto por el S. O. 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:

y y y

Generalmente los errores deben manejarse lo ms cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperacin se puede hacer en un nivel inferior y de forma transparente.

Otro aspecto clave son las transferencias sncronas (por bloques) o asncronas (controlada por interruptores):

y y

La mayora de la e / s es asncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupcin. La programacin es ms fcil si la e / s es sncrona (por bloques): el programa se suspende automticamente hasta que los datos estn disponibles en el buffer.

El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario. Tambin 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

y y y y

Manejadores de interrupciones. Directivas de dispositivos. Software de S. O. independiente de los dispositivos. Software a nivel usuario.

Manejadores de Interrupciones Las interrupciones deben ocultarse en el S. O.:

y y

Cada proceso que inicie una operacin de e / s se bloquea hasta que termina la e / s y ocurra la interrupcin. El procedimiento de interrupcin realiza lo necesario para desbloquear el proceso que lo inicio.

Manejadores de Dispositivos Todo el cdigo que depende de los dispositivos aparece en los manejadores de dispositivos. Cada controlador posee uno o ms registros de dispositivos:

y y

Se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su ejecucin adecuada. La labor de un manejador de dispositivos es la de:

y y

Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. Verificar la ejecucin de dichas solicitudes. 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 trminos abstractos a trminos concretos:

y o o o o o o o o o o

El manejador de disco debe: Estimar el lugar donde se encuentra en realidad el bloque solicitado. Verificar si el motor de la unidad funciona. Verificar si el brazo est colocado en el cilindro adecuado, etc. Resumiendo: debe decidir cules son las operaciones necesarias del controlador y su orden. Enva los comandos al controlador al escribir en los registros de dispositivo del mismo. Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupcin lo libera de este bloqueo. Al finalizar la operacin debe verificar los errores. Si todo esta o.k. transferir los datos al software independiente del dispositivo. Regresa informacin de estado sobre los errores a quien lo llam. Inicia otra solicitud pendiente o queda en espera. Software de E / S Independiente del Dispositivo Funciones generalmente realizadas por el software independiente del dispositivo:

y y y y y y y y

Interfaz uniforme para los manejadores de dispositivos. Nombres de los dispositivos. Proteccin del dispositivo. Proporcionar un tamao de bloque independiente del dispositivo. Uso de buffers. Asignacin de espacio en los dispositivos por bloques. Asignacin y liberacin de los dispositivos de uso exclusivo. Informe de errores. Las funciones bsicas del software independiente del dispositivo son:

y y

Efectuar las funciones de e / s comunes a todos los dispositivos. Proporcionar una interfaz uniforme del software a nivel usuario.

El software independiente del dispositivo asocia los nombres simblicos de los dispositivos con el nombre adecuado. Un nombre de dispositivo determina de manera nica el nodo-i de un archivo especial:

y y

Este nodo-i contiene el nmero principal del dispositivo, que se utiliza para localizar el manejador apropiado. El nodo-i contiene tambin el nmero secundario de dispositivo, que se transfiere como parmetro al manejador para determinar la unidad por leer o escribir.

El software independiente del dispositivo debe:

y y

Ocultar a los niveles superiores los diferentes tamaos de sector de los distintos discos. Proporcionar un tamao uniforme de los bloques, por ej.: considerar varios sectores fsicos como un solo bloque lgico.

Software de E / S en el Espacio del Usuario La mayora del software de e / s est dentro del S. O. Una pequea parte consta de bibliotecas ligadas entre s con los programas del usuario. La biblioteca estndar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario. Otra categora 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 multiprogramacin:

y y y y

El ejemplo tpico lo constituye la impresora de lneas. Los procesos de usuario no abren el archivo correspondiente a la impresora. Se crea un proceso especial, llamado demonio en algunos sistemas. Se crea un directorio de spooling.

Para imprimir un archivo:

y y y

Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling. El proceso especial, nico con permiso para utilizar el archivo especial de la impresora, debe imprimir los archivos en el directorio. Se evita el posible problema de tener un proceso de usuario que mantenga un recurso tomado largo tiempo.

Un esquema similar tambin es aplicable para la transferencia de archivos entre equipos conectados:

y y

Un usuario coloca un archivo en un directorio de spooling de la red. Posteriormente, el proceso especial lo toma y transmite. Un ej. son los sistemas de correo electrnico.

Discos - Hardware Para Discos Discos Las siguientes son las principales ventajas con respecto del uso de la memoria principal como almacenamiento

y y

Mucho mayor capacidad de espacio de almacenamiento. Menor precio por bit.

La informacin no se pierde al apagar la computadora. Un uso inapropiado de los discos puede generar ineficiencia, en especial en sistemas con multiprogramacin. Hardware Para Discos Los discos estn organizados en cilindros, pistas y sectores. El nmero tpico de sectores por pista vara entre 8 y 32 (o ms). Todos los sectores tienen igual nmero de bytes. Los sectores cercanos a la orilla del disco sern mayores fsicamente que los cercanos al anillo. Un controlador puede realizar bsquedas en una o ms unidades al mismo tiempo:

y y

Son las bsquedas traslapadas. Mientras el controlador y el software esperan el fin de una bsqueda en una unidad, el controlador puede iniciar una bsqueda en otra. Muchos controladores pueden:

y y

Leer o escribir en una unidad. Buscar en otra. Los controladores no pueden leer o escribir en dos unidades al mismo tiempo. La capacidad de bsquedas traslapadas puede reducir considerablemente el tiempo promedio de acceso.

Operacin de Almacenamiento de Disco de Cabeza Mvil Los datos se graban en una serie de discos magnticos o platos El eje comn de los discos gira a una velocidad del orden de las 4.000 o ms revoluciones por minuto.

Se lee o escribe mediante una serie de cabezas de lectura - escritura (ver Figura 5.4

y y

Se dispone de una por cada superficie de disco. Solo puede acceder a datos inmediatamente adyacentes a ella: o La parte de la superficie del disco de donde se leer (o sobre la que se grabar) debe rotar hasta situarse inmediatamente debajo (o arriba) de la cabeza de lectura - escritura. o El tiempo de rotacin desde la posicin actual hasta la adyacente al cabezal se llama tiempo de latencia.

Todas las cabezas de lectura - escritura estn montadas sobre una barra o conjunto de brazo mvil:

y y

Puede moverse hacia adentro o hacia afuera, en lo que se denomina operacin de bsqueda. Para una posicin dada, la serie de pistas accesibles forman un cilindro vertical.

A los tiempos de bsqueda y de latencia se debe agregar el tiempo de transmisin propiamente dicha (ver Figura 5.

El tiempo total de acceso a un registro particular:

y y

Involucra movimientos mecnicos. Generalmente es del orden de centsimas de segundo, aunque el tiempo de latencia sea de algunas milsimas de segundo (7 a 12 aproximadamente). Algoritmos de Programacin del Brazo del Disco En la mayora de los discos, el tiempo de bsqueda supera al de retraso rotacional y al de transferencia debido a ello, la reduccin del tiempo promedio de bsqueda 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 bsqueda. Es posible que mientras el brazo realiza una bsqueda para una solicitud, otros procesos generen otras solicitudes. Muchos manejadores tienen una tabla:

y y y o o o

El ndice es el nmero de cilindro. Incluye las solicitudes pendientes para cada cilindro enlazadas entre s en una lista ligada. Cuando concluye una bsqueda, el manejador del disco tiene la opcin de elegir la siguiente solicitud a dar paso: Se atiende primero la solicitud ms cercana, para minimizar el tiempo de bsqueda. Este algoritmo se denomina primero la bsqueda ms corta (SSF: shor-test seek first). Reduce a la mitad el nmero de movimientos del brazo en comparacin con FCFS. Ej. de SSF:

y y y y y o o

Consideramos un disco de 40 cilindros. Se presenta una solicitud de lectura de un bloque en el cilindro 11. Durante la bsqueda, llegan solicitudes para los cilindros 1, 36, 16, 34, 9 y 12, en ese orden. La secuencia de bsqueda SSF ser: 12, 9, 16, 1, 34, 36. Habr un nmero de movimientos del brazo para un total de: 111 cilindros segn FCFS. 61 cilindros segn SSF.

El algoritmo SSF tiene el siguiente problema:

y y y

El ingreso de nuevas solicitudes puede demorar la atencin de las ms antiguas. Con un disco muy cargado, el brazo tender a permanecer a la mitad del disco la mayora del tiempo, como consecuencia de ello las solicitudes lejanas a la mitad del disco tendrn un mal servicio. Entran en conflicto los objetivos de: o Tiempo mnimo de respuesta. o Justicia en la atencin.

La solucin a este problema la brinda el algoritmo del elevador (por su analoga con el ascensor o elevador):

y y

Se mantiene el movimiento del brazo en la misma direccin, hasta que no tiene ms solicitudes pendientes en esa direccin; entonces cambia de direccin. El software debe conservar el bit de direccin actual.

Ej. del algoritmo del elevador para el caso anterior, con el valor inicial arriba del bit de direccin:

y y

El orden de servicio a los cilindros es: 12, 16, 34, 36, 9 y 1. El nmero de movimientos del brazo corresponde a 60 cilindros.

El algoritmo del elevador:

y y y

Ocasionalmente es mejor que el algoritmo SSF. Generalmente es peor que SSF. Dada cualquier coleccin de solicitudes, la cuota mxima del total de movimientos est fija, siendo el doble del nmero de cilindros.

Una variante consiste en rastrear siempre en la misma direccin:

Luego de servir al cilindro con el nmero mayor: o El brazo pasa al cilindro de nmero menor con una solicitud pendiente. o Contina su movimiento hacia arriba.

Algunos controladores de disco permiten que el software inspeccione el nmero del sector activo debajo del cabezal:

Si dos o ms solicitudes para el mismo cilindro estn pendientes: o El manejador puede enviar una solicitud para el sector que pasar debajo del cabezal. o Se pueden hacer solicitudes consecutivas de distintas pistas de un mismo cilindro, sin generar un movimiento del brazo.

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 bsquedas traslapadas. Cuando termina la transferencia actual se verifica si las unidades estn en la posicin del cilindro correcto:

y y

Si una o ms unidades lo estn, se puede iniciar la siguiente transferencia en una unidad ya posicionada. Si ninguno de los brazos est posicionado, el manejador: o Debe realizar una nueva bsqueda en la unidad que termin la transferencia. o Debe esperar hasta la siguiente interrupcin para ver cul brazo se posiciona primero.

Generalmente, las mejoras tecnolgicas de los discos:

Acortan los tiempos de bsqueda (seek).

y y y

No acortan los tiempos de demora rotacional (search). En algunos discos, el tiempo promedio de bsqueda ya es menor que el retraso rotacional. El factor dominante ser el retraso rotacional, por lo tanto, los algoritmos que optimizan los tiempos de bsqueda (como el algoritmo del elevador) perdern importancia frente a los algoritmos que optimicen el retraso rotacional. Una tecnologa importante es la que permite el trabajo conjunto de varios discos. Una configuracin interesante es la de treinta y ocho (38) unidades ejecutndose en paralelo. Cuando se realiza una operacin de lectura:

y y y y y o o

Ingresan a la cpu 38 bit a la vez, uno por cada unidad. Los 38 bits conforman una palabra de 32 bits junto con 6 bits para verificacin. Los bits 1, 2, 4, 8, 16 y 32 se utilizan como bits de paridad. La palabra de 38 bits se puede codificar mediante el cdigo Hamming, que es un cdigo corrector de errores. Si una unidad sale de servicio: Se pierde un bit de cada palabra. El sistema puede continuar trabajando; se debe a que los cdigos Hamming se pueden recuperar de un bit perdido. Este diseo se conoce como RAID; siglas en ingls de arreglo redundante de discos no costosos. Porqu es Necesaria la Planificacin de Discos En los sistemas de multiprogramacin muchos procesos pueden estar generando peticiones de e / s sobre discos :

y o o

La generacin de peticiones puede ser mucho ms rpida que la atencin de las mismas: Se construyen lneas de espera o colas para cada dispositivo. Para reducir el tiempo de bsqueda de registros se ordena la cola de peticiones: esto se denomina planificacin de disco. La planificacin de disco implica:

y y y

Un examen cuidadoso de las peticiones pendientes para determinar la forma ms eficiente de servirlas. Un anlisis de las relaciones posicionales entre las peticiones en espera. Un reordenamiento de la cola de peticiones para servirlas minimizando los movimientos mecnicos. Los tipos ms comunes de planificacin son:

y y

Optimizacin de la bsqueda. Optimizacin rotacional (latencia). Generalmente los tiempos de bsqueda superan a los de latencia, aunque la diferencia disminuye:

y y

Muchos algoritmos de planificacin se concentran en la reduccin de los tiempos de bsqueda para un conjunto de peticiones. Generalmente la reduccin de la latencia recin tiene efectos bajo cargas de trabajo muy pesadas. Bajo condiciones de carga ligera (promedio bajo de longitud de la cola), es aceptable el desempeo del mtodo FCFS (primero en llegar, primero en ser servido). Bajo condiciones de carga media o pesada, es recomendable un algoritmo de planificacin de las colas de requerimientos.

Caractersticas Deseables de las Polticas de Planificacin de Discos Los principales criterios de categorizacin de las polticas de planificacin son

y y y

Capacidad de ejecucin. Media del tiempo de respuesta. Varianza de los tiempos de respuesta (predecibilidad).

Una poltica de planificacin debe intentar maximizar la capacidad de ejecucin:

y y y

Maximizar el nmero de peticiones servidas por unidad de tiempo. Minimizar la media del tiempo de respuesta. Mejorar el rendimiento global, quizs a costa de las peticiones individuales.

La planificacin suele mejorar la imagen total al tiempo que reduce los niveles de servicio de ciertas peticiones:

y y y y y

Se mide utilizando la varianza de los tiempos de respuesta. La varianza es un trmino estadstico que indica hasta qu punto tienden a desviarse del promedio de todos los elementos los elementos individuales. A menor varianza mayor predecibilidad. Se desea una poltica de planificacin que minimice la varianza, es decir que maximice la predecibilidad. No debe haber peticiones que puedan experimentar niveles de servicio errticos.

Optimizacin de la Bsqueda en Discos Las estrategias ms comunes de optimizacin de la bsqueda son las siguientes

y y y y y y

FCFS. SSTF. SCAN. SCAN de N - Pasos. C - SCAN. Esquema Eschenbach.

Planificacin FCFS (Primero en Llegar, Primero en Ser Servido) Una peticin no puede ser desplazada por la llegada de una peticin con prioridad ms alta. No hay reordenamiento de la cola de peticiones pendientes. Se ignoran las relaciones posicionales entre las peticiones pendientes. Ofrece una varianza pequea aunque perjudica a las peticiones situadas al final de la cola. Planificacin SSTF (Menor Tiempo de Bsqueda Primero) El brazo del disco se sita en la siguiente peticin 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 ms 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.

Planificacin SCAN El brazo del disco se desplaza sirviendo a todas las peticiones que encuentra a su paso. Cambia de direccin cuando ya no hay peticiones pendientes en la direccin actual. Ha sido la base de la mayora de las estrategias de planificacin 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. Planificacin 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 sern atendidas durante el recorrido de regreso. Posee menor varianza de los tiempos planificaciones SSTF y SCAN convencionales. Planificacin C - SCAN (Bsqueda Circular) El brazo se mueve del cilindro exterior al interior, sirviendo a las peticiones sobre una base de bsqueda ms corta. Finalizado el recorrido hacia el interior, salta a la peticin ms 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 pequea. Esquema Eschenbach El brazo del disco se mueve como en C - SCAN, pero: de respuesta si se compara con las

y y

Las peticiones se reordenan para ser servidas dentro de un cilindro para tomar ventaja de la posicin rotacional. Si dos peticiones trasladan posiciones de sectores dentro de un cilindro, solo se sirve una en el movimiento actual del brazo del disco. Esta estrategia tiene en cuenta el retraso rotacional. Conclusiones Mediante trabajos de simulacin y de laboratorio se demostr lo siguiente:

y y y

La estrategia SCAN es la mejor con carga baja. La estrategia C - SCAN es la mejor con cargas medias y pesadas. La estrategia C - SCAN con optimizacin rotacional es la mejor para cargas muy pesadas (mejor que la estrategia Eschenbach inclusive). Optimizacin Rotacional en Discos

En condiciones de carga pesada, las probabilidades de que ocurran referencias al mismo cilindro aumentan, por ello resulta til considerar la optimizacin rotacional adems de la optimizacin de bsqueda La optimizacin rotacional es de uso comn en dispositivos de cabezas fijas. La estrategia utilizada es la SLTF (tiempo de latencia ms corto primero):

Situado el brazo del disco en un cilindro: o Examina todas las peticiones sobre el cilindro. o Sirve primero a la que tiene el retraso rotacional ms corto.

Consideraciones de los Discos Sobre los Sistemas Los principales interrogantes son Cundo es til la planificacin de disco.

Cundo puede degradar el rendimiento.

El almacenamiento en disco como un recurso limitador La planificacin 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 multiprogramacin Generalmente la planificacin es efectiva en sistemas de tiempo compartido con un nivel alto de multiprogramacin. Subsistemas de discos mltiples Frecuentemente la cpu est conectada mediante canales (o bus) a dispositivos controladores, los que estn conectados a las unidades de discos. El embotellamiento puede producirse en algn disco, algn controlador o en algn canal. Existe software especfico para:

y y

Medir la actividad. Detectar dnde se produce el embotellamiento.

Para eliminar ciertos embotellamientos puede ser necesaria una reconfiguracin del hardware:

y y y

Agregar canales, controladores, dispositivos. Cambiar dispositivos de un controlador a otro. Cambiar controladores de un canal a otro.

Para ayudar a reducir la congestin del canal, muchos sistemas han incorporado la tcnica de examen (sensado) de posicin rotacional (RPS):

y y y

Reduce el tiempo durante el cual un canal se encuentra ocupado en la bsqueda de un registro. RPS permite al canal quedar libre justo hasta antes de que el registro se encuentre debajo de la cabeza de lectura - grabacin apropiada. RPS permite varias peticiones activas al mismo tiempo en un solo canal, incrementando la performance.

Distribucin 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 bsquedas son cortas y la planificacin de disco ser de poca utilidad. Tcnicas de organizacin de archivos Los mtodos de organizacin y acceso de archivos, as como los DBMS (manejadores de bases de datos):

y y

Son muy convenientes desde el punto de vista de las aplicaciones y del usuario. Pueden generar complicaciones en la implementacin y el rendimiento, puesto que el recorrido de estructuras de ndices, bloques de control, apuntadores, etc., puede significar un gran nmero de operaciones de e / s. Manejo de Errores en Discos Algunos de los errores ms comunes en discos son Error de programacin:

o y o y o y o y o

Ej.: Solicitar un sector no existente. Error temporal en la suma de verificacin: Ej.: Provocado por polvo en la cabeza. Error permanente en la suma de verificacin: Ej.: Un bloque del disco daado fsicamente. Error de bsqueda: Ej.: El brazo se enva al cilindro 6 pero va al 7. Error del controlador: Ej.: El controlador no acepta los comandos. El manejador del disco debe controlar los errores de la mejor manera posible. La mayora de los controladores:

y y

Verifican los parmetros que se les proporcionan. Informan si no son vlidos. Respecto de los errores temporales en la suma de verificacin:

y y

Generalmente se eliminan al repetir la operacin. Si persisten, el bloque debe ser marcado como un bloque defectuoso, para que el software lo evite. Otra posibilidad es que controladores inteligentes reserven cierta cantidad de pistas:

y y o o o

Sern asignadas en reemplazo de pistas defectuosas. Una tabla asocia las pistas defectuosas con las pistas de repuesto: Est alojada en la memoria interna del controlador y en el disco. La sustitucin es transparente para el manejador. Puede afectarse el desempeo de los algoritmos de bsqueda, como el del elevador, ya que el controlador utiliza pistas fsicamente distintas de las solicitadas. Ocultamiento de Una Pista a la Vez en Discos Generalmente el tiempo de bsqueda supera al de rotacin y transferencia (aunque esto se est equilibrando)

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

Especialmente en dispositivos con sensibilidad rotacional (RPS): o El manejador puede ver que sector se encuentra debajo de la cabeza y puede enviar una solicitud del siguiente sector:  Permite leer una pista en un tiempo de rotacin.  De lo contrario se tardara, en promedio, un tiempo de rotacin ms un tiempo de sector, para leer un solo sector. Algunos manejadores aprovechan esto mediante un cach secreto de una pista a la vez : o Es desconocido por el software independiente del dispositivo. o Si se necesita un sector del cach, no es necesaria una transferencia del disco. o Las principales desventajas de este ocultamiento de una pista a la vez son:  Complejidad del software.  Requerimientos de espacio para buffers.  Las transferencias del cach al programa que hace la llamada:  Las debe realizar la cpu mediante un ciclo programado.  No las puede hacer el hardware DMA. o Algunos controladores realizan el ocultamiento de una pista a la vez en su propia memoria interna:  Resulta transparente al manejador.  Las transferencias entre el controlador y la memoria pueden utilizar DMA.

Discos en RAM Utilizan una parte de la memoria principal asignada con anterioridad para almacenar los bloques [23, Tanenbaum]. Tienen la ventaja del acceso instantneo:

y y

No hay demora rotacional o debida a las bsquedas. Son adecuados para el almacenamiento de programas o datos con accesos muy frecuentes.

Los bloques de almacenamiento tienen el mismo tamao 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. Relojes Los relojes o cronmetros son esenciales para la operacin de sistemas de tiempo compartido Registran la hora del da. 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 ms sencillo trabajan con la lnea de corriente elctrica de 110 o 220 voltios y provocan una interrupcin por cada ciclo de voltaje, a 50 o 60 hz. Otro tipo de relojes consta de tres componentes:

y y

Un oscilador de cristal, un contador y un registro. Una pieza de cristal de cuarzo se monta en una estructura bajo tensin: o Genera una seal peridica de muy alta precisin, generalmente entre 5 y 100 mhz. o La seal se alimenta en el contador para que cuente en forma descendente hasta cero. o Cuando el contador llega a cero, provoca una interrupcin de la cpu.

Los relojes programables tienen varios modos de operacin:

y o o o y o o o

Modo de una instancia: Cuando el reloj se inicializa, copia el valor del registro en el contador. Decrementa el contador en cada pulso del cristal. Cuando el contador llega a cero provoca una interrupcin y se detiene hasta ser nuevamente inicializado por el software. Modo de onda cuadrada: Luego de llegar a cero y provocar la interrupcin, el registro se copia de manera automtica en el contador. Todo el programa se repite en forma indefinida. Las interrupciones peridicas se llaman marcas del reloj. La ventaja del reloj programable es que su frecuencia de interrupcin puede ser controlada por el software. Las principales funciones del software manejador del reloj son:

y y y y y y

Mantener la hora del da o tiempo real. Evitar que los procesos se ejecuten durante ms tiempo del permitido. Mantener un registro del uso de la cpu. Controlar llamadas al sistema tipo alarm por parte de los procesos del usuario. Proporcionar cronmetros guardianes de partes del propio sistema. Realizar resmenes, monitoreo y recoleccin de estadsticas. El software manejador del reloj puede tener que simular varios relojes virtuales con un nico reloj fsico. Terminales Las terminales tienen gran nmero de formas distintas El manejador de la terminal debe ocultar estas diferencias.

La parte independiente del dispositivo en el S. O. y los programas del usuario no se tienen que reescribir para cada tipo de terminal. Desde el punto de vista del S. O. se las puede clasificar en:

y o o o y o o

Interfaz RS-232: Hardcopy (terminales de impresin). TTY de vidrio (terminales de video). Inteligente (computadoras con cpu y memoria). Interfaz mapeada a memoria: Orientada a caracteres. Orientada a bits. 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 efectan los chips uart (transmisores receptores asncronos universales). Las terminales mapeadas a memoria:

y y o o o  

No se comunican mediante una lnea serial. Poseen una interfaz mediante una memoria especial llamada video RAM: Forma parte del espacio de direcciones de la computadora. La cpu se dirige a ella como al resto de la memoria. En la tarjeta de video RAM hay un chip llamado controlador de video: Extrae bytes del video RAM y genera la seal de video utilizada para manejar la pantalla. El monitor genera un rayo de electrones que recorre la pantalla pintando lneas.

  

Cada lnea est constituida por un cierto nmero de puntos o pixeles. La seal del controlador de video modula el rayo de electrones y determina si un pixel debe estar o no iluminado. Los monitores de color poseen tres rayos (rojo, verde y azul) que se modulan independientemente.

En las pantallas mapeadas a caracteres:

Cada caracter en la pantalla equivale a dos caracteres de RAM: o Uno aloja al cdigo (ASCII) del caracter por exhibir. o Otro es el byte de atributo, necesario para determinar el color, el video inverso, el parpadeo, etc.

En las terminales mapeadas a bits:

y y y

Se utiliza el mismo principio. Cada bit en el video RAM controla en forma directa un solo pixel de la pantalla. Permite una completa flexibilidad en los tipos y tamaos de caracteres, varias ventanas y grficos arbitrarios.

Con las pantallas mapeadas a memoria, el teclado se desacopla totalmente de la pantalla:

y y

El teclado dispone de su propio manejador. El manejador del teclado puede operar en modo caracter o en modo lnea.

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:

y y y y y y y y

Mover el cursor hacia arriba, abajo, a la izquierda o a la derecha una posicin. Mover el cursor a x,y. Insertar un caracter o una lnea en el cursor. Eliminar un caracter o una lnea en el cursor. Recorrer la pantalla hacia arriba o hacia abajo n lneas. Limpiar la pantalla desde el cursor hacia el final de la lnea o hasta el final de la pantalla. Trabajar en modo de video inverso, subrayado, parpadeo o normal. Crear, construir, mover o controlar las ventanas.

Planificacin de acceso a disco Al igual que para el CPU, existen varias estrategias posibles para servir los accesos a un disco, buscando optimizar de acuerdo a uno o ms criterios (por ejemplo, maximizar el nmero promedio de accesos servidos, o minimizar el tiempo de respuesta) o cumplir con ciertos requisitos (por ejemplo, justicia, que ninguna peticin sea eternamente relegada). Los algoritmos que veremos a continuacin slo toman en cuenta el movimiento del brazo, y no la latencia. Entre otras cosas porque los discos no suelen proveer sensores del sector donde pasan, y dados los tiempos de respuesta, es muy complicado sacarle provecho. FCFS "El primero que llega ser el primero servido" (First Come First Served). Equivale al FIFO de planificacin de CPU. Garantiza justicia (y por lo tanto que ninguna peticin ser eternamente relegada). En cambio, su desempeo, medido por ejemplo, en nmero promedio de accesos servidos, distar del mejor en el caso general, puesto que accesos consecutivos en ciliindros distantes causarn mucho movimiento del brazo y latencia. SCAN

(Barrido) Mueve el brazo de extremo a extremo, sirviendo las peticiones de acuerdo a su cilindro, a medida que vaya pasando por ese cilindro. Funciona bien si hay muchas peticiones, distribuidas por todo el disco. Como llega hasta los extremos, si las peticiones no acceden a determiandas zonas del disco, se pierden esos movimientos, y aumenta el tiempo de servicio promedio. C-SCAN (Barrido circular) Es igual que el SCAN, pero al llegar al extremo, regresa al principio (a toda velocidad) sin servir ninguna peticin al moverse en esa direccin (como si el disco fuera circular). Esto mejora el tiempo de espera promedio. LOOK (Mirando o fijndose) Es como SCAN, pero en lugar de llegar al extremo, llega hasta el ltimo cilindro donde haya peticiones pendientes, y se regresa. El C-LOOK es lo mismo, pero regresando al principio cuando sirve el ltimo cilindro solicitado. Comentarios sobre los algoritmos de planificacin de disco

y y y

Los discos modernos tienden a agregar una capa adicional de traduccin de bloques a direcciones fsicas del disco, de manera que el S. O. no puede asumir que las direcciones estndar (c,h,s) correspondan realmente a cmo estn ubicados los bloques en el disco Debido a esto, es posible que la planificacin implementada por el S. O. (ordenando las peticiones de acuerdo a alguno de los algoritmos mencionados) deteriore en lugar de mejorar el desempeo (con respecto a no hacer nada, es decir, FCFS) Actualmente, la tarea de planificacin tiende a delegarse a los controladores en los discos, que conocen la estructura interna e implementan ellos alguna variante de estos algoritmos. De esta manera, los S. O. simplemente envan sus peticiones al disco en el orden que se generan, y los controladores manejan una tabla con la peticiones pendientes, que sirven en el orden establecido por su poltica especfica.

PRINCIPIOS DEL HARDWARE DE ENTRADA Y SALIDA (E/S) Distintas personas analizan de varias maneras el hardware de Entrada y Salida. Los ingenieros elctricos lo hacen en trminos de chips, cables, fuentes de poder, etc. Los programadores se fijan en la interfaz que se presenta al software (los comandos que acepta el hardware, las funciones que realiza y los errores que puede informar. En este trabajo nos interesaremos por la programacin de los dispositivos de entrada y salida no por su diseo, construccin o mantenimiento, as nuestro inters estar restringido a la forma de programar el hardware y no su funcionamiento interno. Sin embargo es frecuente que la programacin de muchos dispositivos de entrada y salida este ntimamente ligada con su operacin interna. DISPOSITIVOS DE ENTRADA Y SALIDA Los dispositivos de entrada y saluda se pueden dividir de manera general en dos categoras: dispositivos de bloque y dispositivos de carcter. Dispositivo de Bloque: Es aquel que almacena la informacin en bloques de tamao fijo, cada uno con su

propia direccin. Los tamaos comunes de los bloques van desde 128 bytes hasta 1024 bytes. La propiedad esencial de un dispositivo de bloque es la posibilidad de leer o escribir en un bloque de forma independiente de los dems, es decir, el programa puede leer o escribir en cualquiera de los bloques. Entre los dispositivos de bloque se pueden encontrar: CD ROM: Acrnimo de Compact Disc Read Only Memory. Estndar de almacenamiento de archivos

informticos en disco compacto. Se caracteriza por ser de slo lectura. Otros estndares son el CD R o WORM (permite grabar la informacin una sola vez), el CD DA (permite reproducir sonido), el CD I (define una plataforma multimedia) y el PhotoCD (permite visualizar imgenes estticas). Disco Duro: Los discos duros proporcionan un acceso ms rpido a los datos que los discos flexibles y pueden almacenar mucha ms informacin. Al ser las lminas rgidas, pueden superponerse unas sobre otras, de modo que una unidad de disco duro puede tener acceso a ms de una de ellas. La mayora de los discos duros tienen de dos a ocho lminas. Un disco duro normal gira a una velocidad de 3.600 revoluciones por minuto y las cabezas de lectura y escritura se mueven en la superficie del disco sobrre una burbuja de aire de una profundidad de 10 a 25 millonsimas de pulgada. El disco duro va sellado para evitar la interferencia de partculas en la mnima distancia que existe entre las cabezas y el disco. Disquete o Disco flexible: Es un elemento plano de mylar recubierto con xido de hierro que contiene partculas minsculas capaces de mantener un campo magntico, y encapsulado en una carcasa o funda protectora de plstico. La informacin se almacena en el disquete mediante la cabeza de lectura y escritura de la unidad de disco, que altera la orientacin magntica de las partculas. La orientacin en una direccin representa el valor binario 1, y la orientacin en otra el valor binario 0. Dependiendo de su capacidad, un disco de este tipo puede contener desde algunos cientos de miles de bytes de informacin hasta casi tres millones (2,88 Mb). Un disco de 3y pulgadas encerrado en plstico rgido se denomina normalmente disquete pero puede llamarse tambin disco flexible.

Dispositivo de Carcter: Es aquel que enva o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operacin de bsqueda. Entre los dispositivos de carcter se pueden mencionar: Mouse: Es el segundo dispositivo de entrada ms utilizado. El mouse o ratn es arrastrado a lo largo de una superficie para maniobrar un apuntador en la pantalla del monitor. Fue inventado por Douglas Engelbart y 1su nombre se deriva por su forma la cual se asemeja a la de un ratn. Monitores: El monitor pantalla de vdeo, es el dispositivo de salida ms comn. Hay algunos que forman parte del cuerpo de la computadora y otros estn separados de la misma. Existen muchas formas de clasificar los monitores, la bsica es en trmino de sus capacidades de color, pueden ser: Monocromticos, despliegan slo 2 colores, uno para el fondo y otro para la superficie. Los colores pueden ser blanco y negro, verde y negro mbar y negro. Escala de Grises, un monitor a escala de grises es un tipo especial de monitor monocromtico capaz de desplegar diferentes tonos de grises. Color: Los monitores de color pueden desplegar de 4 hasta 1 milln de colores diferentes Impresoras de Lnea: de lnea: Son rpidas y ruidosas. Tienen la desventaja de estar limitadas a la impresin de caracteres, por lo que no son apropiadas para aplicaciones donde los grficos son un ingrediente esencial del producto acabado. imprimen una lnea de puntos a la vez. Se alinean martillos similares a agujas sobre el ancho del papel. Tarjetas Perforadas: Haban, sido inventada en los aos de la revolucin industrial (finales del siglo XVIII) por el francs Jacquard y perfeccionado por el estadounidense Hermand Hollerith en 1890. Se usaron para acumular y procesar automticamente gran cantidad de datos. Durante dcadas, desde mediados de los cincuentas la tecnologa de las tarjetas perforadas se perfeccion con la implantacin de ms dispositivos con capacidades ms complejas. Dado que cada tarjeta contena en general un registro (Un nombre, direccin, etc.) el procesamiento de la tarjeta perforada se conoci tambin como procesamiento de registro

unitario. CONTROLADOR DE DISPOSITIVOS Las unidades de entrada y salida constan por lo general de un componente mecnico y otro electrnico. El componente electrnico se llama controlador de dispositivo de adaptador. La tarjeta controladora tiene por lo general un conector, en el que se puede conectar el cable que va al dispositivo en s. Muchos controladores pueden manejar dos, cuatro y hasta ocho dispositivos idnticos. Si la interfaz entre el controlador y el dispositivo es estndar, ya sea un estndar oficial, de tipo ANSI, IEEE o ISO, o bien un estndar de hecho, entonces las compaas pueden fabricar controladores o dispositivos que se ajusten a esa interfaz. Mencionamos esa distincin entre controlado y dispositivo por que el sistema operativo casi siempre trabaja con el controlador y no con el dispositivo. Casi todas las micro y mini computadoras utilizan el modelo de un bus para la comunicacin entre la CPU y los controladores. Los grandes mainframes utilizan con frecuencia otro modelo, con varios buses y computadoras especializadas en Entrada y Salida llamadas canales de entrada y salida que toman cierta carga de entrada y salida fuera de la CPU principal. La labor del controlador es convertir el flujo de bits en serie en un bloque de bytes y llevar a cabo cualquier correccin de errores necesaria. Lo comn es que el bloque de bytes ensamble, bit a bit, en un buffer dentro del controlador. Despus a verificar la suma y declarar al bloque libre de errores, se le puede copiar en la memoria principal. El controlador de una terminal CRT tambin funciona como un dispositivo de bits en un nivel igual de bajo. Lee bytes que contienen caracteres a exhibir en la memoria y genera las seales utilizadas para modular la luz CRT para que esta se escriba en la pantalla. El controlador tambin genera las seales para que la luz CRT vuelva a realizar un trazo horizontal despus de terminar una lnea de rastreo, as como las seales para que se vuelva a hacer un trazo vertical despus de rastrear en toda la pantalla. De no ser por el controlador CRT, el

programador del sistema operativo tendra que programar en forma explicita el rastreo anlogo del tubo de rayos catdicos. Con el controlador, el sistema operativo inicializa ste con pocos parmetros, tales como el nmero de caracteres por lnea y el nmero de lneas en la pantalla, para dejar que el controlador se encargue de dirigir en realidad el rayo de luz. 2Cada controlador tiene unos cuantos registros que se utiliza para la comunicacin con la CPU. En ciertas computadoras, estos registros son parte del espacio normal de direcciones de la memoria. El sistema operativo realiza la entrada y salida al escribir comandos en los registros de los controladores. Muchos de los comandos tienen parmetros, los cuales tambin se cargan de los registros del controlador. Al aceptar un comando, la CPU puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca la interrupcin para permitir que el sistema operativo obtenga el control de la CPU y verifique los resultados de la operacin. La CPU obtiene los resultados y el estado del dispositivo al leer uno o ms bytes de informacin de los registros del controlador. ACCESO DIRECTO A MEMORIA Muchos controladores, en particular los correspondientes a los dispositivos de bloque, permiten el acceso directo a memoria o DMA. Para explicar el funcionamiento del DMA, analicemos primero la forma en que se lee el disco si no se utiliza este: En primer lugar, el controlador lee en serie el bloque (uno o mas sectores) de la unidad bit por bit, hasta que todo el bloque se encuentre en el buffer interno del controlador. A continuacin calcula la suma de verificacin para corroborar que no existen errores de lectura. Entonces el controlador provoca una interrupcin. Cuando el sistema operativo empieza su ejecucin, puede leer el bloque del disco por medio del buffer del controlador, un byte o una palabra a la vez, en un ciclo, en el que durante cada iteracin se lee un byte o una palabra del registro del controlador y se almacena en la memoria. Es claro que un ciclo programado en la CPU para la lectura de bytes desde el computador, uno a la vez, desperdicia el tiempo de la CPU. DMA se ide para liberar a la CPU de este trabajo de bajo nivel. Al utilizarlo, la CPU le proporciona al controlador dos elementos de la informacin, adems de la direccin del

bloque en el disco: la direccin en memoria adonde debe ir el bloque y el numero de bytes por transferir. Despus de que el controlador ha ledo todo el bloque del dispositivo a su buffer y ha corroborado la suma de verificacin, copia el primer byte o palabra a la memoria principal, en la direccin especificada por medio de la direccin de la memoria DMA. Entonces incrementa la direccin DMA y decrementa el contador DMA en el numero de bytes que acaba de transferir. Este proceso se repite hasta que el contador se anula, momento en el cual el contador provoca una interrupcin. Al iniciar su ejecucin el sistema operativo, no tiene que copiar el bloque en la memoria, ya se encuentra all. El controlador no almacena los bytes en la memoria principal tan pronto llegan al disco, la razn consiste en que una vez iniciada la transferencia del disco los bits siguen llegando al disco constantemente, sin importar si el controlador esta listo o no para recibirlos. Si el controlador intentara escribir los datos en la memoria de forma directa, tendra que recurrir al bus del sistema para cada una de las palabras transferidas. Si el bus estuviera ocupado debido a que lo utilizara otro dispositivo, entonces el controlador debera esperar. Si la siguiente palabra llegase antes de que la anterior hubiera sido almacenada, el controlador tendra que almacenar en alguna parte. Si el bus estuviese demasiado ocupado, el controlador terminara por almacenar unas cuantas palabras y con gran tarea de administracin al mismo tiempo. Cuando el bloque se guarda en un buffer interno, el bus no se necesita sino hasta que el DMA comienza; por el llo, el diseo del controlador es ms sencillo, puesto que la transferencia DMA a la memoria ya no es un aspecto critico del tiempo. (Sin embargo, algunos controladores si transfieren en forma directa a la memoria, con una pequea proporcin de almacenamiento en buffers internos, pero si el bus esta demasiado ocupado, se debe terminar una transferencia con un error de sobre ejecucin). El proceso de dos etapas de almacenamiento en un buffer interno descrito arriba tiene importantes consecuencias en el rendimiento de las entradas y salidas. Aunque los datos se transfieren del controlador a la memoria, ya sea mediante la CPU o mediante el propio controlador, el siguiente sector pasar debajo de la

3cabeza del disco y los bits llegarn al controlador. Los controladores simples no pueden enfrentarse a las entradas y salidas simultneas, de forma, que mientras se lleva a cabo una transferencia en la memoria, el sector que pasa debajo de la cabeza del disco se pierde. Como resultado el controlador solo podr leer hasta el siguiente bloque. La lectura de una pista completa se realizar entonces n dos rotaciones completas, una para los bloques nones y otra para los bloques pares. Si el tiempo necesario para una transferencia de un bloque del controlador a la memoria por medio del bus es mayor que el tiempo necesario para leer un bloque del disco, podra ser necesario leer un bloque y despus saltar dos (o ms) bloques. El salto de bloques, que se ejecuta para darle tiempo al controlador para la transferencia de datos a la memoria se llama separacin. Al dar formato al disco, los bloques se numeran tomando en cuenta el factor de separacin. La idea de numerar los bloques de esta menara es permitir al sistema operativo que lea los bloques con numeracin consecutiva y conserve la mxima velocidad posible del hardware. Si los bloques estuvieran numerados como en la figura a, pero el controlador solo pudiera leer bloques alternados, un sistema operativo que asignara bloques consecutivos, a un archivo de ocho bloques necesitara ocho rotaciones de disco para leer los bloques cero a siete en orden. (Por supuesto, si el sistema operativo supiera del problema y acomodara los bloques de otra manera, podra resolver el problema en software, pero es mejor que el controlador se preocupe por la separacin).

También podría gustarte