Professional Documents
Culture Documents
6to Semestre
Vespertino
NDICE
Qu es una estructura?
Buffering
Spooling
Manejadores de interrupcin
6
6
Manejadores de dispositivos
7
Software de E/S independiente del dispositivo
8
Operaciones de E/S
10
Bibliografa
QU ES UNA ESTRUCTURA?
Los sistemas operativos actuales son grandes y complejos, estos deben poseer una
ingeniera correcta para su fcil actualizacin y para que puedan cumplir su funcin
correctamente. La estructura es generalmente modular, cada mdulo cumple una funcin
determinada e interacta con los dems mdulos.
ESTRUCTURA SIMPLE O SISTEMA MONOLTICO
El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin
embargo, sus interfaces y niveles de funcionalidad no estn bien definidos. Los
programas de aplicacin pueden acceder a operaciones bsicas de entrada / salida para
escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea
vulnerable, ya que un programa de aplicacin puede eliminar por completo un disco rgido
por alguna falla. Adems este sistema, tambin est limitado al hardware sobre el que
corre.
Otra estructura simple es la utilizada por la versin original de UNIX, esta consiste de dos
partes separadas, el kernel y los programas de sistemas. El kernel fue posteriormente
separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel
provee el sistema de archivos, la programacin de CPU, el administrador de memoria y
otras funciones del sistema operativo que responden a las llamadas del sistema
enunciadas anteriormente.
Es una forma de relacion entre el kernel y el software los sistemas operativos que usaron
este sistema fueron freedbsd, unix y linux.
ESTRUCTURA POR CAPAS (LAYERS)
Las nuevas versiones de UNIX se disearon para hardware ms avanzado. Para dar
mayor soporte al hardware, los sistemas operativos se dividieron en pequeas partes.
Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones
que se ejecutan sobre este.
La modularizacin de un sistema se puede presentar de varias formas, la ms utilizada es
la de capas, la cual consiste en dividir al sistema operativo en un nmero de capas. La
capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario.
3
La principal ventaja es que cada capa cumple con una serie de funciones y servicios que
brinda a las otras capas, esto permite una mejor organizacin del sistema operativo y una
depuracin ms fcil de este.
SPOOLING
Esta forma de procesamiento de denomina spooling, utiliza el disco como un buffer muy
grade 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.
Es una caracterstica utilizada en la mayora de los sistemas operativos.
Manejadores de interrupcin.
Manejadores de dispositivos o drivers.
Software de E/S independiente de los dispositivos. Este software est
formado por la parte de alto nivel de los manejadores, el gestor de cache, el
gestor de bloques y el servidor de archivos.
Interfaz del sistema operativo. Llamadas al sistema que usan las
aplicaciones de usuario.
El sistema operativo estructura el software de gestin de E/S de esta forma para ofrecer a
los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta
independencia implica que deben emplearse los mismos servicios y operaciones de E/S
para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.
MANEJADORES DE INTERRUPCIN
Los manejadores de interrupcin se encargan de tratar las interrupciones que generan los
controla dores de dispositivos una vez que stos estn listos para la transferencia de
datos o bien han ledo o escrito los datos de memoria principal en caso de acceso directo
a memoria. Para tratar dicha interrupcin se ejecuta el correspondiente manejador de
interrupcin cuyo efecto es el de salvar los registros, comunicar el evento al manejador
del dispositivo y restaurar la ejecucin de un proceso (que no tiene por qu ser el
interrumpido).
Los manejadores de interrupcin suelen hacer algo ms que comunicar el evento al
manejador de dispositivo. Cuando una interrupcin ocurre muy frecuentemente, caso del
reloj, o cuando la cantidad de informacin a transferir es muy pequea, caso del teclado,
sera muy costoso comunicar siempre el evento al manejador de dispositivo asociado. En
estos casos, el propio manejador de interrupcin registra la ocurrencia del evento, bien
mediante el incremento de una variable global para el reloj o la acumulacin de caracteres
en un buffer del teclado. La notificacin al manejador se hace nicamente cada cierto
nmero de ocurrencias del evento, en el caso del reloj, o activando unflag que indica que
hay datos en el buffer del teclado.
MANEJADORES DE DISPOSITIVOS
Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado en el
sistema operativo.
Dicho manejador incluye: cdigo independiente del dispositivo para proporcionar al nivel
superior del sistema operativo una interfaz de alto nivel y el cdigo dependiente del
dispositivo necesario para programar el controlador del dispositivo a travs de sus
registros y datos. La tarea de un manejador de dispositivo es aceptar peticiones en
formato abstracto, de la parte del cdigo de E/S independiente del dispositivo, traducir
dichas peticiones a trminos que entienda el controlador, enviar al mismo las rdenes
adecuadas en la secuencia correcta y esperar a que se cumplan. La siguiente figura
muestra un diagrama de flujo con las operaciones de un manejador.
Todos los manejadores tienen una lista de peticiones pendientes por dispositivo donde se
encolan las peticiones que llegan de niveles superiores. El manejador explora la lista de
peticiones, extrae una peticin pendiente y ordena su ejecucin. La poltica de extraccin
de peticiones de la lista es dependiente de manejador y puede ser FIFO. Una vez enviada
la peticin al controlador, el manejador se bloquea o no, dependiendo de la velocidad del
dispositivo. Para los lentos (discos) se bloquea esperando una interrupcin. Para los
rpidos (pantalla, discos RAM, etctera) responde inmediatamente. Despus de recibir el
fin de operacin, controla la existencia de errores y devuelve al nivel superior el estado de
terminacin de la operacin. Si tiene operaciones pendientes en la cola de peticiones,
El sistema de E/S mantiene buffers en distintos componentes. Por ejemplo, en la parte del
manejador del teclado independiente del dispositivo existe un buffer para almacenar los
caracteres que teclea el usuario hasta que se pueden entregar a los niveles superiores. Si
se usa una lnea serie para leer datos de un sistema remoto y almacenarlos en el disco,
se puede usar un buffer para guardar temporalmente los datos hasta que tengan una
cierta entidad y sea rentable escribirlos a disco. Si se est leyendo o escribiendo un
archivo, se guardan copias de los bloques en memoria para no tener que acceder al disco
si se vuelven a leer.
La gestin de los dispositivos agrupa a su vez tres servicios: nombrado, proteccin y
control de acceso.
OPERACIONES DE E/S
Tanto en la E/S programada como la basada en interrupciones, la UCP debe encargarse
de la transferencia de datos una vez que sabe que hay datos disponibles en el
controlador. Una mejora importante para incrementar la concurrencia entre la UCP y la
E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la
transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP slo
cuando haya terminado la operacin completa de EIS. Esta tcnica se denomina acceso
directo a memoria (DMA, Direct Memory Access).
Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga
directamente de transferir los datos entre el perifrico y la memoria principal, sin requerir
intervencin alguna por parte del procesador. Esta tcnica funciona de la siguiente
manera: cuando el procesador desea que se imprima un bloque de datos, enva una
orden al controlador indicndole la siguiente informacin:
Tipo de operacin: lectura o escritura.
Perifrico involucrado en la operacin.
La direccin de memoria desde la que se va a leer o a la que va a escribir
Los pasos a seguir en una operacin de E/S con DMA son los siguientes:
1. Programacin de la operacin de E/S. Se indica al controlador la operacin, los
datos a transferir y la direccin de memoria sobre la que se efectuar la operacin.
2. El controlador contesta aceptando la peticin de E/S.
3. El controlador le ordena al dispositivo que lea (para operacin de lectura) una
cierta cantidad de datos desde una posicin determinada del dispositivo a su
memoria interna.
4. Cuando los datos estn listos, el controlador los copia a la posicin de memoria
que tiene en sus registros, incrementa dicha posicin de memoria y decrementa el
contador de datospendientes de transferir.
5. Los pasos 3 y 4 se repiten hasta que no quedan ms datos por leer.
6. Cuando el registro de contador est a cero, el controlador interrumpe a la UCP
para in dicar que la operacin de DMA ha terminado.
Una operacin de E/S se inicia con la instruccin START I/O. La ubicacin del programa
de canal en la memoria principal viene definida en la palabra de direccin de canal (CAW:
Channel Address word), que siempre est almacenada en la posicin 72 de la memoria
principal.
BIBLIOGRAFA
http://sistemas-operativos-itssmo.blogspot.mx/
http://sistemasoperativos.angelfire.com/html/4.3.html
https://sites.google.com/site/materiasisoperativo/unidad-4-administracion-deentrada-salida/4-3-estructuras-de-datos-para-manejo-de-dispositivos
http://admin-entradaysalidadedispositivos.blogspot.mx/2009/11/43.html
http://sistemasoperativosyeraldi.blogspot.mx/2009/11/43-estructura-de-datos-paramanejo-de.html
http://sistemasoperativos.angelfire.com/html/4.4.html
http://admin-entradaysalidadedispositivos.blogspot.mx/2009/11/44-operaciones-deentrada-salida.html
10