Este documento describe las estructuras de datos y operaciones de entrada/salida utilizadas para el manejo de dispositivos en los sistemas operativos. Explica que los sistemas operativos modernos están divididos modularmente en capas, con cada capa que cumple una función específica. También describe los conceptos de buffering, spooling, manejo de interrupciones, acceso directo a memoria y las diferentes operaciones de entrada/salida que pueden realizarse.
0 calificaciones0% encontró este documento útil (0 votos)
395 vistas8 páginas
Este documento describe las estructuras de datos y operaciones de entrada/salida utilizadas para el manejo de dispositivos en los sistemas operativos. Explica que los sistemas operativos modernos están divididos modularmente en capas, con cada capa que cumple una función específica. También describe los conceptos de buffering, spooling, manejo de interrupciones, acceso directo a memoria y las diferentes operaciones de entrada/salida que pueden realizarse.
Este documento describe las estructuras de datos y operaciones de entrada/salida utilizadas para el manejo de dispositivos en los sistemas operativos. Explica que los sistemas operativos modernos están divididos modularmente en capas, con cada capa que cumple una función específica. También describe los conceptos de buffering, spooling, manejo de interrupciones, acceso directo a memoria y las diferentes operaciones de entrada/salida que pueden realizarse.
Este documento describe las estructuras de datos y operaciones de entrada/salida utilizadas para el manejo de dispositivos en los sistemas operativos. Explica que los sistemas operativos modernos están divididos modularmente en capas, con cada capa que cumple una función específica. También describe los conceptos de buffering, spooling, manejo de interrupciones, acceso directo a memoria y las diferentes operaciones de entrada/salida que pueden realizarse.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 8
MANEJO DE DISPOSITIVOS
Tecnológico Nacional de México
Instituto Tecnológico de Tijuana
Departamento de Sistemas y Computación
Ingeniería Informática
Sistemas Operativos – IF4A
Unidad 3
Jimenez Perez Emmanuel – 18211924
MC. Adolfo Medina Cervantes
Tijuana, B.C a martes 21 de abril de 2020
Manejo de dispositivos A. Estructuras de datos para Manejo de dispositivos 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 función correctamente. La estructura es generalmente modular, cada módulo cumple una función determinada e interactúa con los demás módulos. Estructura simple o sistema monolítico El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. 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 falla. Además, este sistema, también está 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 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 programación de CPU, el administrador de memoria y otras funciones 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 más 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 modularización de un sistema se puede presentar de varias formas, la más 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 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 organización del sistema operativo y una depuración más fácil de este. Buffering (uso de memoria interna) 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 introducido para iniciar inmediatamente la siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este 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 grade 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. Los procesos de usuario emiten peticiones de Entrada/Salida al sistema operativo. Cuando un proceso solicita una operación de Entrada/Salida, 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. Las peticiones se procesan de forma estructurada en las siguientes capas: • Manejadores de interrupción. • Manejadores de dispositivos o drivers. • Software de Entrada/Salida independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos. • Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario. • El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado. Manejadores de interrupción Los manejadores de interrupción se encargan de tratar las interrupciones que generan los controladores de dispositivos una vez que éstos están listos para la transferencia de datos o bien han leído o escrito los datos de memoria principal en caso de acceso directo a memoria. Para tratar dicha interrupción se ejecuta el correspondiente manejador de interrupción cuyo efecto es el de salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene por qué ser el interrumpido). Los manejadores de interrupción suelen hacer algo más que comunicar el evento al manejador de dispositivo. Cuando una interrupción ocurre muy frecuentemente, caso del reloj, o cuando la cantidad de información a transferir es muy pequeña, caso del teclado, sería muy costoso comunicar siempre el evento al manejador de dispositivo asociado. En estos casos, el propio manejador de interrupción registra la ocurrencia del evento, bien mediante el incremento de una variable global para el reloj o la acumulación de caracteres en un buffer del teclado. La notificación al manejador se hace únicamente cada cierto número de ocurrencias del evento, en el caso del reloj, o activando unflag que indica que hay datos en el buffer del teclado. B. Operaciones de Entrada /salida Tanto en la E/S programada como la basada en interrupciones, la UCP 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 UCP y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la operación completa de E/S. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access). Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal, sin requerir intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información: • Tipo de operación: lectura o escritura. • Periférico involucrado en la operación. • La dirección de memoria desde la que se va a leer o a la que va a escribir directamente con el controlador de dispositivo (dirección). • El número de bytes a transferir (contador). Donde el campo Operación corresponde al código de operación de las instrucciones máquina normal. Especifica la operación que debe realizar la CCW. La unidad de control decodifica este campo y envía las señales adecuadas de control al dispositivo. 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. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar. Los pasos a seguir en una operación de E/S con DMA son los siguientes: 1. Programación de la operación de E/S. Se indica al controlador la operación, los datos a transferir y la dirección de memoria sobre la que se efectuará la operación. 2. El controlador contesta aceptando la petición de E/S. 3. El controlador le ordena al dispositivo que lea (para operación de lectura) una cierta cantidad de datos desde una posición determinada del dispositivo a su memoria interna. 4. Cuando los datos están listos, el controlador los copia a la posición de memoria que tiene en sus registros, incrementa dicha posición de memoria y decrementa el contador de datos pendientes de transferir. 5. Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer. 6. Cuando el registro de contador está a cero, el controlador interrumpe a la UCP para indicar que la operación de DMA ha terminado. Conclusión Este trabajo me permitió conocer más como se manejan los diferentes dispositivos en un computador y que hay diferentes tipos de manejos de estos, los cuales permiten que el computador, el sistema operativo, kernel, manejadores e interfaz de usuario se manejen en un entorno jerárquico que ayude a optimizar y mejorar su funcionamiento a la hora de realizar las múltiples tareas asignadas y control de dispositivos del computador. También pude aprender las operaciones que realizar los dispositivos de entrada/salida los cuales no son de mucha utilidad y que se realizan en tiempos muy rápidos, ya sea para la lectura, escritura o control de los dispositivos, sabiendo que estos interactúan con el manejador del dispositivo y la unidad de control que decodifica la instrucción o tarea a realizar. Referencias • https://sites.google.com/site/materiasisoperativo/unidad-4-administracion- de-entrada-salida/4-3-estructuras-de-datos-para-manejo-de-dispositivos • https://sites.google.com/site/materiasisoperativo/unidad-4-administracion- de-entrada-salida/4-4-operaciones-de-entrada-salida