Pgina 2 CAPAS DEL SOFTWARE DE E/S Por lo general, el software de E/S se organiza en cuatro capas, como se muestra en la figura 5-11. Cada capa tiene una funcin bien definida que realizar, y una interfaz bien definida para los niveles adyacentes. La funcionalidad y las interfaces difieren de un sistema a otro, por lo que el anlisis que veremos a continuacin, que examina todas las capas empezando desde el inferior, no es especfico de una sola mquina.
Software de Entrada/Salida de capa de Usuario Funcin Consiste en bibliotecas que se enlazan con los programas de usuario. Tambin el sistema de spooling o reas de trabajo encolados, permite conseguir una explotacin concurrente de dispositivos de acceso exclusivo, como por ejemplo la impresora. Caractersticas El uso de colas (spooling) es una manera de lidiar con los dispositivos de E/S dedicados en un sistema de multiprogramacin. Un ejemplo de un procedimiento similar para la entrada es scanf, que lee los datos de entrada y los almacena en variables descritas en una cadena de formato que utiliza la misma sintaxis que printf. Cuando un programa de usuario trata de leer un bloque de un archivo, se invoca el sistema operativo para llevar a cabo la llamada. Sistemas Operativos Unidad Pinal de Amoles
J o s L u i s P r e z O r t e g a
Pgina 3 Software de Sistema Operativo independiente del Dispositivo Funcin Presentar una interfaz uniforme a los programas de usuario; la misma operacin de entrada o de salida independientemente del dispositivo al que se desea acceder. Identificar al dispositivo a partir del nombre simblico; asignndoles nombres a los dispositivos. Caractersticas Proteccin de los dispositivos; debe disponer de un sistema que permita determinar quien tiene acceso a qu dispositivos. Tamao de bloque; a los dispositivos de bloque la trata como si todos tuvieran el mismo tamao de bloque (conocido como bloque lgico). El driver de cada uno de ellos es el encargado de comprobar si a cada uno de ellos le corresponde 1 o ms sectores del disco. Almacenamiento Intermedio; Si se solicita informacin de un bloque que est cargado en el cach su lectura no se ordena al driver pero si no est cargado en cach se ordena la lectura del bloque completo. (Lecturas por adelantado). Controladores de Dispositivos Funcin El driver es el software que se comunica con el hardware de E/S. Existe un driver para cada controlador que tengamos conectado a la computadora. Por ejemplo, si el sistema tiene tipos diferentes de discos duros, al usuario las diferencias tcnicas entre ellos no le deben importar, y los drivers le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos. Caractersticas Es el nico software que conoce las caractersticas del dispositivo. Programa al controlador imprimiendo en sus registros. Se encarga de traducir peticiones del nivel superior Encola las peticiones que van llegando para que el driver las trate ms tarde. Sistemas Operativos Unidad Pinal de Amoles
J o s L u i s P r e z O r t e g a
Pgina 4 Manejadores de Interrupciones Funcin Su principal objetivo es que el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo est ocupado y se debe suspender el proceso o sincronizar algunas tareas. Caractersticas Guarda los registros (incluyendo el PSW) que no han sido guardados por el hardware de la interrupcin. Establece un contexto para el procedimiento de servicio de interrupciones. Para ello tal vez sea necesario establecer el TLB, la MMU y una tabla de pginas. Establece una pila para el procedimiento de servicio de interrupciones. Reconoce el controlador de interrupciones. Si no hay un controlador de interrupciones centralizado, rehabilitar las interrupciones. Copia los registros desde donde se guardaron (posiblemente en alguna pila) a la tabla de procesos. Ejecuta el procedimiento de servicio de interrupciones. ste extraer informacin de los registros del controlador de dispositivos que provoc la interrupcin. Elige cul proceso ejecutar a continuacin. Si la interrupcin ha ocasionado que cierto proceso de alta prioridad que estaba bloqueado cambie al estado listo, puede elegirse para ejecutarlo en ese momento. Establece el contexto de la MMU para el proceso que se va a ejecutar a continuacin. Tambin puede ser necesario establecer un TLB. Carga los registros del nuevo proceso, incluyendo su PSW. Empieza a ejecutar el nuevo proceso. Referencias Varios Autores (10 de diciembre de 2009). Principios de Software De Entrada/Salida. Consultado el 19 de septiembre de 2014. Recuperado de: http://tesciequipo7.blogspot.mx/2009/12/52- principios-de-software-de-entrada.html Tanenbaum (2009). Sistemas Operativos Modernos 3ra Edicin. Tema 5.3. Capas del Software de Entrada/salida. Pg. 348-359. Consultado y recuperado el 22 de septiembre de 2014.