Modulos de entrada y salida
- Bus de datos: de 8, 16, 32 ´o 64 bits dependiendo del modelo (64 bits para los Pentiums de ultima generación). El número de bits se usa, en general, para determinar el tamaño(size) del procesador.
- Bus de direcciones: para poder conectar la CPU con la memoria y con los dispositivos de entrada/salida.
- Bus de control: para enviar señales que determinan cómo se comunica el CPU con el resto del sistema (por ejemplo, las líneas de lectura (read) y escritura (write) especifican qué es lo que se está haciendo en la memoria).
Una de las funciones principales de un sistema operativo consiste en controlar todos los dispositivos de entrada y salida de la computadora. Este debe emitir comandos a los dispositivos, capturar interrupciones y manejar errores.
También debe proporcionar una interfaz entre los dispositivos y el resto del sistema que sea simple y fácil de utilizar. El código de e/s representa una fracción significativa del sistema operativo en su totalidad.
Los dispositivos de E/S se pueden clasificar en dos categorías: dispositivos de bloque y dispositivos de caracteres.Dispositivos de bloque
Es aquel dispositivo que almacena información en bloques de tamaño fijo, cada uno con su dirección, los tamaños comunes de bloques vas de 128 bytes a 1024 bytes.
La
propiedad esencial de un dispositivo de bloque es que es posible leer o
escribir cada bloque de forma independiente de los demás, es decir que
el programa en cualquier momento puede leer o escribir en cualquiera de
los bloques.
Es
un dispositivo de bloque por que no importa donde este el brazo del lector,
siempre es posible buscar otro cilindro y esperar a que el bloque requerido se
encuentre debajo de la cabeza. Ahora si se considera una cinta magnética que
contenga bloques de 1K
bytes.
Disco
Si la unidad de cinta le da un comando de leer el bloque N, esta
siempre puede regresar la cinta y adelantarla asta que encuentre el
bloque N.
Este envía y recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se puede utilizar direcciones ni tienen una operación de búsqueda.
Las terminales, impresoras de línea, cintas de papel, tarjetas perforadoras, interfaces de una red, ratones y los otros dispositivos no parecidos a los discos son dispositivos de carácter.
Interrupciones
En el caso de la entrada/salida por
interrupciones, es el dispositivo quien establece el momento en que se realiza
la transferencia de los datos, avisando a la CPU de que ha ocurrido un evento
(por ejemplo, que el usuario haya presionado una tecla). En este punto, debemos
aclarar que en la familia 80x86 existen tres tipos de interrupciones, que a
veces producen confusión por la nomenclatura empleada en diversos textos:
1. Las traps o interrupciones
software son interrupciones invocadas por el usuario desde programa. En
este caso, la CPU pasa a ejecutar el manejado de trap asociado
(su rutina de atención a la interrupción o ISR2).
2. Las excepciones son traps
generadas automaticamente en respuesta a alguna condición excepcional
producida al intentar ejecutar
una instrucción: división por cero, codigo de
operación ilegal. .
. También en este caso se ejecuta la ISR asociada, decidiendo,
en su caso, que hacer con la situación anómala.
3. Las interrupciones hardware, a las
que llamaremos simplemente “interrupciones”, se basan en un evento
hardware externo a la CPU y no relacionado con la secuencia
de instrucciones que se este ejecutando en ese momento. Son las que un
ingeniero electrónico mas intuitivamente relacionarıa con el termino
“interrupción”, y con las que vamos a tratar en este proyecto.