UNIDAD 4 Administración de Dispositivos de E/S
INDICE
Introducción
2
UNIDAD 4 4.1 Dispositivos y manejadores dedispositivos (device drivers).
3
4.2 Mecanismos y funciones de losmanejadores de dispositivos (devicedrivers).
6
4.3 Estructuras de datos para manejo dedispositivos.
7
4.4 Operaciones de Entrada /salida
9
Conclusión
10
REFERENCIAS
11
INTRODUCCION
Los sistemas operativos son la base para el control de nuestro equipo y programas, pero también para una buena administración de los dispositivos
de E/S. Ya que si no contáramos con una administración de los mismos no podríamos explotar al máximo la capacidad que estos poseen. En esta investigación se trataran de abarcar los puntos más importantes sobre la administración de los dispositivos de E/S y como es que interactúan con el
Sistema operativo para que estos puedan f uncionar y todo lo que implica manejar un dispositivo mediante el SO con el f in de que el lector entienda todo lo que se lleva acabo detrás de un SO y los dif erentes dispositivos que
hay.
4.1 Dispositivos y manejadores de dispositivos
Dispositivos de entrada/salida
Se pueden clasificar en dos grandes categorías: 1. Dispositivos de bloque 2. Dispositivos de carácter Las principales características de los dispositivos de bloque son: - La información se almacena en bloques de tamaño fijo. - Cada bloque tiene su propia dirección. - Los tamaños más 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 demás, en cualquier momento. - Un ejemplo típico de dispositivos de bloque son los discos. Las principales características de los dispositivos de carácter son: -La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. - No se pueden utilizar direcciones. - No tienen una operación de búsqueda. - Unos ejemplos típicos de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, ratones, etc. Manejadores de Dispositivos
Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.
Cada controlador posee uno o más registros de dispositivos: Se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada. La labor de un manejador de dispositivos es la de: Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. Verificar la ejecución 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. y
y y
La solicitud de e / s, por ej. Para un disco, se debe traducir de términos abstractos a términos concretos: y y y y
y
y
y y
y y
l manejador de disco debe: stimar el lugar donde se encuentra en realidad el bloque solicitado. Verificar si el motor de la unidad funciona. Verificar si el brazo esta colocado en el cilindro adecuado, etc. R esumiendo: debe decidir cuales son las operaciones necesarias del controlador y su orden. nvía 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 interrupción lo libera de este bloqueo. Al finalizar la operación debe verificar los errores. Si todo esta o.k. transferirá los datos al software independiente del dispositivo. R egresa información de estado sobre los errores a quien lo llamo. Inicia otra solicitud pendiente o queda en espera.
4.2
Funciones de los manejadores de dispositivos
Funciones de los manejadores de dispositivos
F unciones
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. Protección del dispositivo. Proporcionar un tamaño de bloque independiente del dispositivo. Uso de buffer. Asignación de espacio en los dispositivos por bloques. Asignación y liberación de los dispositivos de uso exclusivo. Informe de errores.
Las funciones básicas del software independiente del dispositivo son: y y y
fectuar las funciones de e / s comunes a todos los dispositivos. Proporcionar una interfaz uniforme del software a nivel usuario. l software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial: ste nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado. l nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir. y
y
El software independiente del dispositivo debe: Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos. Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico. y
y
4.3
Estructura de datos para manejo de dispositivos
¿Qué es una estructura? Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniería correcta para su f ácil actualización y para que puedan cumplir su f unción correctamente. La estructura es generalmente modular, cada módulo cumple una f unción determina da e interactúa con los demás módulos. Estructura simple
El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interf aces y niveles de f uncionalidad no están bien def inidos. Los programas de aplicación pueden acceder a operaciones básicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido por alguna f alla. Además este sistema, también esta limitado al hardware sobre el que corre. Otra estructura simple es la utilizada por la versión original de UNIX, esta consiste de dos partes separadas, el kernely los programas de sistemas . El kernel f ue posteriormente separado en manejadores (drivers) de dispositivos y una serie de interf aces. El kernel provee el sistema de archivos, la programación de CPU, el administrador de memoria y otras f unciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente. Estructura por capas (layers) Las nuevas versiones de UNIX se diseñaron para hardware mas avanzado. Para dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeñas partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones que se ejecutan sobre este. La modularizacion de un sistema se puede presentar de varias f ormas, la mas utilizada es la de capas, la cual consiste en dividir al sistema operativo en un numero de capas. La capa de menor nivel es el hardware y la de mayor
nivel es la interf az con el usuario. La principal ventaja es que cada capa cumple con una serie de f unciones y servicios que brinda a las otras capas, esto permite una mejor organización del sistema operativo y una depuración mas f ácil de este. Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inf erior. Una capa no necesita saber como se implementan estas f unciones, solo necesita saber que operaciones puede realizar.
4.4
Operaciones de entrada/salida
Funciones que realizan Vamos
a señalar las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida: - Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S. - Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). - Sincronización y coordinación de las operaciones. Esta última función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes). Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones: - Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información. - Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico. Para realizar estas funciones la CPU gestionara las líneas de control necesarias. Definiremos una operación de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la realización de una operación de E/S se deben efectuar las siguientes funciones:
- R ecuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación. - Sincronización de velocidad entre la CPU y el periférico. - Detección de errores (e incluso corrección) mediante la utilización de los códigos necesarios (bits de paridad, códigos de redundancia cíclica, etc.)
- Almacenamiento temporal de la información. Es más eficiente utilizar un buffer temporal específico para las operaciones de E/S que utilizan el área de datos del programa. - Conversión de códigos, conversión serie/paralelo, etc.
CONCLUSION
En conclusión podemos de decir que la interacción entre un dispos itivo y el usuario se lleva a cabo gracias al S O y los controladores que el dispositivo posee, ya que si el dispositivo a instalar no poseyera sus debidos controladores no se lograría la conexión entre este y el S O, también se abarco los debidos pasos que el S O debe llevar a cabo para la correcta instalación de este. Esperemos que esta información allá sido de gran utilidad y le sirva para su futura aplicación, y que la información brindada le allá sido clara y concisa. Con cariño sus afectuosos y mejores alumnos.
R EFER ENCIAS
http://www.elprisma.com/apuntes/ingenieria_de_sistemas/sistemasoperativosf undamentos/default4.asp http://sistemasoperativos.angelfire.com/html/4.4.html http://mitecnologico.com