4.2 Mecanismos y funciones de los manejadores de dispositivos
MECANISMOS Y FUNCIONES DE LOS DISPOSITIVOS
Un módulo de E/S permite que el procesador gestione una amplia gama de dispositivos periféricos de una forma similar, ocultando los detalles concretos de temporización, formatos de datos y principios físicos de funcionamiento. El módulo de E/S se conecta con el procesador a través de un conjunto de líneas de datos, dirección y control (un bus). Los datos que se transfieren se almacenan temporalmente en un registro de datos. El estado del módulo se refleja en los bits de un registro de estado. El registro de control permite configurar y programar diferentes funciones en el módulo. Estos dos registros (estado y control) pueden unificarse en uno sólo en módulos simples. Un módulo de E/S dispone de la lógica específica para su conexión con uno o más dispositivos periféricos. En la siguiente figura se muestra la estructura general de un módulo de E/S:
Para que un Sistema Operativo sea funcional, eficaz y
eficiente requiere de un sistema de Entrada/Salida de datos, por lo que el
diseño de éste es un aspecto muy importante ya que para que exista la
interacción usuario-máquina, o máquina-máquina es necesario un sistema de
Entrada/Salida de datos, de lo contrario el sistema se consideraría incompleto.
Diseño de Entrada de Datos
Consiste en desarrollar los
requerimientos y los pasos a seguir y la realización de los procesos necesarios
para colocar los datos de forma utilizable para el procesamiento es así como se
logra instruir a la computadora. Existen cinco objetivos/requerimientos que
controlan la cantidad de entrada requerida, a enviar los retrasos, controlar
los errores y mantener la sencillez de los pasos necesarios, estos son:
·Control de calidad de entrada,
usando registros y optimizando puertos, interfaces y controladores.
·Evitar Retrasos
·Evitar errores en los datos
·Evitar pasos adicionales
·Mantener la sencillez del proceso
Diseño de Salida de Datos
Es todo aquello producido por el
sistema, si la salida no es de calidad entonces el sistema es innecesario una
de las salidas puede ser documentos o formularios dependiendo de el objetivo
del sistema. Para el diseño de salida de datos también existen ciertos
requerimientos como lo son:
·Que haya distintos niveles de
Diseño, tanto lógico como físico
·Utilización de los datos de
requerimientos, así como registros de control, estado y salida.
·Participación de los usuarios
Estructura de un sistema de
Entrada/Salida: Módulos y Controladores
Las diferencias existentes entre
los dispositivos periféricos han hecho que la unidad de E/S de una computadora
se organice en torno a dos tipos de elementos, unos que soportan las
características comunes a todos los dispositivos (módulos de E/S) y otros
específicos para cada periférico que son los controladores de dispositivo:
Módulos de E/S
Un módulo de E/S permite que el procesador gestione una amplia gama de dispositivos periféricos de una forma similar, ocultando los detalles concretos de temporización, formatos de datos y principios físicos de funcionamiento. El módulo de E/S se conecta con el procesador a través de un conjunto de líneas de datos, dirección y control (un bus). Los datos que se transfieren se almacenan temporalmente en un registro de datos. El estado del módulo se refleja en los bits de un registro de estado. El registro de control permite configurar y programar diferentes funciones en el módulo. Estos dos registros (estado y control) pueden unificarse en uno sólo en módulos simples. Un módulo de E/S dispone de la lógica específica para su conexión con uno o más dispositivos periféricos. En la siguiente figura se muestra la estructura general de un módulo de E/S:
Controladores de E/S
La estructura del controlador de un
dispositivo tendrá que adaptarse en cada caso a las peculiaridades específicas
del periférico. Unos tendrán que actuar sobre elementos electromecánicos
(impresoras de línea), otros sobre elementos ópticos (CD-ROM), o magnéticos
(discos), etc.
Problemas más frecuentes
Al momento de estar manejando
dispositivos de Entrada/Salida pueden surgir varios problemas, algunos que se
pueden resolver, otros simplemente los tenemos que evitar.
Problemas de Uso Compartido
Otro problema que se presenta con
frecuencia, es cuando distintas aplicaciones intentan acceder a un dispositivo
(ya sea para escribir o leer datos) pero éste se encuentra en uso por otro
programa, y el Sistema tiene que bloquearlo, como con el caso de la memoria
protegida, para que sea utilizable hasta que un programa detenga su uso.
Problemas con Buffers
Uno de los principales problemas
que se presenta es el del manejo de buffers, y consiste en determinar tan
pronto como sea posible que un dispositivo de entrada y salida ha finalizado una
operación. Este problema se resuelve mediante las interrupciones. Tan pronto
como un dispositivo entrada y salida acaba con una operación interrumpe a la
CPU, en ese momento la CPU detiene lo que está haciendo e inmediatamente
transfiere el control a una posición determinada.
Problemas al momento de manejar
archivos
Uno de los problemas más frecuentes
en el manejo de archivos son los DEADLOCK, un deadlock es una situación no
deseada de espera indefinida y se da cuando en un grupo de procesos, dos o más
procesos de ese grupo esperan por llevar a cabo una tarea que será ejecutada
por otro proceso del mismo grupo, entonces se produce el bloqueo. Los bloqueos
se dan tanto en los sistemas operativos tradicionales como en los distribuidos,
solo que en estos últimos es más difícil de prevenirlos, evitarlos e incluso
detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que
la información se encuentra dispersa por todo el sistema.
Una vez que un deadlock se detecta,
es obvio que el sistema está en problemas y lo único que resta por hacer es una
de dos cosas: tener algún mecanismo de suspensión o reanudación que permita
copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto
de los periféricos que esté usando para reanudarlo otro día, o simplemente
eliminar un proceso o arrebatarle el recurso, causando para ese proceso la
pérdida de datos y tiempo.
Existen también varias causas para
que los dispositivos de E/S presenten errores, como lo son drivers
desactualizados y/o una mala instalación de éstos; que el sistema intente
utilizar de una manera incorrecta/incompatible el dispositivo en cuestión, o
daño físico del periférico.
Estrategias de búsqueda de
manejo de dispositivos.
Una estrategia de búsqueda para el
manejador de dispositivos de entrada/salida es la política predeterminada que
utiliza para dar acceso al dispositivo a los diversos procesos que puedan estar
esperándolo; define el orden en el cual los procesos obtienen el dispositivo, y
la meta es mantener el tiempo de búsqueda en un mínimo.
Algunas estrategias de búsquedas
más comunes:
* Primeras llegadas, primeros
servicios (FCFS).
* Tiempo más breve de búsqueda
primero (SSTF).
* SCAN y sus variaciones, LOOK,
N-Step SCAN, C-SCAN, y C-LOOK.
Todo algoritmo de programación debe
efectuar lo siguiente:
* Minimizar el movimiento del
brazo.
* Llevar al mínimo el tiempo medio
de respuesta.
* Minimizar la variación del tiempo
de respuesta.
Comentarios
Publicar un comentario