UNIDAD IV “ADMINISTRACION DE ENTRADA/SALIDA” ALUMNOS JAIME GONZALEZ HERNANDEZ JOSE GUADALUPE HERNANDEZ CASTILLO ALMA DELIA HERNANDEZ HERNANDEZ ABEL HIRAM HERNANDEZ JIMENEZ CESAR ORTIZ OLGUIN Carrera: Materia: INGENIERÍA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS Tamazunchale, S.L.P. julio de 2010. ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS ÍNDICE No. Pág. 4. Administración de entrada/salida……………………………………………… 2 4.1Dispositivos y manejadores de dispositivos (device drivers)………………. 3 4.2 mecanismos y funciones de los manejadores de dispositivos (device drivers)………………………………………………………………………………. 4.3 Estructuras de datos para manejo de dispositivos…………………………. 4.4 Operaciones de entrada/salida………………………………………………. Bibliografía……………………………………………………………………….. 6 7 8 10 1 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS 4. ADMINISTRACION DE ENTRADA/SALIDA CONCEPTOS BASICOS DE E/S El sistema de entrada y salida es la parte del S.O. encargada de la administración de los dispositivos de E/S. Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos. Este sistema proporciona un medio para tratar los archivos y dispositivos de manera uniforme, actuando como interfaz entre los usuarios y los dispositivos de e/s que pueden ser manipulados por órdenes de alto nivel. El SO debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos: Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar. Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones donde sea necesario. Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivos físicos sin que sea necesario remodelar el sistema de E/S del SO. Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug & play. 2 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS 4.1 DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS (DEVICE DRIVERS) DISPOSITIVOS DE E/S Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos: Dispositivos de interfaz de usuario. Dispositivos de almacenamiento. Dispositivos de comunicaciones. DISPOSITIVOS DE INTERFAZ DE USUARIO Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). DISPOSITIVOS DE ALMACENAMIENTO Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la CPU. DISPOSITIVOS DE COMUNICACIONES Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los módem, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local. 3 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS MANEJADORES DE DISPOSITIVOS (DEVICE DRIVERS) Las unidades de E/S tienen una parte mecánica que es el propio dispositivo y otra electrónica que se llama controlador del dispositivo y actúa como intermediario entre la computadora y los dispositivos. Un controlador de dispositivo (llamado normalmente controlador, o, en inglés, driver) es un programa informático que permite al sistema operativo interactuar con un periférico. El controlador convierte el flujo de bits en serie transmitidos desde un dispositivo en un bloque de bytes para la CPU y realizar las correcciones de los errores que se puedan cometer en la transmisión. El controlador dispone de tres capas funcionales: La interfaz del bus, el controlador y la interfaz del dispositivo. PUERTOS DE E/S El controlador contiene una serie de registros llamados puertos de entrada/salida. Estos registros son accesibles (pueden ser leídos y modificados) mediante la ejecución de instrucciones máquina. Las operaciones de E/S se realizan a través de la carga y lectura de estos registros. Casi todo controlador dispone de los siguientes registros: Registros De Estado Registro De Ordenes Buffer REGISTROS DE ESTADO Indica la situación actual del dispositivo (ocupado o desocupado). REGISTROS DE ÓRDENES En este registro se escribe la operación de E/S que se desea que realice el dispositivo. BUFFER Un buffer es un almacén de información. El buffer del controlador se utiliza para guardar temporalmente los datos implicados en una operación de E/S. 4 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS Los controladores de dispositivo se suelen agrupar en alguna de las siguientes categorías o clases: Adaptadores de audio (tarjetas de sonido). Dispositivos de comunicación (infrarrojos, módems, etc). Dispositivos de visualización; pantallas (displays). Teclados. Ratón (“mouse” y otros señaladores gráficos). Dispositivos multimedia. Dispositivos de Red. Impresoras. Almacenamiento 5 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS 4.2 MECANISMOS Y FUNCIONES DE LOS MANEJADORES DE DISPOSITIVOS (DEVICE DRIVERS) Los manejadores de dispositivo (device drivers) se comunican directamente con los dispositivos o sus controladores o canales. Los manejadores de dispositivos tienen la función de comenzar las operaciones de E/S en un dispositivo y procesar la terminación de una solicitud de E/S. El sistema de archivos básico 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. El supervisor básico de E/s se responsabiliza de iniciar y terminar la E/s con archivos. Selecciona el dispositivo donde se realizará la E/S, según el archivo seleccionado. Planifica los accesos a disco y cinta, asigna los buffers de E/S y reserva la memoria secundaria. La E/S lógica tiene la función de permitir a los usuarios y aplicaciones acceder a los registros. El método de acceso es el nivel más cercano al usuario, proporcionando una interfaz entre las aplicaciones y los archivos. 6 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS 4.3 ESTRUCTURAS DE DATOS PARA MANEJO DE DISPOSITIVOS. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos términos: BUFFERING (uso de memoria intermedia). Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que los datos se han leído y la CPU va a iniciar inmediatamente la operación con ellos, el dispositivo de entrada es instruido para iniciar inmediatamente la siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU esté libre para el siguiente grupo de datos, el dispositivo de entrada habrá terminado de leerlos. La CPU podrá empezar el proceso de los últimos datos leídos, mientras el dispositivo de entrada iniciará la lectura de los datos siguientes. SPOOLING Esta forma de procesamiento se denomina spooling, utiliza el disco como un buffer muy grande para leer tan por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos. Es una característica utilizada en la mayoría de los sistemas operativos. 7 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS 4.4 OPERACIONES DE ENTRADA/SALIDA Tanto en la E/S programada como la basada en interrupciones, la CPU debe encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador. Una mejora importante para incrementar la concurrencia entre la CPU y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access). ACCESO DIRECTO A MEMORIA (DMA) Este dispositivo permite la transferencia directa de información entre la memoria y los periféricos o viceversa, sin requerir intervención alguna por parte del procesador. El DMA necesita: 1. Registro: almacena la dirección de memoria desde donde se produce la transferencia. 2. Registro contador: guarda la longitud de bloque a transferir. 3. Bits: indica si la operación es de lectura o escritura. 4. Bloque de control: controla el funcionamiento del sistema. Existen 3 tipos de transferencia para el máximo aprovechamiento del bus: 1. Por ráfagas: el DMA toma el control del bus y no lo suelta hasta terminar la transferencia. 2. Por robo de ciclo: el DMA toma el bus durante un ciclo enviando una palabra cada vez. 3. Transparente: se aprovechan los ciclos en que el procesador no usa el bus. 8 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS OPERACIONES DE E/S Existen varias operaciones, las más importantes son las siguientes: Lectura El canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo número de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato. Escritura El canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura. Control Se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc. Bifurcación Cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. 9 ADMINISTRACION DE ENTRADA/SALIDA SISTEMAS OPERATIVOS BIBLIOGRAFIA http://www.frm.utn.edu.ar/soperativos/Archivos/archivos.pdf http://sistemas.itlp.edu.mx/tutoriales/sistemasoperativos/t41.htm http://ditec.um.es/deiso/apuntes/tema6.pdf http://diablinvsangelito27.blogspot.com/2009/11/mecanismos-y-funcionesde-los.html http://wwwdi.ujaen.es/~lina/TemasSO/DEFINICIONYCONTROLDEPROCE SO/6ApendiceI.MultiprogramacionyTiempoCompartido.htm 10