Unidad 4 Administración de Entrada

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

INGENIERA EN SISTEMAS COMPUTACIONALES.

MATERIA: Sistemas Operativos. UNIDAD 4 ADMINISTRACIN DE ENTRADA/SALIDA ELABORADO POR: Francisco Ramn Osorio Prez. E09020665 ING. JOS RAMN BELTRAN GUZMAN.

H.VERACRUZ, VERACRUZ

08/04/2014

NDICE

INTRDUCCIN 4. ADMINISTRACIN DE ENTRADA/SALIDA 4 4.1 Dispositivos y manejadores de dispositivos 4 Caractersticas de los dispositivos Qu es un manejador de dispositivos? 5 Diferencia entre dispositivo modo bloque y modo caracter 4.2 Funciones de los Manejadores de Dispositivos 7 Funciones de los mdulos de E/S 8

Funcin de los controladores de dispositivos 4.3 Estructuras de datos para manejo de dispositivos 9 Buffering Spooling. 4.4 13 Operaciones de Entrada 10 11 /Salida

Tcnicas 13

de

Comunicacin

de

E/S

CONCLUSIN 17

Unidad 4 Administracin de Entrada/Salida


Introduccin

Cuando hablamos u omos hablar de dispositivos se nos viene a la mente cualquier tipo de aparato fsico y electrnico que nos ayudan a realizar o mejorar la eficiencia de un trabajo realizado en nuestra vida diaria, esto sin pensar cual es su estructura o que da paso a que solo dicho numero de estos sean capaces de ayudarnos en un trabajo especfico. Hay que entender que como cualquier aparato (por as llamarlo) que est relacionado a un equipo de cmputo es desarrollado con el fin de ser til, para esto su base es un software pero con diferentes caractersticas que lo llevan a ser parte de un grupo de software muy especial llamado Drivers o Controladores dichos drivers son programados con el fin de que un sistema operativo pueda identificar nuestro dispositivo y as proceder a su uso. En el siguiente trabajo de investigacin nos adentraremos a la estructura de un dispositivo con el fin de entender la lgica de programacin y por supuesto, su funcin. Daremos a conocer caractersticas especficas como podra ser la velocidad de transmisin de datos, que tipo de operaciones pueden realizar e incluso que protocolo de comunicacin son usados para los diferentes dispositivos.

4.1 Dispositivos y Manejadores de Dispositivos Utilizaremos el trmino dispositivo para referirnos a cualquier elemento del computador que no sea el procesador o la memoria. Habitualmente los dispositivos se encargan de la entrada/salida, aunque la gestin de dispositivos hay que entenderla en sentido amplio, incluyendo los dispositivos de almacenamiento secundario y los de comunicaciones, e incluso la gestin del tiempo y de la energa. Esta heterogeneidad hace que el tratamiento de los dispositivos por el sistema operativo sea difcilmente generalizable para un estudio sistemtico. En este captulo vamos a intentar exponer un enfoque general de la entrada/salida.

Caractersticas de los dispositivos Los dispositivos se caracterizan por su heterogeneidad, lo que introduce complejidad en el sistema operativo. Algunas de las caractersticas en las que los dispositivos pueden diferir son las siguientes:

Unidad de transferencia. Unos dispositivos utilizan el byte como unidad de transferencia (dispositivos de caracteres, como el teclado o el ratn). Otros transfieren y/o almacenan la informacin en bloques (dispositivos de bloques, como discos y cintas magnticas). Velocidad. Los rangos en los que se mueven los dispositivos son muy amplios. Los discos y los dispositivos de comunicacin transfieren millones de caracteres

por segundo y pueden hacerlo a velocidad constante, mientras que con el teclado se transfiere a lo sumo unos cuantos caracteres por segundo, con un periodo concreto impredecible. Representacin de los datos. Incluso un mismo dispositivo puede utilizar diferentes codificaciones configurables en la instalacin, como es el caso del teclado y el monitor. Protocolos de comunicacin. La comunicacin entre el dispositivo y la CPU se realiza de acuerdo a un determinado protocolo que depende del dispositivo y del bus de comunicacin. Operaciones. Hay dispositivos de entrada, de salida y de entrada/salida. Adems, algunos dispositivos requieren operaciones especficas (por ejemplo, posicionar el cabezal de lectura/escritura en los discos). Errores. Las condiciones de error varan con la naturaleza del dispositivo. Por ejemplo, en la impresora hay que tratar la falta de papel como una situacin de error especfica, mientras que en un disco puede haber errores en el posicionamiento del cabezal.

Para proporcionar una forma homognea de direccionar los dispositivos, a nivel hardware stos se conectan al sistema mediante controladores. El sistema operativo ya no trata con el dispositivo en s mismo, sino con una interfaz que lo representa mediante un conjunto de direcciones o registros del controlador, que se pueden direccionar en el espacio de direcciones de memoria o constituir un espacio de direcciones independientes. El sistema se comunica con el controlador mediante operaciones de lectura/escritura sobre los registros de datos, estado y control, permitiendo tanto la transferencia de informacin como el diagnstico y configuracin del dispositivo. Estas operaciones las realizan las funciones de ms Bajo nivel del ncleo del sistema operativo, y son dependientes del hardware.

Qu es un manejador de dispositivo? Todos los perifricos conectados a la computadora que estamos usando para correr nuestro S.O. son tratados como archivos especiales (device files) por el sistema operativo. Un perifrico o dispositivo es una terminal, un disco duro, una impresora, un manejador de CD-ROM, o un modem. Todo lo que recibe o enva datos hacia el sistema operativo es un dispositivo.

El concepto de tratar todo en el sistema como un dispositivo es uno de los beneficios de la arquitectura Unix. Cada dispositivo tiene un archivo especial llamado manejador de dispositivo (device file), el cual incluye todas las instrucciones necesarias para que el S.O. se comunique con el dispositivo.

Cuando un nuevo dispositivo es desarrollado, puede ser usado por el S.O. escribiendo su manejador de dispositivo, el cual es usualmente un conjunto de instrucciones que explican como mandar y recibir datos.

Los manejadores de dispositivos permiten al kernel incluir solo el sistema operativo y el soporte de software. Teniendo las instrucciones para comunicarse hacia los dispositivos dentro de un conjunto de archivos. Estos pueden ser buscados cuando son necesitados (en el caso de que raramente sean usados) o almacenados en memoria todo el tiempo cuando el sistema operativo es reiniciado. Los refinamientos hechos hacia un perifrico, pequeos cambios hacia el archivo manejador del dispositivo pueden tener informado al sistema operativo de nuevas caractersticas y capacidades.

Cuando una aplicacin enva datos a un dispositivo, el kernel no tiene que preocuparse por el mecanismo. El kernel solo pasa la peticin al manejador del dispositivo y deja que ste maneje las comunicaciones. Similarmente, cuando estamos tecleando, el manejador de dispositivo de la terminal acepta la accin y la pasa al shell, filtrando cualquier cdigo especial que el kernel no conozca, traducindolo a un formato que el kernel pueda operar.

Diferencia entre dispositivos modo bloque y modo caracter. Los dispositivos de entrada salida se dividen, en general, en dos tipos: dispositivos orientados a bloques y dispositivos orientados a caracteres.

Cada tipo de dispositivo en el sistema Linux se comunica con la aplicacin en una de las formas siguientes: caracter por caracter o como un conjunto de datos en un bloque de tamao predefinido. Las terminales, impresoras y mdems asncronos son dispositivos modo caracter. Cuando se usa el modo caracter se enva uno a la vez y hace eco en la otra terminal. Los manejadores (device drivers) de disco duro y la mayora de manejadores, usan el modo bloque, porque este es el camino ms rpido para enviar o recibir grandes cantidades de informacin. Los archivos de dispositivo (device files) son llamados dispositivos modo carcter o dispositivos modo bloque, basados en la forma de comunicacin.

Cabe mencionar que los dispositivos que operan a modo carcter son distintos de los de modo bloque, en el aspecto de como el dispositivo maneja su bfer. Los dispositivos modo carcter hacen su propio bfer. Los dispositivos modo bloque, usualmente se comunican en bloques de 512 o 1024 bytes y el kernel se ocupa del bfer.

Algunos perifricos necesitan usar archivos de dispositivo a modo bloque y carcter al mismo tiempo. Los manejadores de dispositivo manejan el modo carcter y el modo bloque a travs de dos diferentes archivos de dispositivo. El archivo de dispositivo que se usa depende de como la aplicacin quiera escribir o leer datos hacia el perifrico.

El archivo de dispositivo tiene todos los detalles de si el perifrico opera a modo carcter o modo bloque. Por ejemplo, en Linux, una manera fcil de saber que tipo de modo utiliza un perifrico es obtener un listado largo del archivo de dispositivo. El listado se obtiene con el comando ls -l que muestra los permisos, dueo, grupo, etc. del archivo. Si el primer carcter es una b, indica que el perifrico opera en modo bloque y una c indica que el perifrico opera en modo carcter.

4.2 Funciones de los Manejadores de Dispositivos Cada driver maneja un tipo de dispositivo o un conjunto de dispositivos relacionados o ms o menos similares.

El trabajo del driver del dispositivo es aceptar solicitudes abstractas desde el software independiente del dispositivo y verificar si tal solicitud ha sido ejecutada.

El driver es quien conoce la estructura del dispositivo y los mecanismos que hacen que trabaje.

Funcin: Enviar rdenes a los dispositivos. Comprobar que se ha realizado correctamente. La peticin de los programas independientes del dispositivo se llevan a una cola.

El manejador de dispositivos es la nica parte del S.O. que conoce los registros del controlador.

Funciones de los mdulos de E/S:

1.- Control y temporizacin para coordinar el trfico entre los recursos internos (memoria, bus) y los dispositivos internos.

2.- Comunicacin con el procesador - Decodificacin de rdenes - Datos - Informacin de estado - Reconocimiento de direccin

3.- Comunicacin con el perifrico. Intercambio de ordenes, informacin del estado datos.

4.- Almacenamiento temporal de datos.

5.- Deteccin de errores.

Funcin de los controladores de dispositivos Cada controlador tiene uno o ms registros de dispositivos, los cuales se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su ejecucin adecuada. El manejador del disco es la nica parte del sistema operativo que conoce el nmero de registros de un controlador de disco y el uso que tienen stos. La labor de un manejador de dispositivo es la de aceptar las solicitudes abstractas que le hace el software independiente del dispositivo y verificar la ejecucin de dicha solicitud. El manejador de disco debe decidir cules son las operaciones necesarias del controlador y su orden. Si todo est en orden, el manejador dispondr de datos para transferirlos al software independiente del dispositivo.

Software de E/S independiente del dispositivo

Funciones:

Presentar una interfaz uniforme a los programas de usuario. Asignar nombres y establecer la correspondencia entre nombre y manejadores. En UNIX los dispositivos se tratan como ficheros. N de dispositivo principal: Para localizar el manejador. N de dispositivo secundario: Para especificar la unidad referenciada. Proteger a los dispositivos de accesos no permitidos. Ocultar las diferencias en las unidades de informacin tanto en los dispositivos de bloques como de caracteres. Almacenar temporalmente los datos de los dispositivos (buffering). o Completar bloques, sincronizar, entrada de teclado... Asignar espacio libre en los dispositivos de bloques. Gestionar el uso de los dispositivos dedicados. o Aceptar o rechazar las peticiones (Ej.: OPEN). Tratar los errores.

4.3 Estructuras de datos para manejo de dispositivos

Hay estructuras que se crean en memoria durante la ejecucin de los procesos relacionadas con el uso que estos hacen de los archivos. El sistema cuenta con una tabla de archivos abiertos (open file table) general donde figura informacin sobre los archivos activos (que estn siendo usados por los procesos) e ndices de referencia al archivo. Algunos sistemas requieren hacer un open previo al primer read. La llamada a sistema open toma el nombre de archivo, busca en el directorio, copia la entrada del directorio en la tabla de archivos abiertos. Todo esto si estas acciones son permitidas de acuerdo a los modos de proteccin del archivo. Un puntero para accederlo rpidamente es tambin puesto en la tabla de archivos abiertos. En un sistema multiusuario, un archivo puede ser abierto por ms de dos usuarios simultneamente, cada uno con su puntero. Hay dos tipos de tablas. La tabla por proceso contiene informacin sobre los archivos abiertos por el proceso y contiene un apuntador a la segunda tabla, la de los archivos abiertos en todo el sistema. Esta segunda tabla tiene informacin independiente del proceso que lo ejecute como ubicacin del archivo en el disco, medida del archivo, etc. La tabla del sistema tiene tambin la cantidad de procesos que tienen abierto el archivo, y con cada close este valor se va decrementando. Cuando queda en cero, se remueve esa entrada. La informacin asociada a un archivo abierto es:

Puntero (File pointer) Contador de aperturas del file (File open count) cuando lo tiene abierto mas de un proceso simultneamente Ubicacin del archivo en el disco

Hay sistemas que permiten compartir entre varios procesos, secciones de un archivo: un archivo ejecutable que reside en disco y es llevado a memoria y forma parte del espacio de direcciones de varios procesos; o archivos de datos cuyos bloques en memoria son accedidos por varios procesos.

10

En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos trminos:

Buffering

(uso

de

memoria

intermedia).

El buffering trata de mantener ocupados tanto la CPU como los dispositivos de E/S. La idea es sencilla, los datos se leen y se almacenan en un buffer, una vez que los datos se han ledo y la CPU va a iniciar inmediatamente la operacin 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 ledos, mientras el dispositivo de entrada iniciar la lectura de los datos siguientes. Para la salida, el proceso es anlogo. En este caso los datos de salida se descargan en otro buffer hasta que el dispositivo de salida pueda procesarlos. Este sistema soluciona en forma parcial el problema de mantener ocupados todo el tiempo la CPU y los dispositivos de E/S. Ya que todo depende del tamao del buffer y de la velocidad de procesamiento tanto de la CPU como de los dispositivos de E/S.

El manejo de buffer es complicado. Uno de los principales problemas reside en determinar tan pronto como sea posible que un dispositivo de E/S haya finalizado una operacin. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo de E/S acaba con una operacin interrumpe a la CPU, en ese momento la CPU detiene lo que est haciendo e inmediatamente transfiere el control a una posicin determinada. Normalmente las instrucciones que existen en esta posicin corresponden a una rutina de servicio de interrupciones. La rutina de servicio de interrupcin comprueba si el buffer no est lleno o no est vaco y entonces inicia la siguiente peticin de E/S. La CPU puede continuar entonces el proceso interrumpido.

11

Cada diseo de computadora tiene su propio mecanismo de interrupcin, pero hay varias funciones comunes que todos contemplan. El buffering puede ser de gran ayuda pero pocas veces es suficiente.

Spooling. El problema con los sistemas de cintas es que una lectora de tarjetas no poda escribir sobre un extremo mientras la CPU lea el otro. Los sistemas de disco eliminaron esa dificultad, moviendo la cabeza de un rea del disco a otra. En un sistema de discos, las tarjetas se leen directamente desde la lectora sobre el disco. La posicin de las imgenes de las tarjetas se registra en una tabla mantenida por el sistema operativo. En la tabla se anota cada trabajo una vez ledo. Cuando se ejecuta un trabajo sus peticiones de entrada desde la tarjeta se satisfacen leyendo el disco. Cuando el trabajo solicita la salida, sta se copia en el buffer del sistema y se escribe en el disco. Cuando la tarea se ha completado se escribe en la salida realmente. 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. La ventaja sobre el buffering es que el spooling solapa la E/S de un trabajo con la computacin de otro. Es una caracterstica utilizada en la mayora de los sistemas operativos.

Afecta directamente a las prestaciones. Por el costo de algo de espacio en disco y algunas tablas, la CPU puede simultanear la computacin de un trabajo con la E/S de otros. De esta manera, puede mantener tanto a la CPU como a los dispositivos de E/S trabajando con un rendimiento mucho mayor.

12

Adems mantiene una estructura de datos llama job spooling, que hace que los trabajos ya ledos permanezcan en el disco y el sistema operativo puede seleccionar cual ejecutar, por lo tanto se hace posible la planificacin de trabajos. Otro objetivo es minimizar las prdidas adicionales por cableado y las variaciones de la atenuacin con la temperatura, sin embargo, se observan resultados que demuestran la existencia de importantes diferencias sobre lo previsto. Tales diferencias se deben a diseos calculados a veces para mejorar otras propiedades, como la resistencia mecnica, la calidad de empalme, el coeficiente de relleno (nmero de fibras por mm2) o el costo de produccin.

13

4.4 Operaciones de Entrada /Salida

Tcnicas de Comunicacin de E/S

Entrada/salida por consulta o programada. La CPU accede a los registros desde programa. Para saber si el dispositivo est listo, se hace una consulta peridica.

Entrada/salida por interrupciones. El dispositivo avisa a la CPU cuando est listo. La entrada/salida se hace mediante una rutina de servicio de interrupcin.

Entrada/salida por acceso directo a memoria. El dispositivo accede directamente a la memoria. Avisa a la CPU del inicio o final de la operacin.

Entrada/salida por consulta La operacin de I/O se controla por la CPU. Antes de realizar la operacin se comprueba el (los) registro(s) de estado, para ver si el dispositivo est listo.

Ventajas: sencillez.

Desventajas: Ritmo de transferencia limitado por la velocidad de la CPU. Tiempo de respuesta elevado, mayor que el periodo de consulta. Sobrecarga de la CPU para operaciones de consulta que podran evitarse.

Entrada/salida por interrupciones Permite al dispositivo marcar el instante en que se hace la transferencia de datos. El mecanismo de interrupcin est presente en casi todos los computadores.

14

Las interrupciones se pueden enmascarar.

Se utiliza para evitar la interrupcin cuando se accede a datos compartidos con ella.

Para cada interrupcin se puede instalar una rutina de servicio de interrupcin.

Al llegar la interrupcin, el procesador interrumpe el programa en ejecucin y enmascara esa interrupcin. Despus ejecuta la rutina de servicio de interrupcin. Al acabar, el procesador restaura el estado anterior y el programa interrumpido contina.

Estructura habitual. Acceder al dispositivo causante de la interrupcin y hacer que cese la peticin de interrupcin. Si es necesario, acceder al controlador de interrupciones para hacer lo mismo. Realizar la transferencia de datos.

El modelo es el de una tarea concurrente ms. Ejecuta a la mxima prioridad del sistema.

15

Entrada/salida por acceso directo a memoria El ritmo de transferencia es superior al de los otros mtodos. El instante de I/O lo marca el dispositivo con interrupciones. Hay lneas para desconectar a la CPU de la memoria.

Registros del dispositivo: IODIR: Direccin de memoria para la operacin de I/O. CONT: Contador de nmero de bytes a transferir.

Funcionamiento habitual: La CPU carga los valores en los registros del dispositivo. El dispositivo solicita el uso de la memoria: DMA-request. La CPU se lo concede: DMA-acknowledge. El dispositivo transfiere los datos. Para cada uno, incrementa IODIR y decrementa CONT. Cuando CONT llega a 0 se devuelve el control de la memoria a la CPU (DMArequest) y se enva una interrupcin de aviso.

I) OPERACIN DE E/S SIN DMA: Primero el controlador lee el bloque desde el drive, bit a bit en forma serial, hasta que el bloque entero este dentro del buffer interno del controlador.

Chequea si no existe ningn error. El controlador genera una interrupcin.

16

El Sistema Operativo comienza su ejecucin, lee el bloque del buffer del controlador por byte o word de manera iterativa y lo almacena en memoria.

II) OPERACIN DE E/S COM DMA: El Sistema Operativo enva al controlador tres items de informacin: La direccin del bloque, La direccin de memoria donde ir el bloque, El nmero de bytes a transferir.

Luego, el controlador lee el bloque entero desde el dispositivo lo coloca en su buffer interno y chequea si ocurri algn error. Copia el primer byte o word en memoria principal, incrementa la direccin de memoria y decrementa la cantidad de bytes o word a transferir. El controlador genera una interrupcin. El sistema operativo ya tiene disponible el bloque de informacin en memoria.

17

También podría gustarte