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