Está en la página 1de 9

Historia de los sistemas operativos

La informtica tal y como se le conoce hoy da, surgi a raz de la II Guerra


Mundial, en la dcada de los 40. En esos aos no exista siquiera el concepto de
"Sistema Operativo" y los programadores interactuaban directamente con el
hardware de las computadoras trabajando en lenguaje mquina (esto es, en
binario, programando nicamente con 0s y 1s).

El concepto de Sistema Operativo surge en la dcada de los 50. El primer Sistema


Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y
bsicamente lo nico que haca era comenzar la ejecucin de un programa
cuando el anterior terminaba.

En los aos 60 se produce una revolucin en el campo de los Sistemas


Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario,
sistema multiprocesadores y sistema en tiempo real.

Es en esta dcada cuando aparece UNIX, la base de la gran mayora de los


Sistemas Operativos que existen hoy en da.

En los aos 70 se produce un boom en cuestin de ordenadores personales,


acercando estos al pblico general de manera impensable hasta entonces. Esto
hace que se multiplique el desarrollo, crendose el lenguaje de programacin C
(diseado especficamente para reescribir por completo el cdigo UNIX).

Como consecuencia de este crecimiento exponencial de usuarios, la gran mayora


de ellos sin ningn conocimiento sobre lenguajes de bajo o alto nivel, hizo que en
los aos 80, la prioridad a la hora de disear un sistema operativo fuese la
facilidad de uso, surgiendo as las primeras interfaces de usuario.

En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.

En la dcada de los 90 hace su aparicin Linux, publicndose la primera versin


del ncleo en septiembre de 1991, que posteriormente se unira al proyecto GNU,
un sistema operativo completamente libre, similar a UNIX, al que le faltaba para

funcionar un ncleo funcional. Hoy en da la mayora de la gente conoce por Linux


al Sistema Operativo que realmente se llama GNU/Linux
Cuando aparecieron los primeros ordenadores, la programacin de estos era
hecha ntegramente en cdigo mquina, lo cual resultaba una tarea
extremadamente pesada: cada vez que se escriba un nuevo programa, adems
de escribir el algoritmo adecuado era preciso aadir todo el cdigo necesario para
que el ordenador pudiese leer datos desde una cinta perforada, imprimir en un
teletipo, etc. Dado que, en general, todas estas rutinas eran exactamente iguales
para todos los programas que se hacan, pronto los programadores de aquellas
mquinas aprendieron a organizarlas en bibliotecas de rutinas. Cada vez que
haba que escribir un nuevo programa, solo tenan que ir a su libreta y copiar las
rutinas de Entrada/Salida que necesitaban, lo cual les simplificaba un poco el
trabajo. Otro sistema era el que la propia empresa que fabricaba el ordenador
incluyese un paquete de fichas perforadas con dichas rutinas, de modo que el
programador solo tena que coger las que le interesasen y aadirlas
estratgicamente en su paquete.

El siguiente paso fue generalizar este conjunto de rutinas. La idea era incluir juntas
todas las rutinas necesarias para acceder al hardware, y hacerlas accesibles a
cualquier programador en forma de llamadas a subrutina. De este modo, cada vez
que se haca un programa no era preciso incluir en l todas esas rutinas. Haba
nacido el Sistema Operativo.

Los primeros 'Sistemas Operativos' (si es que podan recibir ese nombre) no eran
ms que un conjunto de subrutinas que ayudaban al programador, ofrecindole
servicios bsicos como lectura de caracteres desde un teletipo, escritura en
tambor, disco, etc.

Sin embargo, pronto se vio la necesidad de un nuevo enfoque. Los ordenadores


eran caros, y su mantenimiento tambin, por lo que solo algunas grandes
empresas y universidades podan disponer de ellos. Para amortizarlos, se
alquilaba tiempo de proceso, de modo que se poda ir all con un programa,
ejecutarlo, y pagar por el tiempo que le llevase hacerlo al ordenador.

El primer problema que haba era que se tardaba mucho en cargar cada
programa. Cuando el ordenador terminaba de ejecutar uno, el operador tena que
insertar el siguiente, lo cual era una tarea bastante pesada y larga. Durante el
tiempo que se haca esto, el ordenador estaba totalmente inactivo, se estaba

desperdiciando tiempo. Fue entonces cuando surgieron los sistemas de proceso


por lotes (batch).

En los sistemas de proceso por lotes, los programas se almacenan en una cinta,
todos seguidos. Cada vez que el ordenador terminaba de ejecutar un programa,
lea el siguiente de dicha cinta. Si llegaba alguien con un programa, este se aada
a continuacin del ltimo que hubiese, mientras el ordenador iba ejecutando el que
ya tena en memoria. El coste de mantenimiento del nuevo sistema era
ligeramente superior, pues haba que aadir al sistema el lector de cintas en
donde se escriban los programas; pero como poda ejecutar muchos ms
programas en el mismo tiempo (porque no se perda parte de este en cargar los
programas), el precio de alquiler baj drsticamente, permitiendo que ms gente
tuviese acceso a los ordenadores.

Es en los sistemas de proceso por lotes donde empieza a aparecer realmente lo


que hoy conocemos como Sistema Operativo: un programa principal que es el que
va cargando los distintos programas desde la cinta, les cede el control de la CPU
pero ofrecindoles una serie de servicios de Entrada/Salida, y cuando terminan,
recupera el control del ordenador.

Pronto los programadores se dieron cuenta de que haba an ms tiempos


muertos de los que pareca: si un ordenador tena que leer algo de una cinta o una
tarjeta con datos, como el sistema era mecnico tardaba mucho tiempo en
encontrarlo (mucho tiempo de cara al ordenador, claro. Una dcima de segundo es
algo muy relativo). As mismo, se empezaban a usar terminales para dar entrada
de datos en tiempo real al ordenador, y el tiempo que ste esperaba a que el
usuario pulsase cada tecla tambin era una eternidad. Entonces se empez a
pensar en los Sistemas Operativos multitarea.

La idea consista en tener varios programas simultneamente en memoria, si bien,


como el ordenador es nico, solo uno estara activo en cada momento. Cuando
dicho programa hace una operacin de Entrada/Salida en la que se pierde tiempo
de CPU (como leer una tarjeta, por ejemplo), mientras la mecnica realiza la
operacin de bsqueda y lectura, el ordenador conmuta al siguiente programa que
tiene en memoria, el cual continuar ejecutndose hasta que haga una operacin
de Entrada/Salida. Cuando se llega al ltimo, se vuelve a empezar. Para ese
momento, la operacin de Entrada/Salida pedida por el primer programa ya estar
lista, con lo que podr seguir su ejecucin. De esta forma, hemos aprovechado un
tiempo que antes perdamos.

Finalmente, llegamos a los sistemas distribuidos. Generalmente, lo que tenemos


es una red de ordenadores (por ejemplo, en una universidad es normal tener una
gran cantidad de PC's) conectados entre s. Si nos fijamos, normalmente solo
unos cuantos estn en uso en cada momento, y el resto simplemente se dedican a
ejecutar un bonito salvapantallas, o peor an, a realizar la esttica funcin de caro
pisapapeles. En otras palabras, estamos desperdiciando una vez ms tiempo de
proceso. Para solucionarlo, se han ideado los Sistemas Operativos distribuidos.
Estos sistemas operativos son el siguiente paso en la evolucin de los Sistemas
Operativos multitarea.

La idea consiste en que en los Sistemas Operativos multitarea los programas


suelen estar divididos en varios Threads o hilos de ejecucin. Cada uno de estos
Threads se puede ver como un programa absolutamente independiente de los
dems, si bien, trabajando todos en conjunto forman el programa completo. Dado
que cada Thread es independiente de los dems, nada impedira, en principio, que
se ejecutase cada uno en un procesador diferente. Esa es la base de los Sistemas
Operativos distribuidos: cada nuevo Thread es ejecutado en una mquina distinta,
de modo que la potencia de clculo se halla distribuida por toda la red. De esta
forma, los equipos que estaban inactivos son aprovechados al mximo. Por
desgracia, esta idea resulta extremadamente compleja de implementar, por lo que
esta clase de Sistemas Operativos se encuentran todava poco extendidos.

OS/2 son las siglas de "Sistema operativo de segunda generacin". La idea de


OS/2 surgi entre IBM y Microsoft a mediados de los 80, en un intento de hacer un
sucesor de MS-DOS, el cual ya empezaba a acusar el paso del tiempo y resultaba
claramente desaprovechador de los recursos de las mquinas de la poca
(basadas en el Intel 286).

OS/2 1.0 sali en abril de 1987 y era un sistema operativo de 16 bits, pues estaba
pensado para trabajar sobre el microprocesador 286. Sin embargo, aprovechaba
plenamente el modo protegido de este ordenador, haciendo uso de sus
capacidades para proteccin de memoria, gestin de multitarea, etc. El resultado
fue un S.O. estable, rpido y muy potente.

OS/2 ya tena incorporada desde esa primera versin la multitarea real. Se podan
ejecutar varias sesiones simultneamente, en cada una de ellas se podan tener
mltiples programas, y cada uno de ellos poda tener mltiples threads en
ejecucin. Se trataba de una multitarea jerrquica, con cuatro niveles de prioridad:
Crtico (til para programas que requieran atencin casi constante por parte de la
CPU, como un mdem), Primer plano (correspondiente al programa que tiene
acceso a la pantalla, teclado y ratn), Medio (programas lanzados por el usuario
que se ejecutan en BackGround) y Desocupado (tareas de poca importancia o
lentas, como el Spooler de impresin). Dentro de cada nivel (a excepcin del de
Primer plano), existen 32 niveles de prioridad, los cuales son asignados
dinmicamente a cada programa por el S.O. en funcin del porcentaje de uso de
la CPU, de los puertos de E/S, etc.

OS/2, adems, permita memoria virtual, con lo que se podan ejecutar programas
ms largos que lo que la memoria fsica instalada permitira en principio (los
requerimientos de aquella versin eran un 286 con 2 megas de memoria). Por otro
lado, inclua la caracterstica de comparticin de cdigo: al cargar dos veces un
mismo programa, el cdigo de este no se duplicaba en memoria, sino que el
mismo cdigo era ejecutado por dos Threads diferentes. Esto permita ahorrar
mucha memoria.

Esta versin de OS/2 era ntegramente en modo texto. Si bien el Sistema


Operativo daba la posibildad de usar los modos grficos de la tarjeta del
ordenador, no inclua ningn API que ayudase en ello, recayendo todo el trabajo
de diseo de rutinas de puntos, lneas, etc en el programador de la aplicacin.
Esto no era realmente tan problemtico, pues era lo que se haca (y se hace) en el

mundo del MS-DOS. Sin embargo, se hechaba en falta un entorno grfico como
Windows.

En la versin 1.1, aparecida en octubre de 1988, lleg por fin el Presentation


Manager, un gestor de modo grfico, junto con la primera versin de Work Place
Shell. Ambos formaban un entorno grfico muy parecido al an no comercializado
Windows 3.0. Tambin hizo su aparicin el formato de ficheros HPFS (High
Performance File System). Este sistema de ficheros complementaba al clsico
FAT, que era el usado por MS-DOS y por OS/2 1.0; sin embargo, ofreca una gran
cantidad de ventajas, tales como

Menor fragmentacin de ficheros: HPFS busca primero una zona en donde el


archivo entre completo, con lo que la fragmentacin de ficheros es prcticamente
inexistente. De hecho, IBM recomienda desfragmentar los discos duros una vez al
ao, y solo a los paranoicos.
Mayor capacidad: HPFS admite discos duros de hasta 512 gigabytes de
capacidad, manteniendo el tamao del cluster (unidad mnima de informacin
almacenable) en 512 bytes o un sector. En FAT, el tamao mnimo de cluster para
un disco duro es 2048 bytes, y para discos mayores aumenta (un disco duro de 1
giga tiene un tamao de cluster de 32Ks).
Soporte para nombres largos: permite nombres de hasta 256 caracteres.
Mayor seguridad: si al grabar en un sector se detecta un error, se marca
automticamente como defectuoso y se graba en otra parte.
Mayor velocidad en el acceso, gracias a la estructura jerarquica de directorios, que
optimiza el acceso a disco.
El gran problema de OS/2 es que seguia siendo un S.O. de 16 bits, con lo que no
aprovechaba plenamente las capacidades de los 386 de la poca, que empezaron
a extenderse con ms velocidad de la esperada. Segn una revista del sector,
Microsoft sugiri hacer una versin de 32 bits (que obligara a ejecutarla en
ordenadores 386 o superiores), pero IBM insisti en perfeccionar la de 16 bits.
Sobre quien dijo cada cosa realmente solo se puede especular. Lo nico que se
sabe a ciencia cierta es que la versin de OS/2 de 32 bits presentada por
MicroSoft en 1990 era casi igual que la versin 1.3, con la nica diferencia de que
el kernel era de 32 bits. IBM, por su parte, quera un escritorio orientado a objetos,
y no el clsico shell de OS/2 1.x (el cual MicroSoft copiara para su Windows 3.0).
Puestas as las cosas, finalmente se rompi el acuerdo entre ambos.
OS/2 2.0, la primera versin de OS/2 de 32 bits, iba a salir inicialmente a finales de
1990; pero al no contar con la ayuda de Microsoft, IBM no fue capaz de sacarlo

hasta 1992, dandole a Windows 3.0 el tiempo suficiente para asentarse en el


mercado.

OS/2 2.0 tena todas las ventajas de los anteriores OS/2, unido al nuevo ncleo de
32 bits. No se trataba, por tanto, de un retoque de la versin de 16 bits, sino un
sistema operativo prcticamente nuevo que aprovechaba al mximo las
capacidades del modo protegido del microprocesador 386. Sin embargo, iba ms
all que Windows, pues al contrario que ste, ofreca compatibilidad garantizada
con todas las aplicaciones de 16 bits anteriores, gracias a la inclusin del API
original de 16 bits junto con el nuevo de 32, y adems sin perdida de prestaciones.
As mismo, ofreca tambin compatibilidad con Windows 2.x y 3.0, junto con una
compatibilidad con MS-DOS muy mejorada, gracias al modo V86 que incorporan
los micros 386 y del que careca el 286: en OS/2 1.x la compatibilidad DOS era
muy limitada, quedando reducida a una sola tarea y realizando un cambio entre
modo real y modo protegido del microprocesador, adems de consumir de manera
permanente 640 Ks de memoria. Aparte, la emulacin no era todo lo buena que
caba esperar. Todos estos problemas desaparecieron en la versin 2.0, pudiendo
tener varias sesiones DOS totalmente independientes entre s, con una
compatibilidad cercana al 100% y beneficindose de las capacidades de Crash
Protection del OS/2, que impiden que un programa pueda colapsar el sistema
entero.

Por otro lado, el Work Place Shell (el shell de trabajo grfico, de ahora en adelante
WPS) fue muy mejorado, resultando un shell totalmente orientado a objetos, con
acceso directo a los ficheros, carpetas dentro de carpetas, ficheros sombra
(conocidos como alias en los sistemas UNIX) y un escritorio de verdad. A su lado,
el shell de Windows 3.0 quedaba a la altura del betn.

IBM consigui vender OS/2 2.0 en grandes cantidades; sin embargo, no consiguio
su autentico despegue, en parte por culpa de la falta de apoyo por parte de las
empresas de software. El API del Presentation Manager, aunque similar al de
Windows, tena muchas diferencias, con lo que las empresas tuvieron que elegir
entre uno u otro, ante la imposibilidad de muchas de ellas de dividir su talento
entre ambos sistemas.

A principios de 1994 aparece OS/2 Warp, nombre comercial de la versin 3.0 de


OS/2. En ella surgen nuevos elementos: un kit completo de multimedia (mejora del
que traa la versin 2.1) y el Bonus Pak, un kit de aplicaciones que permite
ponerse a trabajar con el ordenador nada ms instalar el Sistema Operativo, pues

contiene elementos como un Kit de conexin a Internet completo, el paquete


integrado IBM Works (formado por un procesador de textos, hoja de clculo, base
de datos y graficos de empresa, junto con el PIM, que aade ms funcionalidades
aprovechando las capacidades drag&drop del WPShell), soft de terminal, soft de
captura y tratamiento de video, etc. As mismo, la cantidad de hardware soportado
fue ampliado de manera considerable, soportando casi cualquier dispositivo
existente en el mercado: CD-Roms, impresoras, tarjetas de sonido, soporte
PCMCIA, tarjetas de video, tarjetas de captura de video, tarjetas SCSI, etc. Los
requisitos mnimos de esta versin seguan siendo un 386sx a 16MHz con 4
megas de RAM, los mismos que Windows 3.11, y poda ejecutar programas DOS,
OS/2 16bits, OS/2 32 bits, Windows 2.x y Windows 3.x (incluia adems el API
Win32s, con lo que se podan ejecutar incluso programas Windows de 32bits).

IBM se meti en una campaa publicitaria a nivel mundial para promocionar esta
nueva versin, la cual, sin embargo, no dio los resultados esperados por ser
demasiado light (todos recordaremos aquel anuncio de las monjitas en el
convento, cuando una le dice a otra que ya tiene el nuevo OS/2 Warp, contando
las nuevas caractersticas de este sistema operativo). A pesar de eso, OS/2 es
ampliamente utilizado en mltiples empresas, bancos sobre todo, en donde su
estabilidad es la mayor garantia (los propios cajeros automticos funcionaban
inicialmente con OS/2 1.0, si bien actualmente usan OS/2 Warp).

Poco despus sale al mercado una revisin de Warp, denominada Warp Connect,
la cual aade un kit completo de conexin a redes, soportando prcticamente
cualquier estandar de red, incluyendo Novell Netware, TCP/IP, etc. junto con
soporte para SLIP y PPP.

En Noviembre de 1996 se hizo la presentacin de Merln, nombre clave de OS/2


4.0, y que, en contra de lo que mucha gente piensa, no tiene nada que ver con el
mtico mago de la corte del rey Arturo, sino con un pjaro parecido a un guila
(siguiendo la nueva filosofa de IBM de nombrar sus creaciones con nombres de
aves). Merln trae todo lo que ofreca OS/2 3.0, pero lo amplia con un conjunto
extra de caractersticas, como son:

Un soporte todava mayor de hardware.


Mayor simplicidad de instalacin.
Librerias OpenDoc (compatibles con OLE 2.0, pero ms potentes).

Librerias OpenGL, que permiten aprovechar las capacidades 3D de las tarjetas


que soporten este estandar.
API de desarrollo Open32, que permiten recompilar con suma facilidad las
aplicaciones escritas para Windows'95 y Windows NT, de forma que aprovechen al
mximo los recursos de OS/2.
Un Bonus Pack ampliado, incluyendo una nueva versin del IBMWorks basada en
OpenDoc, y las utilidades LotusNotes.
Un Kernel an ms optimizado.
Escritorio mejorado, ofreciendo una orientacin a objeto an mayor.
Un extenso soporte de conectividad, superior a la versin Connect de Warp 3.0, lo
que le convierte en el cliente de red universal, pudiendo conectarse a casi
cualquier servidor (no solo Warp Server, sino Windows NT server, Novell, etc).
HPFS mejorado: mayor capacidad por disco y seguridad.
Sesiones DOS reales (el micro se conmuta realmente a modo real, y todo el
contenido de la RAM se guarda en disco, quedando el Sistema Operativo y el
resto de las utilidades congelados, pudiendo rearrancar en cualquier momento. Es
util para juegos o programas de DOS muy exigentes, que se niegan a funcionar en
una sesin DOS virtual).
La caracterstica estrella de cara al marketing: el VoiceType. Se trata de un
software reconocedor de voz, capaz de funcionar con cualquier tarjeta de sonido, y
que permite al usuario trabajar exclusivamente mediante el dictado de comandos.
Este sistema, al contrario que otros disponibles hasta el momento, realmente
reconoce el habla de forma continua, de modo que no solo se puede usar para
navegar por el escritorio y controlar programas, sino que sirve perfectamente para
dictar cualquier tipo de texto, como articulos, cartas, etc. sin tocar una sola tecla.
Se trata, por tanto, de un avance de los que sern, sin duda, los sistemas
operativos del futuro.