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
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.
•Verificar si el brazo esta colocado en
el cilindro adecuado, etc.
OResumiendo: debe decidir cuales son las operaciones necesarias del
controlador y su orden.
OEnvía los comandos al
controlador al escribir en los registros de dispositivo del mismo.
OFrecuentemente el
manejador del dispositivo se bloquea hasta que el controlador realiza cierto
trabajo; una interrupción lo libera de este bloqueo.
OAl finalizar la
operación debe verificar los errores.
OSi todo esta o.k.
transferirá los datos al software independiente del dispositivo.
ORegresa información
de estado sobre los errores a quien lo llamo.
OInicia otra solicitud
pendiente o queda en espera.
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.




No hay comentarios.:
Publicar un comentario