Una Estructura de Datos es una forma de organizar un
conjunto de datos elementales con el objetivo de facilitar su
manipulación.
Un dato
elemental es la mínima información que se tiene en un sistema.
Los procesos de usuario emiten
peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita
una operación de E/S, el sistema operativo prepara dicha operación y bloquea al
proceso hasta que se recibe una interrupción del controlador del dispositivo
indicando que la operación está completa. Las peticiones se procesan de forma
estructurada en las siguientes capas:
MANEJADORES DE INTERRUPCIÓN
Después de dar servicio a un dispositivo
ejecutando su rutina de servicio de interrupción (RSI) asociada, el procesador
reanuda la actividad desde el punto de la interrupción.
Las interrupciones deben ocultarse
en lo más profundo de las entrañas del S.O. La forma de esconderlo es que cada
proceso que inicie una operación de E/S ser bloquea hasta que termine la E/S y
ocurra la interrupción . El proceso se puede bloquear asi
mismo mediante un DOWN en un semáforo, un WAIT en una variable de condición o
un PECEIVE en un mensaje.
MANEJADORES DE DISPOSITIVOS
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.
La labor de un manejador de dispositivos es la de:
Aceptar las solicitudes abstractas
que le hace el software independiente del dispositivo.
Verificar la ejecución de dichas
solicitudes.
Si al recibir una solicitud el
manejador esta ocupado con otra solicitud, agregara la nueva solicitud a
una cola
de solicitudes pendientes.
UN EJEMPLO:
para
un disco, se debe traducir de términos abstractos a términos concretos:
El manejador
de disco debe:
•Estimar
el lugar donde se encuentra en realidad el bloque solicitado.
•Verificar
si el motor de la unidad funciona.
E/S INDEPENDIENTE DE DISPOSITIVO
La
frontera de este nivel con el anterior es difusa.
Ya
que tiene diferentes Funciones:
O- Ofrecer una interfaz uniforme a los
procesos de usuarios.
O- Asignar nombres a los dispositivos.
O- Proteger a los dispositivos.
O- Ofrecer un tamaño de bloque
independiente de los dispositivos.
O- Almacenar los datos temporales en la
transferencias de E/S.
O- Gestionar la asignación del espacio en
dispositivos de bloques.
O- Reservar y liberar los dispositivos
dedicados.
O- Informar de los posibles errores.
O- Un aspecto muy importante en un S.O. es
la asignacion de nombres a los
Oarchivos y dispositivos.
•Verificar
si el brazo esta colocado en el cilindro adecuado, etc.
No hay comentarios.:
Publicar un comentario