Un concepto clave en el diseño
del software de E/S se conoce como independencia de dispositivos. Lo que
significa es que debe ser posible escribir programas que puedan acceder a
cualquier dispositivo de E/S sin tener que especificar el dispositivo por
adelantado. Por ejemplo, un programa que lee un archivo como entrada debe tener
la capacidad de leer un archivo en el disco duro, un CD-ROM, un DVD o una
memoria USB sin tener que modificar el programa para cada dispositivo distinto.
De manera similar, debe ser posible escribir un comando tal como
sort <entrada> salida
y hacer que funcione con datos
de entrada provenientes de cualquier tipo de disco o del teclado, y que los
datos de salida vayan a cualquier tipo de disco o a la pantalla. Depende del
sistema operativo encargarse de los problemas producidos por el hecho de que
estos dispositivos en realidad son diferentes y requieren secuencias de
comandos muy distintas para leer o escribir.
Un objetivo muy relacionado
con la independencia de los dispositivos es la denominación uniforme. El nombre
de un archivo o dispositivo simplemente debe ser una cadena o un entero sin
depender del dispositivo de ninguna forma. En UNIX, todos los discos se pueden
integrar en la jerarquía del sistema de archivos de maneras arbitrarias, por lo
que el usuario no necesita estar al tanto de cuál nombre corresponde a cuál
dispositivo. Por ejemplo, una memoria USB se puede montar encima del directorio
/usr/ast/respaldo, de manera que al copiar un archivo a
/usr/ast/respaldo/lunes, este archivo se copie a la memoria USB. De esta forma,
todos los archivos y dispositivos se direccionan de la misma forma: mediante el
nombre de una ruta. El sistema operativo debe ser capaz de manejar los
dispositivos compartidos y dedicados de una manera que evite problemas.
No hay comentarios:
Publicar un comentario