El sistema operativo como capa de abstracción


El sistema operativo como capa de abstracción

La primera de estas finalidades se orienta a facilitar las cosas a los programadores, pero no por ello debe sernos indiferente a los usuarios. Imaginemos que un programador diseña una excelente aplicación de retoque fotográfico. Naturalmente, entre las opciones de ese programa habrán de figurar las de, por ejemplo, guardar en el disco duro o enviar a la impresora la imagen retocada. Como existen en el mercado cientos de modelos diferentes de discos duros y de impresoras, más los cientos que ya no se venden pero todavía se emplean y los cientos que aparecerán en los próximos años, al diseñador le resulta imposible incorporar en el programa una orden específica para cada dispositivo.

Afortunadamente, dispone de una opción más simple, que es la que utilizan todos los programas: transmitir al sistema operativo la orden de guardar o de imprimir la imagen. El sistema operativo, en tanto que «director» o gestor de todos los recursos del equipo, asigna a la imagen un espacio en el disco duro o envía la orden de imprimir a la impresora, cuyas características específicas conoce porque tales dispositivos han sido previamente instalados. El sistema operativo, por tanto, permite al programador «hacer abstracción» de la infinidad de dispositivos existentes y centrarse en crear un buen programa.


*El sistema operativo actúa como una capa de abstracción entre el hardware y los programas o aplicaciones

A partir de ello podemos vislumbrar dos hechos ciertos. En primer lugar, que todos los programas «corren» sobre un sistema operativo, sin el cual no podrían ofrecer gran parte de sus prestaciones; de hecho, en la práctica, ni siquiera podemos abrir un programa sin un sistema operativo. En segundo lugar, que los programas se diseñan para funcionar no sobre cierto ordenador, sino sobre cierto sistema operativo. Es decir, si compramos un CD-ROM con un juego diseñado para Windows, podremos instalarlo y jugar en todos los ordenadores con el sistema operativo Windows, pero no hay ninguna garantía de que el juego funcione en un ordenador de Apple con el sistema operativo macOS.

Para los usuarios, que los programas se ejecuten sobre sistemas operativos supone una gran ventaja y algunos inconvenientes. La ventaja es evidente: si cada programa hubiera de diseñarse para cada ordenador en concreto, cada usuario necesitaría un programador para él solo, cosa que nadie podría permitirse. Es lo que ocurría en los inicios: sólo los estados, universidades o grandes centros de investigación podían costear aquellas inmensas computadoras y la elaboración de los programas que habían de ejecutarse en ellas. Sin sistemas operativos volveríamos a las décadas inmediatamente posteriores a la Segunda Guerra Mundial, que constituyen el neolítico de la historia de la informática. De hecho, los acontecimientos que marcan el inicio de la informática moderna son tanto la fabricación del primer microprocesador (el Intel 4004, en 1971) como la aparición del primer sistema operativo multiplataforma y multitarea (Unix, en 1969).

Diseñar, en cambio, un programa para Windows es crear un producto para un mercado de millones de usuarios (los millones de usuarios de Windows), lo cual amortiza los costes aun vendiéndolo a un precio reducido. En comparación, los inconvenientes que padece el usuario parecen menores, pero son dignos de reseña, y derivan de la incompatibilidad no sólo entre los sistemas operativos, sino también de la incompatibilidad entre versiones distantes de un mismo sistema operativo, de forma que un programa que funcionaba perfectamente en Windows XP (2001), por ejemplo, deja de funcionar en Windows 7 (2009).

El problema no es tanto el programa (que siempre podrá substituirse por otro de iguales o superiores prestaciones), sino el hecho de que dicho programa se haya utilizado durante años para introducir y guardar un gran volumen de información que, al no funcionar el programa, no puede recuperarse. Existen multitud de herramientas que pueden remediar estas situaciones, pero no siempre están al alcance de los usuarios corrientes o las pequeñas empresas.


 

Deja un comentario