Sistemas operativos modernos

personales basadas en Intel. (En todo este libro usaremos los términos “disco flexible” y “dis- quete” en forma indistinta.) El PD765 tiene 16 instrucciones, cada una de las cuales se especi­ fica cargando entre uno y nueve bytes en un registro de dispositivo. Estas instrucciones son para leer y escribir datos, mover el brazo del disco y formatear pistas, así como para inicializar, detectar, restablecer y recalibrar la controladora y las unidades de disco. Las instrucciones más básicas son read (leer) y write (escribir), cada una de las cuales re­ quiere 13 parámetros, comprimidos en nueve bytes. Estos parámetros especifican la dirección del bloque de disco a leer, el número de sectores por pista, el modo de grabación empleado en el medio físico, la separación entre sectores, qué hacer con una marca de dirección de datos borrada y cosas por el estilo. Si el lector no entiende esta jerga, no debe preocuparse; de he­ cho, eso es precisamente lo que se quiere subrayar: que todo el asunto es un tanto esotérico. Una vez que se lleva a cabo la operación, ia controladora devuelve 23 campos de estado y error comprimidos en siete bytes. Por si no fuera suficiente, el programador del disco flexible también debe tener presente en todo momento si el motor está encendido o apagado. Si está apagado, habrá que encenderlo (con un largo retraso de arranque) antes de poder leer o escri­ bir los datos. El motor no puede dejarse encendido demasiado tiempo, pues el disquete se des­ gastaría. Así, el programador debe encontrar un buen término medio entre retrasos de arranque largos y desgaste de discos flexibles (con la consiguiente pérdida de los datos gra­ bados). Sin entrar en los detalles reales, deberá quedar claro que es probable que el programador co­ mún no va a querer meterse demasiado en los pormenores de la programación de discos flexi­ bles (o duros, que son igual de complejos y muy diferentes). Más bien, lo que quiere es trabajar con una abstracción simple, de alto nivel. En el caso de los discos, una abstracción típica sería que el disco contiene una colección de archivos con nombre. Cada archivo puede abrirse para lectura o escritura, luego leerse o escribir en él, y por último cerrarse. Los detalles de si la gra­ bación debe efectuarse por modulación de frecuencia modificada o si el motor está encendido o apagado no deberán aparecer en la abstracción que se presenta al usuario. El programa que oculta al programador la verdad acerca del hardware y presenta una vis­ ta bonita y sencilla de archivos con nombre que se pueden leer y en los que se puede escribir es, por supuesto, el sistema operativo. Así como el sistema operativo separa al programador del hardware de disco y presenta una interfaz sencilla orientada hacia archivos, también oculta mu­ chos asuntos desagradables relacionados con interrupciones, temporizadores, administración de memoria y otras funciones de bajo nivel. En cada caso, la abstracción que ofrece el sistema operativo es más sencilla y fácil de usar que la que ofrece el hardware subyacente. En esta perspectiva, la función del sistema operativo es presentar al usuario el equivalente de una máquina extendida o máquina virtual que es más fácil de programar que el hardwa­ re subyacente. La forma en que el sistema operativo logra este objetivo es una historia larga, que estudiaremos con detalle en este libro. En pocas palabras, el sistema operativo presta una variedad de servicios que los programas pueden obtener empleando instrucciones especiales que se conocen como llamadas al sistema. Examinaremos algunas de las más comunes en una sección posterior de este capítulo.

RkJQdWJsaXNoZXIy MjI4NDcx