Desde los comienzos, antes de que existieran los Pcs, un ordenador era y hoy por hoy sigue siendo una maquina de proposito general.
Los primeros ordenadores, estaban pensados para que sin modificar su estructura principal, simplemente cambiando algunos cables y elementos de posicion, sirvieran para solucionar problemas diferentes. Los cambios que habia que realizar en la maquina, era el programa y la maquina era de proposito general porque no servia solo para una cosa.
No hay que ser un lumbreras para ver que esto es un engorro, asi que poco a poco evoluciono para evitar en lo posible cambiar la parte fisica de la maquina y mediante un curioso invento que fue el precursor de las memorias actuales. Con la evolución de los sistemas, en la memoria se cargaba el programa que se ejecutaria en la maquina. Se consiguio cargar el programa y los datos necesarios en estas memorias con cosas tan curiosas como tarjetas perforadas o cintas magneticas. El uso de soportes magneticos iria evolucionando a lo largo de los años hasta hoy en dia.
Cuando IBM consiguio crear un ordenador pequeño y economicamente accesible llamado Personal Computer (PC), consiguio que se iniciara toda una revolucion tecnológica. No nos entendamos mal, existian otros equipos de diferentes fabricantes que usaban con mayor o menor acierto programas y entornos de los cuales en muchos casos eran propietarios. Esto seria como el caso actual de las consolas. Los Cds/DVDs de unas no sirven para las otras. Esto es en parte debido a el microprocesador que tiene el control de la consola, pues los programas deben estar escritos en el “lenguaje” que ese procesador entienda.
Hay que prestar atencion a tres cosas.
- La primera es que IBM libero el copyright del PC, de forma que cualquier fabricante pudiera construir adaptadores y tarjetas para el PC a un precio relativamente económico. Apple, no permitio esto con sus equipos por lo tanto, aunque fueran en conjunto mas estables, tambien eran mas caros. Esto hizo que todos los Pcs y sus clonicos (equipos como el PC pero que no eran de IBM), tuvieran un auge de ventas exponencial hasta hoy en dia.
- La segunda es que el microprocesador que usó, era de la empresa intel y las instrucciones que soportaban los micros originales, se han mantenido y han ido ampliando su funcionalidad. i8088, i8086, i80286, i80383, i80486, Pentium (con diferentes evoluciones de MMX, Pro, etc), Pentium II / III / 4, Xeon, Dual core, Quad Core, Celeron,etc. Cuando se habla de estos micros, se los denomina arquitectura x86, para distinguirlos de otras arquitecturas como la Alpha. La “i” del inicio de los nombres (i80386) significa que son de “intel”
- La tercera viene derivada del sistema operativo que IBM puso en sus Pcs, el PC DOS (para otros ordenadores compatibles MSDOS) desde entonces hasta hoy en dia, Microsoft ha campado a sus a anchas por donde hubiera un PC. Evolucionando a otros sistemas Windows (3.1 / 3.11 / 95 / 98 / NT / Me / 2000 / XP / CE / Vista / 7).
- ¿Para que sirve el sistema operativo si estabamos hablando de programas?.
Cuando se consiguio una estructura estándar en la parte fisica, quedo claro que desarrollar un programa complejo que tuviera que controlar directamente todos los dispositivos de entrada y salida (teclado, pantalla, ratón, impresora, etc.) podia ser un verdadero engorro, para hacer que la parte del control fuera estándar y que los programadores de aplicaciones se pudieran centrar en su programa, se crearon una serie de programas que se encargaban de gestionar esa parte engorrosa, de forma que cuando un programa necesitaba imprimir algo, le enviaba al sistema operativo lo que queria imprimir y el ya se podia desentenderse de esa parte de la programación.
Esto no significa que el sistema operativo o los controladores de los diferentes componentes (graficos, puertos usb, LPTs y COMs, etc.) no sean programas, sino que establecen una capa intermedia para una mayor flexibilidad.
Finalmente llegamos a uno de los ultimos pasos dados en la actualidad en la programación y viene derivado del auge de internet.
Aqui tambien se ha pretendido crear una capa intermedia para que nos entendamos todos, pero esto llega a otro nivel. Ya no se depende del microprocesador para entenderse entre los ordenadores, en internet hayaconectados tanto ordenadores con Unix, con Linux, con Windows, con Apple, con telefonos moviles de todo tipo y condicion e incluso se ha llegado a conectar algun dinosaurio informatico de algun loco de los ordenadores. Todo este batiburillo de equipos deben entenderse y esto significa que el punto de conexion entre ellos deba ser de una claridad absoluta.
El punto mas claro donde veremos esa capa intermedia, sera en nuestro navegador (que tambien es un programa), a el le da lo mismo quien le esté enviando la página, simplemente se limita a interpretarla y mostrarla. No es el unico programa de enlace, pero es el que nos hace entender mas claramente como nos permite interactuar con otro ordenador que no sabemos ni donde está, ni que tiene dentro ni en que sistema operativo esta trabajando.
Hay mas cosas bajo el cielo, pero… ese es tema de otro post.