En este artículo, intentaremos comprender y cubrir todos los objetivos del software de entrada/salida (E/S).
El software de E/S se utiliza para la interacción con dispositivos de E/S como mouse, teclados, dispositivos USB, impresoras, etc. Se realizan varios comandos a través de dispositivos externos disponibles que hacen que el sistema operativo funcione en cada uno de ellos uno por uno.
El software de E/S está organizado de las siguientes maneras:
Bibliotecas de nivel de usuario : proporciona una interfaz simple para programar funciones de entrada y salida.
Módulos de nivel de kernel : proporciona un controlador de dispositivo para interactuar con los módulos de E/S independientes del dispositivo y el controlador de dispositivo.
Hardware : una capa que incluye el controlador de hardware y el hardware real que interactúa con los controladores de dispositivos.
Veamos ahora todos los objetivos del software de E/S en la sección ilustrada a continuación, uno tras otro:
Objetivos del software de E/S
En esta sección, hablaremos sobre todos los objetivos del software de E/S, uno tras otro, que se ilustran a continuación:
1. Denominación uniforme: por ejemplo, la denominación de los sistemas de archivos en los sistemas operativos se realiza de manera que el usuario no tenga que conocer el nombre del hardware subyacente.
2. Síncrono versus asíncrono: cuando la CPU está trabajando en algún proceso, entra en estado de bloque cuando ocurre la interrupción. Por lo tanto, la mayoría de los dispositivos son asíncronos. Y si la operación de E/S está en un estado de bloqueo, es mucho más fácil escribir la operación de E/S. Siempre es responsabilidad del sistema operativo crear dicho programa de usuario controlado por interrupciones.
3. Independencia del dispositivo: la parte más importante del software de E/S es la independencia del dispositivo. Siempre es preferible escribir un programa que pueda abrir todos los demás dispositivos de E/S. Por ejemplo, no es necesario escribir el programa de toma de entrada una y otra vez para tomar entrada de varios archivos y dispositivos. Como esto crea mucho trabajo por hacer y también mucho espacio para almacenar los diferentes programas.
4. Almacenamiento en búfer: los datos que ingresamos en un sistema no se pueden almacenar directamente en la memoria. Por ejemplo, los datos se convierten en grupos más pequeños y luego se transfieren al búfer externo para su examen. El búfer tiene un gran impacto en el software de E/S, ya que es el que finalmente ayuda a almacenar y copiar datos. Muchos dispositivos tienen restricciones y, para evitarlo, algunos datos siempre se colocan en el búfer por adelantado para que la tasa de búfer de llenarse con datos y vaciarse permanezca equilibrada.
5. Manejo de errores: La mayoría de los errores son generados por el controlador y también son manejados en su mayoría por el propio controlador. Cuando el nivel inferior resuelve el problema, no llega al nivel superior.
6. Dispositivos compartibles y no compartibles: los dispositivos como el disco duro se pueden compartir entre varios procesos, mientras que los dispositivos como las impresoras no se pueden compartir. El objetivo del software de E/S es manejar ambos tipos de dispositivos.
7. Almacenamiento en caché: el almacenamiento en caché es el proceso en el que todos los datos más accesibles y más utilizados se guardan en una memoria separada (conocida como memoria caché) para acceder a ellos mediante la creación de una copia de los datos disponibles originalmente. La razón para implementar este proceso de almacenamiento en caché es simplemente aumentar la velocidad de acceso a los datos, ya que acceder a la copia de datos almacenada en caché es más eficiente en comparación con acceder a los datos originales.
Publicación traducida automáticamente
Artículo escrito por shivalibhadaniya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA