You are on page 1of 19

Sistema Operativo. Una de las funciones principales de un S. O.

es el control de todos los dispositivos de e / s de la computadora Las principales funciones relacionadas son:

Enviar comandos a los dispositivos. Detectar las interrupciones. Controlar los errores. Proporcionar una interfaz entre los dispositivos y el resto del sistema:
o o

Debe ser sencilla y fcil de usar. Debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo).

El cdigo de e / s representa una fraccin significativa del S. O. El uso inapropiado de los dispositivos de e / s frecuentemente genera ineficiencias del sistema, lo que afecta la performance global.

Principios del Hardware de E / S El enfoque que se considerar tiene que ver con la interfaz que desde el hardware se presenta al software

Comandos que acepta el hardware. Funciones que realiza. Errores que puede informar.

Dispositivos de E / S Se pueden clasificar en dos grandes categoras:

Dispositivos de bloque. Dispositivos de caracter.

Las principales caractersticas de los dispositivos de bloque son:


La informacin se almacena en bloques de tamao fijo. Cada bloque tiene su propia direccin. Los tamaos ms comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. Se puede leer o escribir en un bloque de forma independiente de los dems, en cualquier momento. Un ejemplo tpico de dispositivos de bloque son los discos.

Las principales caractersticas de los dispositivos de caracter son:

La informacin se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones. No tienen una operacin de bsqueda. Unos ejemplos tpicos de dispositivos de carcter son las impresoras de lnea, terminales, interfaces de una red, ratones, etc.

Algunos dispositivos no se ajustan a este esquema de clasificacin, por ejemplo los relojes, que no tienen direcciones por medio de bloques y no generan o aceptan flujos de caracteres. El sistema de archivos solo trabaja con dispositivos de bloque abstractos, por lo que encarga la parte dependiente del dispositivo a un software de menor nivel, el software manejador del dispositivo. Controladores de Dispositivos Las unidades de e / s generalmente constan de:

Un componente mecnico. Un componente electrnico, el controlador del dispositivo o adaptador.

Muchos controladores pueden manejar ms de un dispositivo. El S. O. generalmente trabaja con el controlador y no con el dispositivo. Los modelos ms frecuentes de comunicacin entre la cpu y los controladores son:

Para la mayora de las micro y mini computadoras:


o

Modelo de bus del sistema. Modelo de varios buses y computadoras especializadas en e / s llamadas canales de e / s.

Para la mayora de los mainframes:


o

La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:

La comunicacin es mediante un flujo de bits en serie que:


o o o

Comienza con un prembulo. Sigue con una serie de bits (de un sector de disco, por ej.). Concluye con una suma para verificacin o un cdigo corrector de errores.

El prembulo:
o o

Se escribe al dar formato al disco. Contiene el nmero de cilindro y sector, el tamao de sector y otros datos similares.

El controlador debe:

Convertir el flujo de bits en serie en un bloque de bytes. Efectuar cualquier correccin de errores necesaria. Copiar el bloque en la memoria principal.

Cada controlador posee registros que utiliza para comunicarse con la cpu:

Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria. Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de l.

El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parmetros de los comandos tambin se cargan en los registros de los controladores. Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca una interrupcin para permitir que el S. O.:

Obtenga el control de la cpu. Verifique los resultados de la operacin.

La cpu obtiene los resultados y el estado del dispositivo al leer uno o ms bytes de informacin de los registros del controlador. Controlador de Direccin de e / s Vector de interrupciones e/s Reloj 040 - 043 8 Teclado 060 - 063 9 Disco duro 320 - 32f 13 Impresora 378 - 37f 15 Disco flexible 3f0 - 3f7 14 Rs232 primario 3f8 - 3ff 12 Rs232 secundario 2f8 - 2ff 11 Controladores de e / s, direcciones de e / s y vector de interrupciones.

Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupcin en la PC IBM pueden verse en la Tabla 5.1

Acceso Directo a Memoria (DMA) Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA. Si se lee el disco sin DMA:

El controlador lee en serie el bloque (uno o ms sectores) de la unidad:


o o

La lectura es bit por bit. Los bits del bloque se graban en el buffer interno del controlador.

Se calcula la suma de verificacin para corroborar que no existen errores de lectura. El controlador provoca una interrupcin. El S. O. lee el bloque del disco por medio del buffer del controlador:
o o

La lectura es por byte o palabra a la vez. En cada iteracin de este ciclo se lee un byte o una palabra del registro del controlador y se almacena en memoria.

Se desperdicia tiempo de la cpu.

DMA se ide para liberar a la cpu de este trabajo de bajo nivel. La cpu le proporciona al controlador:

La direccin del bloque en el disco. La direccin en memoria adonde debe ir el bloque. El nmero de bytes por transferir.

Luego de que el controlador ley todo el bloque del dispositivo a su buffer y de que corrobor la suma de verificacin:

Copia el primer byte o palabra a la memoria principal. Lo hace en la direccin especificada por medio de la direccin de memoria de DMA. Incrementa la direccin DMA y decrementa el contador DMA en el nmero de bytes que acaba de transferir. Se repite este proceso hasta que el contador se anula y por lo tanto el controlador provoca una interrupcin. Al iniciar su ejecucin el S. O. luego de la interrupcin provocada, no debe copiar el bloque en la memoria, porque ya se encuentra ah (ver Figura 5.1

El controlador necesita un buffer interno porque una vez iniciada una transferencia del disco:

Los bits siguen llegando del disco constantemente. No interesa si el controlador est listo o no para recibirlos. Si el controlador intentara escribir los datos en la memoria directamente:
o

Tendra que recurrir al bus del sistema para c / u de las palabras (o bytes) transferidas.

El bus podra estar ocupado por otro dispositivo y el controlador debera esperar. Si la siguiente palabra llegara antes de que la anterior hubiera sido almacenada, el controlador la tendra que almacenar en alguna parte.

Si el bloque se guarda en un buffer interno:


El bus no se necesita sino hasta que el DMA comienza. La transferencia DMA a la memoria ya no es un aspecto crtico del tiempo.

Los controladores simples no pueden atender la e / s simultnea:

Mientras transfieren a la memoria, el sector que pasa debajo de la cabeza del disco se pierde; es decir que el bloque siguiente al recin ledo se pierde.

La lectura de una pista completa se har en dos rotaciones completas, una para los bloques pares y otra para los impares. Si el tiempo necesario para una transferencia de un bloque del controlador a la memoria por medio del bus es mayor que el tiempo necesario para leer un bloque del disco:
o o

Sera necesario leer un bloque y luego saltar dos o ms bloques. El salto de bloques:

Se ejecuta para darle tiempo al controlador para la transferencia de los datos a la memoria. Se llama separacin. Al formatear el disco, los bloques se numeran tomando en cuenta el factor de separacin (ver Figura 5.2 Esto permite al S. O.:

Leer los bloques con numeracin consecutiva. Conservar la mxima velocidad posible del hardware.

Principios del Software de E / S 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 E / S 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 (ver Figura 5.3

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

Manejadores de interrupciones Las interrupciones son desagradables pero inevitables, y deben ocultarse en las profundidades del sistema operativo, con el fin de reducir al mnimo las partes del sistema que tienen conocimiento de ellas. La mejor forma de ocultarlas es hacer que cada proceso inicie un bloqueo de operacin de WS hasta que la E/S se haya llevado a cabo y la interrupcin ocurra. El proceso puede bloquearse ejecutando un DOWN con un semforo, un WA con una variable de condicin o un RECEIVE con un mensaje, por ejemplo. Cuando sucede la interrupcin, el procedimiento de interrupciones har lo que

tenga que hacer para desbloquear el proceso que la origin. En algunos sistemas se ejecutar un UP con un semforo; en otros, se ejecutar un SIGNAL con una variable de condicin en un monitor. En otros ms, se enviar un mensaje al proceso bloqueado. En todos los casos, el efecto neto de la interrupcin ser que un proceso que estaba bloqueado est ahora en condiciones de ejecutarse. Controladores de dispositivos en software Todo el cdigo dependiente del dispositivo se coloca en los controladores de dispositivo. Cada controlador maneja un tipo de dispositivo o, cuando ms, una clase de dispositivos similares. Por ejemplo, podra ser aconsejable tener un solo controlador de terminal, aun si el sistema maneja terminales de distintas marcas, todas con pequeas diferencias. Por otro lado, una terminal mecnica tonta que produce salidas impresas y una terminal inteligente con grficos de mapa de bits y ratn son tan distintas que es preciso usar diferentes controlado en software. En trminos generales, la tarea de un controlador de dispositivo en software es aceptar peticiones abstractas del software independiente del dispositivo que est arriba de l y ver que dichas peticiones sean atendidas. Una peticin tpica sera leer el bloque n. Si el controlador est ocioso en el momento en que llega una peticin, comenzar a atenderla de inmediato, pero si ya est ocupado con otra peticin, normalmente colocar la nueva peticin en una cola de peticiones pendientes que se atendern tan pronto como sea posible. Software de E/S independiente del dispositivo Aunque una parte del software de E/S es especfica para los dispositivos concretos existentes en el sistema, otras partes son independientes del dispositivo. La frontera exacta entre los drivers y el software independiente del dispositivo depende del sistema (y del dispositivo), porque algunas funciones que podran realizarse con independencia del dispositivo en realidad se llevan a cabo en los drivers por cuestiones de eficiencia u otras razones. Las funciones que se muestran en la Figura 20 se realizan tpicamente en el software

independiente del dispositivo.

Figura 20. Funciones del software de E/S independiente del dispositivo La funcin bsica del software independiente del dispositivo es realizar las operaciones de E/S que son comunes a todos los dispositivos y presentar una interfaz uniforme al software a nivel de usuario. Software de E/S en el espacio del usuario Aunque la mayor parte del software de E/S est dentro del sistema operativo, una pequea parte de l consiste en bibliotecas enlazadas a los programas de usuario, e incluso en programas completos que se ejecutan fuera del ncleo (kernel). Las llamadas entre ellas las E/S, normalmente son efectuadas por procedimientos de biblioteca. Cuando un programa en C contiene la llamada count = write(fd, buffer, nbytes); el procedimiento de biblioteca write se enlazar al programa y estar contenido en el programa binario presente en la memoria en el momento de la ejecucin. La coleccin de todos estos procedimientos de biblioteca evidentemente forma parte del sistema de E/S. En la Figura 21 se resume el sistema de E/S, con todas las capas y las funciones principales de cada capa. Comenzando por abajo, las capas son el hardware, los manejadores de interrupciones, los controladores de dispositivos, el software independiente del dispositivo y por ltimo los procesos de usuario.

Relojes Los relojes (tambin llamados temporizadores) son esenciales para el funcionamiento de cualquier sistema de tiempo compartido por diversas razones. Entre otras cosas, los relojes mantienen la hora del da y evitan que un proceso monopolice el CPU. El software del reloj puede adoptar la forma de un controlador de dispositivo, aunque el reloj no es un dispositivo por bloques, como un disco, ni por caracteres, como una terminal. En otras palabras, los relojes sirven para llevar el control del tiempo real, limitar el tiempo de ejecucin de los procesos, implementar temporizadores vigilantes y llevar la contabilidad de los recursos utilizados.

CONTROLADOR DE DISPOSITIVOS Las unidades de entrada y salida constan por lo general de un componente mecnico y otro electrnico. El componente electrnico se llama controlador de dispositivo de adaptador.

La tarjeta controladora tiene por lo general un conector, en el que se puede conectar el cable que va al dispositivo en s. Muchos controladores pueden manejar dos, cuatro y hasta ocho dispositivos idnticos. Si la interfaz entre el controlador y el dispositivo es estndar, ya sea un estndar oficial, de tipo ANSI, IEEE o ISO, o bien un estndar de hecho, entonces las compaas pueden fabricar controladores o dispositivos que se ajusten a esa interfaz. Mencionamos esa distincin entre controlado y dispositivo por que el sistema operativo casi siempre trabaja con el controlador y no con el dispositivo. Casi todas las micro y mini computadoras utilizan el modelo de un bus para la comunicacin entre la CPU y los controladores. Los grandes mainframes utilizan con frecuencia otro modelo, con varios buses y computadoras especializadas en Entrada y Salida llamadas canales de entrada y salida que toman cierta carga de entrada y salida fuera de la CPU principal. La labor del controlador es convertir el flujo de bits en serie en un bloque de bytes y llevar a cabo cualquier correccin de errores necesaria. Lo comn es que el bloque de bytes ensamble, bit a bit, en un buffer dentro del controlador. Despus a verificar la suma y declarar al bloque libre de errores, se le puede copiar en la memoria principal. El controlador de una terminal CRT tambin funciona como un dispositivo de bits en un nivel igual de bajo. Lee bytes que contienen caracteres a exhibir en la memoria y genera las seales utilizadas para modular la luz CRT para que esta se escriba en la pantalla. El controlador tambin genera las seales para que la luz CRT vuelva a realizar un trazo horizontal despus de terminar una lnea de rastreo, as como las seales para que se vuelva a hacer un trazo vertical despus de rastrear en toda la pantalla. De no ser por el controlador CRT, el programador del sistema operativo tendra que programar en forma explicita el rastreo anlogo del tubo de rayos catdicos. Con el controlador, el sistema operativo inicializa ste con pocos parmetros, tales como el nmero de

caracteres por lnea y el nmero de lneas en la pantalla, para dejar que el controlador se encargue de dirigir en realidad el rayo de luz. Cada controlador tiene unos cuantos registros que se utiliza para la comunicacin con la CPU. En ciertas computadoras, estos registros son parte del espacio normal de direcciones de la memoria. El sistema operativo realiza la entrada y salida al escribir comandos en los registros de los controladores. Muchos de los comandos tienen parmetros, los cuales tambin se cargan de los registros del controlador. Al aceptar un comando, la CPU puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca la interrupcin para permitir que el sistema operativo obtenga el control de la CPU y verifique los resultados de la operacin. La CPU obtiene los resultados y el estado del dispositivo al leer uno o ms bytes de informacin de los registros del controlador.

Mtodos de acceso La finalidad es encontrar el mejor mtodo para acceder a la informacin del archivo para alguna aplicacin especifica. Acceso Secuencial La informacin se procesa en orden. Es posible reposicionar. Acceso Directo El archivo como una secuencia numerada de bloques o registros. Se lee o se escribe cualquier bloque si restricciones en tanto al orden. til para accesar grandes cantidades de informacin. El numero de bloque proporcionado por el usuario al S.O. es relativo.

pa := 0; leer pa; pa := pa+1; escribir pa; pa := pa+1; Reposicionar Leer Siguiente Escribir siguiente Implantacin usando acceso directo Acceso secuencial Acceso Indexado Implica la construccin de un ndice para el archivo. Para archivos de gran tamao se crean ndices para archivos ndices. Datos Palabras, smbolos, nmeros, grficos, etc, que describen a un evento, cosas. Esta categora est conformada por toda la informacin que el usuario introduce y procesa en el sistema, por ejemplo la informacin almacenada en las bases de datos, los textos y grficos. Organizacin de archivos Archivos Los archivos tambin denominados ficheros (file); es una coleccin de informacin (datos relacionados entre s), localizada o almacenada como una unidad en alguna parte de la computadora. Los archivos son el conjunto organizado de informaciones del mismo tipo, que pueden utilizarse en un mismo tratamiento; como soporte material de estas informaciones. Caractersticas de los archivos Las principales caractersticas de esta estructura son:

Independencia de las informaciones respecto de los programas La informacin almacenada es permanente

Un archivo puede ser accedido por distintos programas en distintos momentos Gran capacidad de almacenamiento.

Clasificacin de los archivos Los archivos se clasifican segn su uso en tres grupos: Permanentes o Maestros Estos contienen informacin que varia poco. En algunos casos es preciso actualizarlos peridicamente. De Movimientos Se cercan para actualizar los archivos maestros. Sus registros son de tres tipos: alta, bajas y modificaciones. De Maniobra o Trabajo Tienen una vida limitada, normalmente menor que la duracin de la ejecucin de un programa. Su utilizan como auxiliares de los anteriores. Operaciones generales que se realizan sobre un archivo Las operaciones generales que se realizan son:

Creacin. Escritura de todos sus registros. Consulta. Lectura de todos sus registros. Actualizacin. Insercin supresin o modificacin de algunos de sus registros Clasificacin. Reubicacin de los registros de tal forma que queden ordenados segn determinados criterios. Borrado. Eliminando total del archivo, dejando libre el espacio del soporte que ocupaba.

Enfoques generales para la organizacin de archivos Los enfoques son: Enfoque de acceso secuencial: Se refiere al procesamiento de los archivos de acuerdo con el orden especfico. Ejemplo archivo secuenciales y de texto. Enfoque de acceso directo Permite recuperar registros individuales sin leer otros registros del archivo, ejemplos archivos indexados. Organizacin de archivos Los archivos y carpetas se organizan jerrquicamente En los sistemas informticos modernos, los archivos siempre tienen nombres. Los archivos se ubican en directorios. El nombre de un archivo debe ser nico en ese directorio. En otras palabras, no puede haber dos archivos con el mismo nombre en el mismo directorio. El nombre de un archivo y la ruta al directorio del archivo lo identifica de manera exacta entre todos los dems archivos del sistema informtico-no puede haber dos archivos con el mismo nombre y ruta. La mayora de las computadoras organizan los archivos en jerarquas llamadas carpetas, directorios o catlogos. (El concepto es el mismo independientemente de la terminologa usada.) Cuando una computadora permite el uso de carpetas, cada archivo y carpeta no slo tiene un nombre propio, sino tambin una ruta, que identifica la carpeta o carpetas en las que reside un archivo o carpeta. En la ruta, se emplea algn tipo de carcter especial como un barra para separar los nombres de los archivos y carpetas. Muchos (pero no todos) sistemas informticos usan extensiones en los nombres de archivo para ayudar a identificar que contienen.

You might also like