Administración de Entrada y Salida y Planificación de disco
La interfaz del computador con el mundo exterior es la arquitectura de E/S. Esta arquitectura está diseñada para ofrecer un medio sistemático de controlar la interacción con el mundo exterior y proporcionar al sistema operativo la información que necesita para administrar la actividad de E/S de una manera eficaz. Las funciones de E/S se dividen generalmente en un conjunto de niveles, donde los más bajos se encargan de los detalles cercanos a las funciones físicas a realizar y los superiores tratan con la E/S desde un punto de vista lógico y general. El resultado es que los cambios en los parámetros del hardware no afecten necesariamente a la mayor parte del software de E/S. Un aspecto clave de la E/S es el empleo de buffers controlados por utilidades de E/S más que por los procesos de aplicación.
En un momento dado puede haber una cola de peticiones de E/S al mismo disco. Es una labor de la planificación del disco el satisfacer estas peticiones de forma que se minimice e tiempo de búsqueda mecánica del disco y, por tanto, se mejore el rendimiento. Aquí entran en juego la disposición física de las peticiones pendientes, así como consideraciones sobre la cercanía de las mismas.
Objetivos de Diseño Hay dos objetivos primordiales en el diseño de la E/S: eficiencia y generalidad. La eficiencia es importante porque las operaciones de E/S constituyen a menudo un cuello de botella en los sistemas informáticos.
se puede comprobar que la mayoría de los dispositivos de E/S son extremadamente lentos en comparación con la memoria principal y el procesador. Una mas se ha visto, hace que algunos procesos esperen en operaciones de E/S mientras otro proceso se está ejecutando. Sin embargo, a pesar del enorme tamaño de manera de abordar este problema es el uso de la multiprogramación, que, como Sistemas Operativos Considérese el caso más simple, el primero, de un dispositivo periférico local que se comunica de una manera sencilla, como un flujo de bytes o de registros. Los niveles implicados son los siguientes:
• Sistema de archivos: Este nivel se encarga de la estructura lógica de los archivos y las operaciones que pueden especificar los usuarios, como Abrir. Cerrar, Leer y Escribir. En este nivel también se gestionan los derechos de acceso.
• Organización física: Del mismo modo que las direcciones virtuales de memoria deben convertirse en direcciones tísicas de la memoria principal, teniendo en cuenta la estructura segmentada y paginada, las referencias lógicas a los archivos y registros deben convertirse en direcciones físicas del almacenamiento secundario, teniendo en cuenta la pista física y la estructura en secundario y de buffers de sectores del archivo. La asignación de espacio de almacenamiento
Buffer Circular
En los últimos 30 años, el crecimiento en velocidad de los procesadores y la memoria priuy atrás el de los accesos a disco. La velocidad del procesador y de la memoria se ha incrementado en dos órdenes de magnitud con respecto al disco. El resultado es que, actualmente, los discos son, por los menos, cuatro veces más lentos que la memoria principal.
Está claro que el orden en que se leen los sectores del disco tiene un efecto inmenso en el rendimiento de la E/S. En el caso de los accesos a archivos en los que se leen varios sectores, se puede ejercer algún control sobre la manera en que se distribuyen los sectores de datos. En el próximo capítulo se comentará algo al respecto. Sin embargo, incluso en el caso del acceso a un archivo en un entorno de multiprogramación, existirán varias solicitudes de E/S que compitan por el mismo disco. Por tanto, merece la pena investigar alguna manera más de mejorar el rendimiento de la E/S a disco, sobre todo del conseguido con un acceso puramente aleatorio. En el resto de la sección se van a examinar dos de las estrategias más conocidas: la planificación del disco y la memoria intermedia (caché) de disco. En el capí-tulo siguiente se estudiará la organización de los archivos y las cuestiones de almacenamiento que influyen en el rendimiento.
MVS MVS fue diseñado para ofrecer un sistema de E/S estructurado en niveles que permitiera a los programadores ignorar los múltiples detalles de las operaciones de E/S, así como saltardetallar determinadas fases de cada operación.
El subsistema de canales es un procesador separado que puede leer y ejecutar órdenes de canal o instrucciones en memoria principal. El subsistema elige el mejor camino para la transmisión de datos entre memoria principal y el dispositivo y controla el traslado de los datos. Cuando finaliza la E/S, el subsistema realiza una interrupción a la CPU). El IOS evalúa la interrupción y devuelve el control al EXCP. El EXCP actualiza varias tablas para indicar el resultado de la operación de E/S y pasa el control al distribuidor (dispatcher).
Buffer Doble Se puede realizar una mejora del buffer sencillo asignando dos buffers del sistema a cada operación De esta forma, un proceso puede transfiere datos hacia (o desde) un buffer mientras que el sistema operativo vacía (o rellena) el otro. Esta técnica se conoce como buffer doble o intercambio de buffers.
El distribuidor reactiva el método de acceso para responder a la terminación de la petición de E/S. El método de acceso devuelve el control al programa de usuario, junto con alguna información de estado requerida.
No hay comentarios:
Publicar un comentario