El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde el CPU. El S. O. generalmente trabaja con el controlador y no con el dispositivo.
La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel: - La comunicación es mediante un flujo de bits en serie que:
- Comienza con un preámbulo.
- Sigue con una serie de bits
- Concluye con una suma para verificación o un código corrector de errores.
- El preámbulo:
- Se escribe al dar formato al disco.
- Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares.
- El controlador debe:
- Convertir el flujo de bits en serie en un bloque de bytes.
- Efectuar cualquier corrección de errores necesaria.
- Copiar el bloque en la memoria principal.
- Cada controlador posee registros que utiliza para comunicarse con el CPU:
- Pueden ser parte del espacio normal de direcciones de la memoria
- Pueden utilizar un espacio de direcciones especial para la e/s, asignando a cada controlador una parte de él.
El S. O. realiza la e/s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores. Al aceptar el comando, el CPU puede dejar al controlador y dedicarse a otro trabajo.
Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:
- Obtenga el control del CPU.
- Verifique los resultados de la operación.
Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros del controlador, incluidos en el mapa de E/S de la computadora, que se pueden acceder mediante instrucciones de máquina de E/S.
Hay tres registros importantes en casi todos los controladores:
- registro de datos
- estado
- control
No hay comentarios:
Publicar un comentario