Existen varias formas en que el sistema operativo se comunique con cualquier dispositivo de entrada y salida, uno de ellos es el sondeo donde el CPU espera hasta que el estado sea libre y ajusta el registro de ordenes y datos-salida (si la operación es de salida), luego ajusta el estado a orden-preparada haciendo reaccionar el controlador y pone estado a ocupado, lee registro de ordenes y ejecuta orden, pone un valor en datos-salida (si es una orden de salida), suponiendo que la orden tiene éxito el controlador cambia el estado a ocioso, la CPU observa el cambio a ocioso y lee los datos si es una operación de salida. El sondeo es buena elección si los datos van a ser manejados al instante (un modem o teclado).
Por otro lado, en lugar de tener la CPU ocupada esperando la disponibilidad del dispositivo, se encuentra la interrupción, otra forma de comunicación entre sistema operátivo-dispositivo, donde el dispositivo interrumpe a la CPU cuando ha terminado una operación de e/s, cuando esto ocurre, la cpu determina que dispositivo la provocó y si la última orden fue una operación de entrada, recupera los datos del registro del dispositivo e inicia la siguiente operación para el dispositivo.
Arquitectura software del sistema de E/S
Se puede estructurar el software de e/s en capas:
- Manejadores de dispositivos: Cada manejador gestiona un tipo o clase de dispositivo. Acepta peticiones “abstractas” de la capa de software independiente del dispositivo y las traduce en ordenes para el controlador del dispositivo, además controla que la petición se realiza y se bloquea o no, según tipo de operación. Si no hay errores, da respuesta si es necesario, y retorna al llamador.
- Software de e/s independiente del dispositivo: Realiza las tareas comunes a todos los dispositivos como la protección, implementa el búfering, asigna y libera dispositivos dedicados, informar de errores producidos y suministra una interfaz común al usuario.
- Software a nivel de usuario: permiten realizar las llamadas al sistema de e/s para la gestión de formatos y control de los dispositivos
Rendimiento y sus soluciones
En cuanto a el rendimiento de las E/S se puede decir por varias razones que son costosas, ya que, Involucran movimientos físicos lentos (cabezal disco) o líneas de comunicaciones (teléfono-red) que también lo son.
Los dispositivos de E/S son a menudo disputados por múltiples procesos y se suministran por medio de llamadas al sistema y gestión de interrupciones, que son lentas. Para solucionar esto seria mas factible reducir el número de veces que los datos son copiados manteniéndolos en caché, reducir la frecuencia de interrupciones utilizando, si es posible, grandes transferencias de datos y descargar computación de la CPU principal utilizando controladores de dispositivos que puedan escribir directamente en memoria( DMA, Direct Memory Access).
No hay comentarios:
Publicar un comentario