Está en la página 1de 15

INSTITUTO TECNOLOGICO SUPERIOR DE PUERTO VALLARTA

Administracin de la Entrada y Salida


Sistemas Operativos
Nstor Daniel Vargas Urea 10/11/2011

Introduccion
La administracin de las entradas y salidas es uno de los aspectos ms complicados en el diseo de sistemas operativos, debido a la gran variedad de dispositivos existentes hoy en da as como las aplicaciones que estos tienen, volviendo muy difcil la construccin de soluciones generales y consistentes. En este trabajo se analizan los diferentes dispositivos y como son manejados, la organizacin de la funciones de entrada y salida, los aspectos de diseo de entrada y salida requeridos en la creacin de un sistema operativo, los mecanismos y las funciones que desempean los manejadores de dispositivos as como las estructuras de datos para el manejo de dichos perifricos.

Desarrollo
Dispositivos de entrada/salida
La entrada/ salida se puede definir como la coleccin de interfaces que usan las distintas unidades funcionales de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales 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. Unidad hace referencia en computacin a un dispositivo que hace las funciones de envo y recepcin antes mencionados. Los dispositivos de entrada/salida usados en las computadoras se pueden clasificar en: Tipo Dispositivos legibles por los humanos Definicin Estos son apropiados para la comunicacin con el usuario. Ejemplo

Dispositivos legibles por la maquina

Son adecuados para comunicarse con los equipos electrnicos.

Dispositivos de comunicaciones

Son apropiados para comunicarse con dispositivos lejanos.

Por otra parte, los dispositivos poseen grandes diferencias, incluso aquellos que pertenecen a la misma clase. Las principales diferencias son las siguientes: Velocidad en los datos o La velocidad de transmisin de datos de un dispositivo. Aplicaciones o La utilidad que se le da al dispositivo, haciendo variar el software aplicado en l as como los recursos que se le son proporcionados. Complejidad del control o La complejidad del mdulo de entrada y salida que controla al dispositivo. Unidad de transferencia o La manera en que se transmite los datos. Representacin de los datos o La manera en que se muestran los esquemas de codificacin de datos. Condiciones de error o La manera en que se informa acerca de la existencia de algn error.

Manejadores de dispositivos
Proporcionan operaciones de alto nivel sobre los dispositivos y las traducen en su mbito interno a operaciones de control de cada dispositivo particular. Cada uno de estos componentes se considera un objeto del sistema, por lo que habitualmente todos los sistemas operativos permiten modificar el sistema operativo de forma esttica o dinmica para reemplazar, aadir o quitar manejadores de dispositivos. Sin embargo, por razones de seguridad no se permite a las aplicaciones de usuario acceder directamente a los dispositivos, sino a travs de la interfaz de llamadas al sistema.

Organizacin de la funciones de E/S


El sistema operativo debe de tener manera de responder ante la deteccin de una funcin de E/S, las tres tcnicas para realizar esto son: E/S programada

El procesador emite una orden de E/S de parte de un proceso a un mdulo de E/S; el proceso espera a que termina la operacin antes de seguir. E/S dirigida por interrupciones o El procesador emite una orden de E/S de parte de un proceso, continua la ejecucin de la instruccin siguiente y es interrumpido por el mdulo de E/S cuando este ha completado su trabajo. Acceso directo a memoria (DMA) o Un mdulo DMA controla el intercambio de datos entre la memoria principal y un mdulo de E/S.

Evolucin de la funciones de E/S


Los sistemas informticos han evolucionado mucho, en especial en las cuestiones de complejidad y sofisticacin de los componentes individuales. El caso ms evidente de esto se ve en la funciones de E/S. Las etapas de su evolucin pueden resumirse como sigue:

El procesador controla directamente los dispositivos perifricos.

Se aade un controlador o modulo de E/S. El procesador utiliza E/S programada sin interrupcoiones. Se considera la configuracin anterior pero empleando interrupciones. En este punto el procesador parece aislarse de los detalles especficos de las interfaces con dispositivos externos. El modulo de E/S recibe el control directo de la memoria, a travs de DMA.

El modulo de E/S es mejorado para constituir un procesador separado con un conjunto de instrucciones especializado para realizar E/S en la memoria principal.

El modulo de E/S posee su memoria local convirtindose en un computador independiente.

A medida que se sigue con esta evolucin, la mayor parte de las funciones de E/S se realiza sin la participacin de la CPU. El procesador central se ve liberado cada vez que ms de las tarea relacionadas con la E/S, mejorando as el rendimiento.

DMA
El acceso directo a memoria es una terminologa utilizada para indicar que se tendr un control directo de la memoria principal por parte del mdulo de E/S. La unidad de DMA es capaz de imitar a la CPU, incluso es capaz de relevar a la CPU en el control del sistema para transferir los datos con la memoria por el bus del sistema. Normalmente, el mdulo de DMA debe usar el bus solo cuando la CPU no lo necesite, o debe forzar a la CPU a que suspenda temporalmente su operacin, tcnica llamada robo de ciclos.

Cuenta de datos

Lnea de datos

Registro de datos

Registros de direccin Lneas de Direccin

PETICION DMA RECONOCIMIENTO DMA INTERRUPCION Lectura Lgica de control

Escritura

Caractersticas de los canales de E/S


El canal de E/S es una extensin del concepto de DMA. Un canal de E/S tiene la capacidad de ejecutar instrucciones de E/S lo que le da un control total sobre las operaciones de E/S. En un

sistema informtico que conste de tales dispositivos, las instrucciones de E/S se almacenan en la memoria principal y sern ejecutadas por un procesador de propsito especfico en el mismo canal de E/S. As, la CPU inicia una transferencia de E/S ordenando al canal de E/S que ejecute un programa en la memoria. El programa designara a l o los dispositivos, las zonas de memoria para lectura o escritura, la prioridad y las acciones a tomar bajo ciertas condiciones de error.

Aspectos de diseo en los sistemas operativos


Objetivos de diseo
Los dos principales objetivos en el diseo de sistemas operativos son dos: Eficiencia o Esta es importante porque las operaciones de E/S constituyen a menudo un cuello de botella en los sistemas informticos. La mayora de los dispositivos de E/S son extremadamente lentos en comparacin con la memoria principal y el procesador. Una manera de abordar dicho problema es el uso de multiprogramacin, el cual hace que algunos procesos esperen en operaciones de E/S mientras otro proceso se est ejecutando. Generalidad o Esta caracterstica centra su atencin en la simplicidad y la exencin de errores. Siempre es mejor manejar todos los dispositivos de manera uniforme. Debido a las caractersticas de los dispositivos, en la prctica es difcil conseguir una generalidad verdadera. Lo que se puede hacer es emplear un enfoque jerrquico y modular para el diseo de las funciones de E/S.

Mecanismos y funciones de los manejadores de dispositivos


El controlador es el componente ms importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la UCP. Los manejadores de dispositivos tienen la funcin de comenzar las operaciones de E/S en un dispositivo y procesar la terminacin de una solicitud de E/S. El sistema de archivos bsico trata con bloques de datos que son los que se intercambian con los discos o cintas. Ubica estos bloques en el almacenamiento secundario o en el intermedio en memoria principal. Este sistema normalmente se considera parte del SO. El supervisor bsico de E/s se responsabiliza de iniciar y terminar la E/s con archivos, Selecciona el dispositivo donde se realizar la E/S, segn el archivo seleccionado. Planifica los accesos a disco y cinta, asigna los buffers de E/S y reserva la memoria secundaria. Es parte del SO. La E/S lgica tiene la funcin de permitir a los usuarios y aplicaciones acceder a los registros.

El mtodo de acceso es el nivel ms cercano al usuario, proporcionando una interfaz entre las aplicaciones y los archivos. Los usuarios y las aplicaciones tratan con registros y la E/S se realiza de a bloques. Los registros deben bloquearse para la salida, y desbloquearse en la lectura. Para manejar la E/S con bloques deben proveerse las funciones para ello: por ejemplo, se debe gestionar el almacenamiento secundario (asignacin de bloques libres de memoria secundaria a los archivos, gestionar el espacio libre, manejar la solicitud de bloques individuales. Todo esto debe organizarse optimizando el rendimiento.

Estructuras de datos para el manejo de dispositivos


Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniera correcta para su fcil actualizacin y para que puedan cumplir su funcin correctamente. La estructura es generalmente modular, cada mdulo cumple una funcin determinada e interacta con los dems mdulos. El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no estn bien definidos. Los programas de aplicacin pueden acceder a operaciones bsicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicacin puede eliminar por completo un disco rgido por alguna falla. Adems este sistema, tambin est limitado al hardware sobre el que corre. Otra estructura simple es la utilizada por la versin original de UNIX, esta consiste de dos partes separadas, el kernel y los programas de sistemas. El kernel fue posteriormente separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel provee el sistema de archivos, la programacin de CPU, el administrador de memoria y otras funciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente.

Estructura por capas


Las nuevas versiones de UNIX se disearon para hardware ms avanzado. Para dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeas partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones que se ejecutan sobre este. La popularizacin de un sistema se puede presentar de varias formas, la ms utilizada es la de capas, la cual consiste en dividir al sistema operativo en un nmero de capas. La capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario. La principal ventaja es que cada capa cumple con una serie de funciones y servicios que brinda a las otras capas, esto permite una mejor organizacin del sistema operativo y una depuracin ms fcil de este.

Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inferior. Una capa no necesita saber cmo se implementan estas funciones, solo necesita saber que operaciones puede realizar.

Planificacin de discos
Debido al crecimiento en la velocidad de los procesadores y de la memoria principal ha provocado que actualmente los discos sean cuatro veces ms lentos que la memoria principal. Este avance se espera que contine, por esta razn, el rendimiento de los subsistemas de almacenamiento en disco es de vital importancia muchas investigaciones actuales estn centradas a lograr mayor rendimiento de este componente.

Parmetros de rendimiento de discos


Los detalles reales de las operaciones de E/S con los discos dependen del computador, el sistema operativo y la naturaleza del canal de E/S y el hardware controlador de disco. Cuando la unidad de disco est operando, el disco gira a una velocidad constante. Para leer o escribir, la cabeza debe posicionarse en la pista deseada, al comienzo del sector pertinente. Si el sistema es de cabezas mviles, hay que mover la cabeza para elegir la pista. Si el sistema es de cabezas fijas, habr que seleccionar electrnicamente una de ellas. El tiempo que se tarda en ubicar la cabeza en la pista se llama tiempo de bsqueda. En cualquier caso, una vez que se ha seleccionado la pista, el controlador del disco esperara hasta que el sector apropiado se alinee con la cabeza en su rotacin. El tiempo que tarda el comienzo del sector en llegar hasta la cabeza se conoce como retardo de giro, o latencia de giro. Las suma del tiempo de bsqueda y el retardo de giro es el tiempo de acceso, es decir, el tiempo que tarda en llegar a la posicin de lectura o escritura. Una vez que la cabeza est ubicada, se puede llevar a cabo la operacin 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 operacin. Adems del tiempo de acceso y del tiempo de transferencia, es una operacin de E/S intervienen algunos retardos. Cuando un proceso emite una peticin 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 de disco, puede producirse una espera adicional hasta que el canal est disponible. En ese punto se realizara la bsqueda con que comienza el acceso al disco. En algunos sistemas grandes se emplea una tcnica conocida como deteccin posicional de giro (RPS), el cual sigue los siguientes pasos: Cuando se ejecuta la orden de bsqueda, se libera el canal para que pueda realizar otras operaciones de E/S.

Cuando la bsqueda termine, el dispositivo debe averiguar el instante en que los datos van a pasar bajo la cabeza. A medida que el sector se aproxima a la cabeza, el dispositivo intenta restablecer la va de comunicaciones con el computador central. Si la unidad de control o el canal deben dar una vuelta completa antes de intentar la reconexin, lo que se denomina una falta de RPS.

RAID
RAID (conjunto redundante de discos independientes) hace referencia a un sistema de almacenamiento que usa mltiples discos duros o SSD entre los que se distribuyen o replican los datos. Dependiendo de su configuracin (a la que suele llamarse nivel), los beneficios de un RAID respecto a un nico disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor rendimiento y mayor capacidad. Los niveles ms comunes son: El RAID 0 (DISK STRIPPING), esta tcnica tiene bandeado paro no tiene redundancia de datos. Ofrece el mejor rendimiento pero no tolerancia a los fallos. Consiste en dividir la informacin entre los discos que forman el RAID. La capacidad total del RAID ser por tanto la suma de las capacidades de cada disco. Esta solucin no proporciona ningn tipo de redundancia, por lo que si un disco falla perderemos todos los datos almacenados. Con RAID 0 se consigue un alto rendimiento al trabajar en paralelo con todos los discos del RAID. Este tipo de solucin es vlida en aplicaciones que requieran un gran RATIO DE E/S, y en las que se puede aceptar la perdida de algn dato, como por ejemplo en el rea del PREPRESS.

El RAID 1 (DISK MIRRORING), consiste en asociar a cada disco primario del RAID un segundo disco ESPEJO, en el que se duplica la informacin. Si el disco primario falla el espejo contina trabajando. Una vez sustituido el disco averiado, los datos se reconstruyen al 100%. En escritura se pierden prestaciones, al tener que escribir la misma informacin simultneamente en dos discos. Por ello, en ocasiones, se utiliza la duplicacin de controladoras del disco adems de la duplicacin de los discos. A este recurso se le denomina DUPLEXING. Dicho recurso resulta caro, ya que requiere instalar en el RAID el doble de la capacidad requerida. Por tanto, su uso se limita a aquellos casos en los que seguridad y continuidad sean fundamentales.

El RAID 2, este tipo usa bandeado en todos los discos, con algunos de estos dedicados a almacenar informacin de verificacin y correccin de errores (error checking and correcting, ECC). No tiene ninguna ventaja sobre el RAID-3.

El RAID 3, (PARALLEL DATA ACCES), sirve para disponer de redundancia sin tener que recurrir al mirroring. En el RAID 3 se utilizan X discos de datos y un disco adicional dedicado a la paridad. Los datos son divididos en bytes y cada byte se escribe en uno de los X discos de datos. Aplicando un determinado algoritmo se genera el byte de paridad, que se escribe en el disco de paridad. Toda la informacin se escribe en los discos de forma paralela. De este modo, la velocidad de transferencia del RAID equivale a la velocidad de transferencia de un disco multiplicada por X. Sin embargo, solo se puede gestionar un E/S a la vez. La recuperacin de datos se consigue calculando el O exclusivo (XOR) de la informacin registrada en los otros discos. Dado que una operacin E/S accede a todos los discos al mismo tiempo, el RAID-3 no puede traslapar E/S. Por esta razn, el RAID-3 es mejor para sistemas de un solo usuario con aplicaciones que contengan grandes registros.

El RAID 4, este tipo usa grandes bandas, lo cual significa que podemos leer registros de cualquier disco individual. Esto nos permite aprovechar la E/S traslapada para las operaciones de lectura. Dado que todas las operaciones de escritura tienen que actualizar el disco de paridad, no es posible la superposicin E/S para ellas. El RAID-4 no ofrece ninguna ventaja sobre el RAID-5.

El RAID 5, (INDEPENDENT DATA ACCESS), difiere del RAID 3 en que la informacin se divide en bloques en vez de en bytes. Debido a ello las lecturas pueden ser independientes, mejorando por tanto el nmero de transacciones E/S que puede gestionar el RAID de forma simultnea. La otra gran diferencia con el RAID 3 radica en el hecho de que la informacin de la paridad se reparte entre todos los discos de forma ROTATORIA, aliviando as el cuello de botella que se forma en operaciones simultneas de E/S. Esto ocurre, en concreto, gracias a que solo se debe leer la paridad de un nico disco, como es el caso del RAID 3. Con lo que resuelve las limitaciones de escritura en RAID-4. As, todas las operaciones de lectura y escritura pueden superponerse. Este nivel RAID es recomendable para aplicaciones que trabajen con ficheros pequeos pero con un gran nmero de transacciones E/S, como es el caso de las bases de datos relacionales o las aplicaciones de gestin.

El RAID 6, este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y las cadas de disco. Hay pocos ejemplos comerciales en la actualidad. Posee un diseo muy complejo, un rendimiento pobre y se necesitan N+2 discos.

El RAID 7, este tipo incluye un sistema operativo incrustado de tiempo real como controlador, haciendo las operaciones de cach a travs de un bus de alta velocidad y otras caractersticas de un ordenador sencillo. Todas las transferencias son asncronas. Y las E/S estn centralizadas por la cach. Se necesita un disco de paridad exclusivo. El agente SNMP permite su administracin remota. Un vendedor ofrece este sistema.

El RAID 10, este tipo ofrece un conjunto de bandas en el que cada banda es un grupo de discos RAID-1. Esto proporciona mejor rendimiento que el RAID-1, pero a un costo mucho mayor.

El RAID 53, este tipo ofrece un conjunto de bandas en el cual cada banda es un conjunto de discos RAID-3. Esto proporciona mejor rendimiento que el RAID-3, pero a un costo mucho mayor.

El RAID 0+1 (STRIPPING + MIRRORING), consiste en la duplicacin de los datos en diferentes conjuntos de discos, para un posterior stripping dentro de cada uno de dichos conjuntos. Este nivel est indicado para aplicaciones que necesiten altas prestaciones y un alto nivel de seguridad.

Conclusiones
La administracin de los dispositivos de entrada y salida se ha convertido en un tema vital en el diseo y desarrollo de un sistema operativo, ya que la gran parte de la funcionalidad que ofrece un ordenador proviene de este tipo de dispositivos. Sin embargo, este aspecto es uno de los tpicos que necesitan mayor dedicacin al momento del nacimiento de un nuevo sistema operativo, esto debido a la gran variedad de dispositivos y aplicaciones que tienen estos, se vuelve difcil construir un solucin que aplique de manera general para todos los perifricos. Los dispositivos de E/S utilizan diversas interfaces, desde las cuales pueden enviar o recibir seales. Dichos dispositivos se clasifican por medio de quien es la entidad que le da uso: Dispositivos legibles por los humanos, Dispositivos legible por la Maquina y Dispositivos de comunicacin. Por otro lado, dentro de las clasificaciones antes mencionadas existen otras que se basan en las diferencias y caractersticas propias de los dispositivos en cuestin, como son: velocidad, aplicaciones, complejidad, etc. Cada sistema operativo tiene su manera de responder ante la deteccin de una funcin de E/S. Puede hacerlo de manera programada (el proceso que emite la orden E/S espera que termine dicha operacin antes de poder continuar), por interrupciones (Interrumpe el proceso que emiti la orden E/S, ejecuta la operacin y despus continua) y mediante el acceso a DMA (intercambio de datos entre la memoria principal y un mdulo de E/S. Las principales objetivos en el diseo de sistemas operativos son 2, la eficiencia; esto para evitar la aglomeracin de operaciones y la generalidad; buscando la manera ms simple de realizar las operaciones con el objetivo de evitar los errores. Los controladores son los componentes ms importantes para el sistema operativo, ya que sin ellos no podra controlar a los dispositivos externos. Estos manejadores tiene la funcin de comenzar y terminar las operaciones de E/S. Las estructuras de datos para el manejo de dispositivos es un aspecto vital para los sistemas operativos, ya que esto sean vuelto tan complejos, que el mantenerlos se vuelve una tarea difcil si no se cuenta con una buena estructura organizacional de los mdulos y componentes. Por otro lado, los discos forman una parte fundamental del sistema, y aunque no han evolucionado de la misma manera que la memoria y los procesadores en lo que a velocidad se refiere, siguen teniendo un puesto vital en el funcionamiento de un ordenador. La informacin contenida en un equipo es de las funcionalidades ms importantes manejadas por los sistemas operativos. Por esto, es asegurar dicha informacin es uno de los temas que ms debe de preocupar a un diseador de sistemas operativos. Hoy en da es fundamental que los sistemas operativos que se ofrecen tengan soporte para tecnologas que aseguren la integridad de los datos. Una de estas tecnologas es RAID.

RAID es un sistema de almacenamiento que hace uso de mltiples discos entre los cuales se distribuye los datos o los replica. Existen diversas configuraciones de este sistema. Dichas configuraciones trabajan generalmente funcionado como espejo de la informacin contenida en un disco duro principal. En ocasiones existe un disco de respaldo por cada disco en el sistema, otras veces existe N nmero de disco y solo existe uno para la funcin de espejo. Incluso existen otras configuraciones que hacen uso de sistemas operativos de tiempo real. Cada configuracin tiene sus ventajas y desventajas, solo es cuestin de elegir la que mejor se adecue a la aplicacin que tienen los datos.

También podría gustarte