0% encontró este documento útil (0 votos)
2K vistas8 páginas

Software de Entrada y Salida

El documento describe los principios y objetivos del software de entrada y salida. Explica que el software se organiza en capas, donde las capas inferiores ocultan la complejidad del hardware de las capas superiores, las cuales presentan una interfaz sencilla para los usuarios. Un objetivo clave es lograr independencia del dispositivo para que los programas puedan usarse con diferentes dispositivos sin modificaciones.

Cargado por

Jhury León Sosa
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas8 páginas

Software de Entrada y Salida

El documento describe los principios y objetivos del software de entrada y salida. Explica que el software se organiza en capas, donde las capas inferiores ocultan la complejidad del hardware de las capas superiores, las cuales presentan una interfaz sencilla para los usuarios. Un objetivo clave es lograr independencia del dispositivo para que los programas puedan usarse con diferentes dispositivos sin modificaciones.

Cargado por

Jhury León Sosa
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PRINCIPIOS DE SOFTWARE DE ENTRADA Y SALIDA Los principios de software en la entrada/salida se resumen en cuatro puntos: el software debe ofrecer manejadores

de interrupciones, manejadores de dispositivos, software que sea independiente de los dispositivos y software para usuarios.

Manejadores de Interrupciones. El primer objetivo referente a los manejadores de interrupciones consiste en que el programador o 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. Desde el punto de vista del proceso o usuario, el sistema simplemente se tard ms o menos en responder a su peticin.

Manejadores de Dispositivos. El sistema debe proveer los manejadores de dispositivos necesarios para los perifricos, as como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la informacin, los medios mecnicos, los niveles de voltaje y otros. Por ejemplo, si el sistema tiene varios tipos diferentes de discos duros, para el usuario o programador las diferencias tcnicas entre ellos no le deben importar, y los manejadores le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos.

Software que sea independiente de los dispositivos. Este es un nivel superior de independencia que el ofrecido por los manejadores de dispositivos. Aqu el sistema operativo debe ser capaz, en lo ms posible, de ofrecer un conjunto de utileras para accesar perifricos o programarlos de una manera consistente. Por ejemplo, que para todos los dispositivos orientados a bloques se tenga una llamada para decidir si se desea usar 'buffers' o no, o para posicionarse en ellos.

Software para Usuarios. La mayora de las rutinas de entrada - salida trabajan en modo privilegiado, o son llamadas al sistema que se ligan a los programas del usuario formando parte de sus aplicaciones y que no le dejan ninguna flexibilidad al usuario en cuanto a la apariencia de los datos. Existen otras libreras en donde el usuario si tiene poder de decisin (por ejemplo la llamada a "printf" en el lenguaje"C"). Otra facilidad ofrecida son las reas de trabajos encolados (spooling areas), tales como las de impresin y correo electrnico.

OBJETIVOS DE SOFTWARE DE ENTRADA Y SALIDA Un concepto clave es la independencia del dispositivo: Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo. El problema debe ser resuelto por el S. O. El objetivo de lograr nombres uniformes est muy relacionado con el de independencia del dispositivo. Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.

Otro aspecto importante del software es el manejo de errores de e / s: Generalmente los errores deben manejarse lo ms cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperacin se puede hacer en un nivel inferior y de forma transparente. Otro aspecto clave son las transferencias sncronas (por bloques) o asncronas (controlada por interruptores): La mayora de la e / s es asncrona: la CPU inicia la transferencia y realiza otras tareas hasta una interrupcin. La programacin es ms fcil si la e / s es sncrona (por bloques): el programa se suspende automticamente hasta que los datos estn disponibles en el buffer.

El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario. Tambin el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras). Generalmente el software de e / s se estructura en capas Manejadores de interrupciones. Directivas de dispositivos. Software de S. O. independiente de los dispositivos. Software a nivel usuario.

Los objetivos ms importantes del software de E/S son: -Ocultar la complejidad del hardware a los procesos que se ejecutan por encima del sistema operativo. -Presentar una interfaz de E/S sencilla. Para conseguir estos objetivos se estructura el software de E/S en capas, de forma que las capas inferiores ocultan la complejidad del hardware a las capas superiores y stos se encargan de conseguir una interfaz sencilla.

MANEJADORES DE INTERRUPCIONES Las interrupciones deben ocultarse en el S. O.: Cada proceso que inicie una operacin de e / s se bloquea hasta que termina la e / s y ocurra la interrupcin. El procedimiento de interrupcin realiza lo necesario para desbloquear el proceso que lo inicio. MANEJADORES DE INTERRUPCIONES: 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

MANEJADORES DE DISPOSITIVOS (drivers) Todo el cdigo que depende de los dispositivos aparece en los manejadores de dispositivos. Cada controlador posee uno o ms registros de dispositivos: Se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su ejecucin 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 ejecucin 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.

La solicitud de e / s, por ej. Para un disco, se debe traducir de trminos abstractos a trminos concretos: El manejador de disco debe: o Estimar el lugar donde se encuentra en realidad el bloque solicitado. o Verificar si el motor de la unidad funciona. o Verificar si el brazo est colocado en el cilindro adecuado, etc. o Resumiendo: debe decidir cules son las operaciones necesarias del controlador y su orden. o Enva los comandos al controlador al escribir en los registros de dispositivo del mismo. o Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupcin lo libera de este bloqueo. o Al finalizar la operacin debe verificar los errores. o Si todo esta o.k. transferir los datos al software independiente del dispositivo. o Regresa informacin de estado sobre los errores a quien lo llam. o Inicia otra solicitud pendiente o queda en espera

SOFTWARE DE ENTRADA Y SALIDA INDEPENDIENTE DE DISPOSITIVOS Funciones generalmente realizadas por el software independiente del dispositivo: Interfaz uniforme para los manejadores de dispositivos. Nombres de los dispositivos. Proteccin del dispositivo. Proporcionar un tamao de bloque independiente del dispositivo. Uso de buffers. Asignacin de espacio en los dispositivos por bloques. Asignacin y liberacin de los dispositivos de uso exclusivo. Informe de errores.

Las

funciones

bsicas

del

software

independiente

del

dispositivo

son:

Efectuar las funciones de e / s comunes a todos los dispositivos. Proporcionar una interfaz uniforme del software a nivel usuario. El software independiente del dispositivo asocia los nombres simblicos de los dispositivos con el nombre adecuado. Un nombre de dispositivo determina de manera nica el nodo-i de un archivo especial: Este nodo-i contiene el nmero principal del dispositivo, que se utiliza para localizar el manejador apropiado. El nodo-i contiene tambin el nmero secundario de dispositivo, que se transfiere como parmetro al manejador para determinar la unidad por leer o escribir. El software independiente del dispositivo debe: Ocultar a los niveles superiores los diferentes tamaos de sector de los distintos discos. Proporcionar un tamao uniforme de los bloques, por ej.: considerar varios sectores fsicos como un solo bloque lgico

ESPACIO DEL USUARIO PARA SOFTWARE DE ENTRADA Y SALIDA La mayora del software de e / s est dentro del S. O. Una pequea parte consta de bibliotecas ligadas entre s con los programas del usuario. La biblioteca estndar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario. Otra categora importante de software de e / s a nivel usuario es el sistema de spooling.

El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramacin: El ejemplo tpico lo constituye la impresora de lneas. Los procesos de usuario no abren el archivo correspondiente a la impresora. Se crea un proceso especial, llamado demonio en algunos sistemas. Se crea un directorio de spooling.

Para imprimir un archivo:

Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling. El proceso especial, nico con permiso para utilizar el archivo especial de la impresora, debe imprimir los archivos en el directorio. Se evita el posible problema de tener un proceso de usuario que mantenga un recurso tomado largo tiempo. Un esquema similar tambin es aplicable para la transferencia de archivos entre equipos conectados: Un usuario coloca un archivo en un directorio de spooling de la red. Posteriormente, el proceso especial lo toma y transmite. Un ej. son los sistemas de correo electrnico

SOFTWARE ENTRADA Y SALIDA


Principios de Software de entrada/salida. La idea bsica es organizar el software como una serie de capas donde: Las capas inferiores se encarguen de ocultar las peculiaridades del hardware a las capas superiores. Las capas superiores deben presentar una interfaz agradable, limpia y regular a los usuarios.

Objetivos del Software de Entrada/Salida. Un concepto clave es la independencia del dispositivo:

Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo. El problema debe ser resuelto por el S. O. El objetivo de lograr nombres uniformes est muy relacionado con el de independencia del dispositivo. Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.

Otro aspecto importante del software es el manejo de errores de entrada/salida:


Generalmente los errores deben manejarse lo ms cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperacin se puede hacer en un nivel inferior y de forma transparente.

Otro aspecto clave son las transferencias sncronas (por bloques) o asncronas (controlada por interruptores):

La mayora de la entrada/salida es asncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupcin. La programacin es ms fcil si la entrada/salida es sncrona (por bloques): el programa se suspende automticamente hasta que los datos estn disponibles en el buffer. La programacin es ms fcil si la entrada/salida es sncrona (por bloques): el programa se suspende automticamente hasta que los datos estn disponibles en el buffer. El Sistema Operativo se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.

Tambin el Sistema Operativo debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).

Generalmente el software de entrada/salida se estructura en capas:


Manejadores de interrupciones. Directivas de dispositivos. Software de S. O. independiente de los dispositivos. Software a nivel usuario.

También podría gustarte