252M 6 SO
this site the web

5.2.4 SOFTWARE DE IO INDEPENDIENTE DE DISPOSITIVOS.
El siguiente nivel dentro de la administración de dispositivos de entrada/salida tenemos al subsistema de E/S del kernel. Este es una interfaz común de la cual pueden hacer uso todos los manejadores de dispositivos.
El kernel además proporciona servicios relacionados con la E/S tales como:

1.Planificación.
2.Almacenamiento en búfer.
3.Almacenamiento en caché.
4.Administración de colas.
5.Reserva de dispositivos.
6.Tratamiento de errores.

Planificación

Significa determinar un orden mediante el cual se debe de ejecutar las órdenes de entrada/salida. Muchas veces, el orden en el cual son solicitadas no es la mejor manera de ejecutarlas. Bajo una buena planificación es posible elevar el desempeño de sistema, puesto que va a permitir compartir el acceso a los dispositivos de forma equitativa entre los distintos procesos y puede reducir el tiempo de espera promedio requerido para que la entrada/salida se complete.
Los diseñadores de sistemas operativos implementan los mecanismos de planificación manteniendo una cola de espera de solicitudes para cada dispositivo. Cuando una aplicación ejecuta una llamada al sistema de entrada/salida solicitando a su vez el bloqueo, la solicitud se coloca en la cola correspondiente a dicho dispositivo. El planificador de entrada/salida reordena la cola para mejorar la eficiencia global del sistema y el tiempo promedio de respuesta experimentado por las aplicaciones.
El sistema operativo puede escoger en dar un servicio equitativo a todos los procesos que demandan servicios de entrada/salida o pueden también privilegiar a ciertos procesos que tienen mayor prioridad y que son sensibles a la pérdida de datos si no se atienden con la suficiente rapidez.
Cuando el sistema operativo soporta mecanismos de entrada salida asíncrona, debe también ser capaz de controlar múltiples solicitudes de entrada/salida que lleguen simultáneamente. Para solucionar este problema, el sistema operativo hace uso de una cola de espera asociada a cada dispositivo de entrada/salida. En esta estructura de datos el sistema operativo mantiene información acerca del estado del dispositivo.
Almacenamiento en búfer
Un búfer es un área de memoria que permite almacenar datos temporalmente mientras se están transfiriendo entre dos dispositivos o entre un dispositivo y un proceso o aplicación. El almacenamiento en búfer se realiza por tres razones:
•Permite adaptar las diferentes velocidades de los dispositivos o la aplicación.
•Permite adaptar el tamaño de transferencia de datos que pueden tener dispositivos diferentes. Esto es el tamaño de búfer interno puede variar de dispositivo a dispositivo. Entonces con un búfer intermedio puede resolverse este problema.
•Permite también mantener la integridad de los datos durante una transferencia de datos. Esto suele pasar cuando una aplicación hace una llamada al sistema operativo para escribir información de su búfer, el sistema operativo copia primero esos datos a otro búfer y libera a la aplicación. Si la aplicación hace cambios en su búfer, éstos no se reflejarán en disco puesto que fueron hechos después de la llamada de escritura.

Almacenamiento en caché.

Una caché es una región de memoria rápida que alberga copias de ciertos datos. El acceso a la copia almacenada en la caché es más rápida que la que se hace a la memoria principal. No debe confundirse el almacenamiento en búfer con el de la caché. Un búfer puede almacenar la única copia existente de un elemento de datos, mientras que una caché, por definición, almacena en un dispositivo más rápido una copia de un elemento de datos que existe en otro lugar.


Administración de colas

Una cola de dispositivo es un búfer que almacena la salida dirigida a un dispositivo, por ejemplo, una impresora, que no pueda aceptar flujos de datos entrelazados. Aunque una impresora solo puede dar servicio a un trabajo a la vez, es posible que varias aplicaciones quieran hacer uso de la impresora en un mismo instante. Por supuesto que si el sistema operativo permitiera esa situación, los trabajos enviados se mezclarían siendo así inservibles. Para resolver este problema, el sistema operativo intercepta toda la salida dirigida a la impresora y va almacenando cada trabajo en un archivo de disco separado. Cuando una aplicación termina de imprimir, el sistema de administración de colas pone otro archivo temporal en la impresora. Esta administración puede llevarse a cabo ya sea por un hilo del sistema operativo o por un demonio de impresión. Cualquiera de estas técnicas permiten al usuario a al administrador ver el estado de impresión de los trabajos o de las impresoras, así como agregar nuevos trabajos, suspenderlos si hay un error o eliminarlos.

Tratamiento de errores
Un sistema operativo que utilice memoria protegida debe de prever los posibles errores de hardware y de las aplicaciones, de modo que cada pequeño error no provoque un fallo completo del sistema. Los dispositivos y las transferencias de entrada salida pueden fallar de muchas maneras, debido a razones transitorias como por ejemplo, cuando una red local se sobrecarga y no es capaz de comunicar adecuadamente dos computadoras o razones más graves como cuando falla la tarjeta controladora de disco o hay un error en la memoria principal.
Cuando ocurre un error de entrada salida es normal que el sistema operativo reintente la operación algunas veces para tratar de recuperarse del error, pero si el fallo es permanente, el sistema operativo debe de buscar la forma recuperarse perdiendo la menor cantidad de datos posible y evitando también que sean afectadas otras aplicaciones.

0 comentarios:

Publicar un comentario

 

W3C Validations

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi dapibus dolor sit amet metus suscipit iaculis. Quisque at nulla eu elit adipiscing tempor.

Usage Policies