P. 1
Software de Entrada y Salida

Software de Entrada y Salida

|Views: 35|Likes:
Publicado porJhury Leon Sosa

More info:

Published by: Jhury Leon Sosa on Aug 02, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

08/05/2013

pdf

text

original

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ó más o menos en responder a su petición.

Manejadores de Dispositivos. El sistema debe proveer los manejadores de dispositivos necesarios para los periféricos, así como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la información, los medios mecánicos, 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 técnicas 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 más posible, de ofrecer un conjunto de utilerías para accesar periféricos 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 mayoría 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 librerías en donde el usuario si tiene poder de decisión (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 impresión y correo electrónico.

• Solo si los niveles inferiores no pueden resolver el problema. O. . Otro aspecto importante del software es el manejo de errores de e / s: • Generalmente los errores deben manejarse lo más cerca posible del hardware. • El problema debe ser resuelto por el S. se informa a los niveles superiores. Todos los archivos y dispositivos adquieren direcciones de la misma forma. • Software a nivel usuario.: impresoras). Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores): • La mayoría de la e / s es asíncrona: la CPU inicia la transferencia y realiza otras tareas hasta una interrupción.: discos) y los de uso exclusivo (ej. O. El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo. • La programación es más fácil si la e / s es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.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. • Software de S. También el S. • Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente. sin tener que modificar los programas para cada tipo de dispositivo. El S. Generalmente el software de e / s se estructura en capas • Manejadores de interrupciones. es decir mediante el nombre de su ruta de acceso. O. debe administrar los dispositivos compartidos (ej. • Directivas de dispositivos. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario. O. independiente de los dispositivos.

: • Cada proceso que inicie una operación de e / s se bloquea hasta que termina la e / s y ocurra la interrupción. 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. -Presentar una interfaz de E/S sencilla. Para conseguir estos objetivos se estructura el software de E/S en capas.Los objetivos más importantes del software de E/S son: -Ocultar la complejidad del hardware a los procesos que se ejecutan por encima del sistema operativo. O. 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 . • El procedimiento de interrupción realiza lo necesario para desbloquear el proceso que lo inicio.

o Regresa información de estado sobre los errores a quien lo llamó. etc. o Envía los comandos al controlador al escribir en los registros de dispositivo del mismo. o Si todo esta o. o Inicia otra solicitud pendiente o queda en espera . o Verificar si el motor de la unidad funciona. transferirá los datos al software independiente del dispositivo. Cada controlador posee uno o más registros de dispositivos: • Se utilizan para darle los comandos. o Al finalizar la operación debe verificar los errores. La labor de un manejador de dispositivos es la de: • Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. se debe traducir de términos abstractos a términos concretos: • El manejador de disco debe: o Estimar el lugar donde se encuentra en realidad el bloque solicitado. o Verificar si el brazo está colocado en el cilindro adecuado.k. • Verificar la ejecución de dichas solicitudes. • Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada. La solicitud de e / s. una interrupción lo libera de este bloqueo. o Resumiendo: debe decidir cuáles son las operaciones necesarias del controlador y su orden. o Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo.MANEJADORES DE DISPOSITIVOS (drivers) Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos. Si al recibir una solicitud el manejador está ocupado con otra solicitud. Para un disco. por ej. agregara la nueva solicitud a una cola de solicitudes pendientes.

• Protección del dispositivo. • Proporcionar una interfaz uniforme del software a nivel usuario. • Nombres de los dispositivos. El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado. El software independiente del dispositivo debe: • Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos. que se utiliza para localizar el manejador apropiado. • Informe de errores. • El nodo-i contiene también el número secundario de dispositivo.SOFTWARE DE ENTRADA Y SALIDA INDEPENDIENTE DE DISPOSITIVOS Funciones generalmente realizadas por el software independiente del dispositivo: • Interfaz uniforme para los manejadores de dispositivos. • Proporcionar un tamaño uniforme de los bloques. • Uso de buffers. que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir. Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial: • Este nodo-i contiene el número principal del dispositivo. • Proporcionar un tamaño de bloque independiente del dispositivo. • Asignación y liberación de los dispositivos de uso exclusivo. por ej. Las funciones básicas del software independiente del dispositivo son: • Efectuar las funciones de e / s comunes a todos los dispositivos.: considerar varios sectores físicos como un solo bloque lógico . • Asignación de espacio en los dispositivos por bloques.

• Se crea un proceso especial. Otra categoría importante de software de e / s a nivel usuario es el sistema de spooling. único con permiso para utilizar el archivo especial de la impresora. son los sistemas de correo electrónico . O. La biblioteca estándar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario. Un ej. • Posteriormente. El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramación: • El ejemplo típico lo constituye la impresora de líneas. el proceso especial lo toma y transmite. • Se crea un directorio de spooling. • El proceso especial. Para imprimir un archivo: • Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling. Una pequeña parte consta de bibliotecas ligadas entre sí con los programas del usuario. 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 también es aplicable para la transferencia de archivos entre equipos conectados: • Un usuario coloca un archivo en un directorio de spooling de la red.ESPACIO DEL USUARIO PARA SOFTWARE DE ENTRADA Y SALIDA La mayoría del software de e / s está dentro del S. llamado demonio en algunos sistemas. • Los procesos de usuario no abren el archivo correspondiente a la impresora.

O. Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente. sin tener que modificar los programas para cada tipo de dispositivo. Las capas superiores deben presentar una interfaz agradable. se informa a los niveles superiores. El Sistema Operativo se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario. Objetivos del Software de Entrada/Salida. La idea básica 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. Todos los archivos y dispositivos adquieren direcciones de la misma forma. Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores):     La mayoría de la entrada/salida es asíncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupción. Solo si los niveles inferiores no pueden resolver el problema. Otro aspecto importante del software es el manejo de errores de entrada/salida:    Generalmente los errores deben manejarse lo más cerca posible del hardware. limpia y regular a los usuarios. es decir mediante el nombre de su ruta de acceso.SOFTWARE ENTRADA Y SALIDA Principios de Software de entrada/salida. El problema debe ser resuelto por el S. La programación es más fácil si la entrada/salida es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer. Un concepto clave es la independencia del dispositivo:     Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos. . El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo. La programación es más fácil si la entrada/salida es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.

O. Software a nivel usuario. Generalmente el software de entrada/salida se estructura en capas:     Manejadores de interrupciones. También el Sistema Operativo debe administrar los dispositivos compartidos (ej. . independiente de los dispositivos. Directivas de dispositivos. Software de S.: discos) y los de uso exclusivo (ej.: impresoras).

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->