Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 de comunicaciones
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.
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.
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.
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
Escritura
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.
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.
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.
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.