De la misma manera que los controladores proveen de una manera para que las aplicaciones usen los subsistemas hardware sin tener que saber todos los detalles de la operación, los APIs (programas de aplicación de interfaz) permiten a los programadores usar funciones del ordenador y el sistema operativo sin tener que directamente hacer un seguimiento de todos los detalles que se realizan en la CPU. Para poder lo importante que es esto, y lo haremos creando un fichero en el disco duro para guardar datos.
Un programador escribiendo una aplicación para grabar datos de un instrumento científico, puede querer permitir al científico especificar el nombre del fichero creado. El sistema operativo puede proveer una función API llamada MakeFile para crear ficheros. Cuando se escribe el programa, el programador podría insertar una línea como la siguiente: MakeFile [1, %Name, 2]
En este ejemplo, la instrucción le dice al sistema operativo que cree un fichero que aleatoriamente accederá a sus datos (puesto con un 1, la otra opción puede ser un cero para el fichero serie), tendrá un nombre tecleado por el usuario (%Name) y será de un tamaño que varia dependiendo de cuantos datos son almacenados en el fichero (puesto con un 2 – las otras opciones pueden ser un cero para una tamaño prefijado, y un 1 para un fichero que crece según se añaden datos, pero que no decrece cuando los datos son quitados).
Ahora veamos qué hace el sistema operativo para hacer que la instrucción se ponga en marcha.
El OS envía una petición al disco duro para encontrar la localización del primer espacio libre disponible de almacenamiento. Con esta información, el sistema operativo crea una entrada en el sistema de ficheros mostrando el principio y el final de las localizaciones del fichero, el nombre del fichero, el tipo de fichero, si el fichero ha sido archivado, qué usuarios tienen permisos para ver y/o modificar el fichero, y la fecha y hora de su creación.
El OS escribe información al principio del fichero que los identifica, configura el tipo de acceso posible e incluye otra información que enlaza el fichero a la aplicación. En toda esta información, las peticiones al disco duro y las direcciones del principio y el final del fichero, están en formatos muy dependientes del fabricante y modelo del disco duro.
Al haber escrito el programador el programa para usar el API para almacenamiento en disco, el programador no necesita estar pendiente de las instrucciones de código, tipos de datos y respuestas de código para cualquier posible disco duro y dispositivo de cinta.
El sistema operativo, conectado a los controladores para todo el hardware que tiene que gestionar, se encarga de todos los detalles que puedan cambiar en el hardware. El programador simplemente tiene que escribir el código para el API y confiar al OS todo el resto.
Las APIs se han convertido en una de las áreas más controvertidas en la industria de los ordenadores en los años recientes. Las compañías han pesado que los programadores usando sus APIs pueden acabar traduciendo esto en la habilidad de controlar y beneficiarse de una parte específica de la industria.
Esta es una de las razones de porque tantas compañías han estado deseando proveer aplicaciones como lectores o visores de imágenes a la gente de forma gratuita. Saben que los consumidores pedirán que los programas se puedan utilizar de estas aplicaciones gratuitas, y las compañías de estas aplicaciones estarán preparadas a pagar para permitir que su software provea las funciones que requieren los consumidores.
En la siguiente parte del artículo veremos el interfaz de usuario y las funciones tan importantes que ofrece. Haz clic aquí para verlo:
¿Cómo es un interfaz de usuario?