4.2 Mecanismos y funciones de los manejadores de dispositivos

MECANISMOS Y FUNCIONES DE LOS DISPOSITIVOS
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

Entradas populares de este blog

6.2 Clasificación aplicada a la seguridad

2.3 Procesos ligeros: Hilos y Hebras

2.2 Estados y Transiciones de los Procesos