martes, 7 de octubre de 2014

GESTIÓN DE LOS DISPOSITIVOS

CARACTERÍSTICAS DE LOS DISPOSITIVOS 



Los dispositivos se caracterizan por su heterogeneidad, lo que introduce complejidad en el sistema operativo. Algunas de las características en las que los dispositivos pueden diferir son las siguientes:
• Unidad de transferencia. Unos dispositivos utilizan el byte como unidad de transferencia (dispositivos de caracteres, como el teclado o el ratón). Otros transfieren y/o almacenan la información en bloques (dispositivos de bloques, como discos y cintas magnéticas).
• Velocidad. Los rangos en los que se mueven los dispositivos son muy amplios.
Los discos y los dispositivos de comunicación transfieren millones de caracteres por segundo y pueden hacerlo a velocidad constante, mientras que  con el teclado se transfieren a lo sumo unos cuantos caracteres por segundo, con un periodo concreto impredecible.
• Representación de los datos. Incluso un mismo dispositivo puede utilizar diferentes codificaciones configurables en la instalación, como es el caso del  teclado y el monitor.
• Protocolos de comunicación. La comunicación entre el dispositivo y la CPU se realiza de acuerdo a un determinado protocolo que depende del dispositivo y del bus de comunicación.
• Operaciones. Hay dispositivos de entrada, de salida y de entrada/salida. Además, algunos dispositivos requieren operaciones específicas (por ejemplo, posicionar el cabezal de lectura/escritura en los discos).
Errores. Las condiciones de error varían con la naturaleza del dispositivo. Por ejemplo, en la impresora hay que tratar la falta de papel como una situación de error específica, mientras que en un disco puede haber errores en el posicionamiento del cabezal.


Para proporcionar una forma homogénea de direccionar los dispositivos, a nivel hardware éstos se conectan al sistema mediante controladores. El sistema operativo  ya no trata con el dispositivo en sí mismo, sino con una interfaz que lo representa mediante un conjunto de direcciones o registros del controlador, que se pueden direccionar en el espacio de direcciones de memoria o constituir un espacio de direcciones independientes. El sistema se comunica con el controlador mediante operaciones de lectura/escritura sobre los registros de datos, estado y control, permitiendo tanto la transferencia de información como el diagnóstico y configuración del dispositivo. Estas operaciones las realizan las funciones de más bajo nivel del núcleo del sistema operativo, y son dependientes del hardware. 


los dispositivos hardware de entrada/salida, también conocidos como “periféricos”, son elementos complejos. Para hacer más fácil el trabajo de los programadores, es preferible
Ocultar los detalles de estos dispositivos, de manera que los programas no tengan que diseñarse en función de los mismos, sino que sean independientes de ellos. Sera el software del sistema operativo el encargado de conseguir dicha independencia, a través de las operaciones de E/S que utilizaran los programas y que serán independientes del tipo y modelo del periférico. El software del sistema operativo para manejar los dispositivos de entrada y salida representa aproximadamente un 50%, del total del código mismo. Proporciona a los programadores y procesos las siguientes funciones:

  • Comandos que faciliten el uso de los periféricos.
  •   Gestión de interrupciones. 
  • Gestión de errores.
  • Conjunto de llamadas al sistema operativo para que los programadores puedan realizar las operaciones de entrada/salida.






LOS DISPOSITIVOS DE E/S SE PUEDEN AGRUPAR EN TRES GRANDES GRUPOS SEGÚN SU FUNCIÓN

Dispositivos de interfaz de usuario:
Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). Existen periféricos menos habituales, pero más sofisticados, tales como un escáner, lectores de huella digital, lectores de cinta magnética, instrumentos musicales digitales (MIDI), etc.

Dispositivos de almacenamiento:
Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en el CPU. Según su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario (discos y memorias flash) y terciario (cintas).

Dispositivos de comunicaciones: 
Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más comunes de esta clase son los módems, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local.





ESQUEMAS DE CONEXIÓN Y MANEJO DE DISPOSITIVOS



El sistema de E/S es la parte del sistema operativo que se ocupa de facilitar el manejo de los dispositivos de E/S ofreciendo una visión lógica simplificada de los mismos que pueda ser usada por otros componentes del sistema operativo (como el sistema de archivos) o  incluso por el usuario. Mediante esta visión lógica se ofrece a los usuarios un mecanismo de abstracción que oculta todos los detalles relacionados con los dispositivos físicos, así como del funcionamiento real de los mismos. El sistema operativo debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:

  •  Facilitar el manejo de los dispositivos de E/S. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar.
  • Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones donde sea necesario. 
  • Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivo físico sin que sea necesario remodelar el sistema de E/S del sistema operativo.
  •  Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug and play.




REPRESENTACIÓN DE LA E/S 

La estructura que proporciona la comunicación entre la rutina de E/S y el manejador del dispositivo se suele denominar IORB (Bloque de Petición de E/S, I/O Request Block). La rutina de E/S utiliza un IORB para cada petición. Contiene la siguiente información:
• Identificación del proceso cliente.
• Parámetros de la petición.
• Evento para la sincronización del cliente con el final de la operación.
• Diagnóstico de la operación, a establecer por el manejador de acuerdo al resultado de la operación.

En un sistema operativo donde toda la E/S fuera síncrona, cada proceso dispondría de un IORB único y privado, asociado a su PCB, y el evento puede ir implícito. En un modelo general donde también es posible la E/S asíncrona, cada proceso puede disponer de IORBs de un conjunto, que reservaría en exclusión mutua, y el evento de sincronización sería explícito. En este modelo general, los procesos se bloquean por eventos en vez de por operaciones de E/S.



INTERRUPCIONES Y ENCUESTA
Interrupciones Es una señal que se origina en un dispositivo hardware (por ejemplo, un periférico), para indicar al procesador que algo requiere su atención inmediata; se solicita al procesador que suspenda lo que está haciendo para atender la petición. Debido a que el procesador no puede procesar múltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una sucesión de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentáneamente un programa que se estaba ejecutando mediante una interrupción que dure el tiempo que lleva una rutina de servicios de interrupción. Luego, el programa interrumpido puede continuar ejecutándose. Existen 256 direcciones de interrupción diferentes. Una interrupción se realiza cuando un componente del hardware del ordenador requiere la interrupción del hardware. Un ordenador posee muchos periféricos. Generalmente, necesitan utilizar recursos del sistema, aunque sólo sea para comunicarse con éste. Cuando necesitan un recurso, envían una petición de interrupción al sistema para que éste les preste atención. Cada periférico cuenta con un número de interrupción llamado IRQ (Interruption request [Petición de interrupción]). Una manera de poder entender este proceso es imaginar a cada periférico tirando de una "cuerda" conectada a una campana para indicarle al ordenador que requiere de su atención. De hecho, la "cuerda" es una línea física que conecta la ranura a la placa madre. Para una ubicación ISA de 8 bits, por ejemplo, hay 8 líneas IRQ (Interruption Request [Petición de Interrupción]) que conectan la ranura ISA de 8 bits a la placa madre, IRQ 0 a IRQ7. Estas IRQ son controladas por un "controlador de interrupciones" que verifica qué IRQ tiene mayor prioridad. Para las ranuras de 16 bits, se agregan las IRQ que van desde la 8 a la 15, las cuales requieren de un segundo controlador de interrupciones. La conexión entre los dos grupos de interrupciones se realiza por medio de la IRQ 2 que está conectada a la IRQ 9 (denominada "cascada"). El término "cascada" se puede pensar como una manera de "insertar" las IRQ del 8 al 15 entre las IRQ del 1 al 3: Dado que la prioridad se otorga a medida que va aumentando el orden en el número de IRQ, y debido a que las IRQ del 8 al 15 se insertan entre las IRQ del 1 al 3, el orden de prioridad es el siguiente:
0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7
Estas peticiones pueden ser generadas no solo por dispositivos hardware, también por los programas, e incluso en circunstancias especiales (errores generalmente) por el propio procesador. Básicamente que existen tres posibles orígenes de estas peticiones: Hardware, Software, y del procesador.




CONCLUSIÓN
Podemos concluir que este tema juega un papel muy importante tanto para identificar los problemas o evaluar las soluciones en los dispositivos de entrada y de salida Se dice que los dispositivos se caracterizan por su variedad, lo que introduce complejidad en el sistema operativo.
Las interrupciones son papel fundamental y especial en la operación de dispositivos E/S, ya que les permite enviar estas peticiones a la CPU. Sin ellas el sistema debería chequear constantemente los dispositivos para comprobar su actividad, pero las interrupciones permiten que los dispositivos puedan permanecer en silencio hasta el momento que requieren atención del procesador.
Cuando hay un problema con la configuración del hardware lo primero que debe hacer es identificarlo.es decir, debe tratar de eliminar todas las variables posibles, generalmente abriendo la máquina y quitando, uno por uno, todos los elementos que pudieran causar un conflicto, o aislándolos por medio de un software que esté instalado en su sistema operativo, hasta encontrar el componente que provocó el conflicto. Es de vital importancia para nuestra vida profesional futura, manejemos estos conceptos con facilidad, así mismo el que los apliquemos de la manera apropiada, siempre en pro de buscar soluciones a los problemas que se nos puedan presentar.


En cuanto a inquietudes o dudas, para mi han sido temas que nunca había tratado con profundidad y me gustaría que afianzáramos más en estos temas para lograr unos conocimientos mucho más claros y sólidos gracias.



BIBLIOGRAFÍA

Libro
Conceptos de sistemas operativos
Escrito por
Juan M. Morera Pascual
Juan A. Pérez-Campanero Atanasio
Paginas
http://www.zator.com/Hardware/H2_4.htm
http://es.kioskea.net/contents/repar/irq.php3
http://es.wikipedia.org/wiki/Interrupci%C3%B3n