Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.
Cada controlador posee uno o más registros de dispositivos:
- Se utilizan para darle los comandos.
- Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada.
- Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo.
- Verificar la ejecución de dichas solicitudes.
- El manejador de disco debe:
- Estimar el lugar donde se encuentra en realidad el bloque solicitado.
- Verificar si el motor de la unidad funciona.
- Verificar si el brazo esta colocado en el cilindro adecuado, etc.
- Resumiendo: debe decidir cuales son las operaciones necesarias del controlador y su orden.
- Envía los comandos al controlador al escribir en los registros de dispositivo del mismo.
- Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupción lo libera de este bloqueo.
- Al finalizar la operación debe verificar los errores.
- Si todo esta o.k. transferirá los datos al software independiente del dispositivo.
- Regresa información de estado sobre los errores a quien lo llamo.
- Inicia otra solicitud pendiente o queda en espera.
La labor de un manejador de dispositivos es la de:
Si al recibir una solicitud el manejador esta ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.
No hay comentarios:
Publicar un comentario