sábado, 15 de octubre de 2016

4.2 Mecanismos y funciones de los manejadores de dispositivos

Introducción

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 realizacion de los procesos necesarios para colocar los datos de forma utilizable para el procesamiento es asi 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. Sin entrar en las singularidades de cada uno, podemos decir que los controladores de dispositivos periféricos presentan una estructura general como la representada en la siguiente figura:

Funciones de los manejadores de dispositivos

Funciones generalmente realizadas por el software independiente del dispositivo:
  • Interfaz uniforme para los manejadores de dispositivos.
  • Nombres de los dispositivos.
  • Protección del dispositivo.
  • Proporcionar un tamaño de bloque independiente del dispositivo.
  • Uso de buffer.
  • Asignación de espacio en los dispositivos por bloques.
  • Asignación y liberación de los dispositivos de uso exclusivo.
  • Informe de errores.
Las funciones básicas del software independiente del dispositivo son:
  • Efectuar las funciones de e / s comunes a todos los dispositivos.
  • Proporcionar una interfaz uniforme del software a nivel usuario.
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:
  • Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.
  • El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.
El software independiente del dispositivo debe:
  • Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.
  • Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.

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.

• Controlador de periférico.

No debe confundirse con Controlador de dispositivo.
El controlador de periférico o adaptador de periférico es el componente electrónico de los periféricos de Entrada/Salida (E/S). El componente mecánico es el dispositivo en sí.
Por lo general, los periféricos de (E/S) o unidades de E/S consisten en un componente mecánico y un componente electrónico. A menudo es posible separar las dos porciones para proveer un diseño más modular y general.
En las computadoras personales, comúnmente tiene la forma de un chip en la placa base o una tarjeta de circuito integrado que se puede insertar en una ranura de expansión.


Introducción

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 realizacion de los procesos necesarios para colocar los datos de forma utilizable para el procesamiento es asi 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. Sin entrar en las singularidades de cada uno, podemos decir que los controladores de dispositivos periféricos presentan una estructura general como la representada en la siguiente figura:

Funciones de los manejadores de dispositivos

Funciones generalmente realizadas por el software independiente del dispositivo:
  • Interfaz uniforme para los manejadores de dispositivos.
  • Nombres de los dispositivos.
  • Protección del dispositivo.
  • Proporcionar un tamaño de bloque independiente del dispositivo.
  • Uso de buffer.
  • Asignación de espacio en los dispositivos por bloques.
  • Asignación y liberación de los dispositivos de uso exclusivo.
  • Informe de errores.
Las funciones básicas del software independiente del dispositivo son:
  • Efectuar las funciones de e / s comunes a todos los dispositivos.
  • Proporcionar una interfaz uniforme del software a nivel usuario.
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:
  • Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.
  • El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.
El software independiente del dispositivo debe:
  • Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.
  • Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.



No hay comentarios:

Publicar un comentario