¿Qué es un sistema operativo?
Un sistema operativo es un programa que hace de puente de unión entre el ordenador como elemento físico y el ser humano. Es el nexo de unión entre los programas que ejecutamos y el hardware. Esto significa que sobre un mismo ordenador podrán correr más de un sistema operativo (aunque no a la vez) al igual que se puede usar el mismo sistema operativo en gran variedad de dispositivos; que pueden llegar a no encajar en la definición de ordenador.
Windows es más que un sistema operativo. Es una suite, una distribución compacta de programas y asistentes que se comunican con Windows como sistema operativo. Ha sido precisamente esta herramienta la que ha contaminado unos conceptos que hace unos años parecían perfectamente claros
¿Qué es Linux?
Para entender qué es Linux primero debemos entender qué es un núcleo o kernel (núcleo en alemán) de un sistema operativo.
El kernel es la parte más íntimamente unida al hardware de un sistema operativo. Nos lo podemos imaginar como un gran traductor, siendo lo único que podemos utilizar para que el ordenador ejecute nuestras ordenes; representadas por los programas.
Linux es un Núcleo, un Kernel. Cuando se arranca se carga en la memoria física o RAM y de ahí no sale hasta que apagamos el ordenador. Su tamaño típico es de unos 3 MB, pero puede llegar a ser mucho más pequeño. Todo el resto de herramientas que encontramos en el ordenador son programas que se comunican con él.
Entonces Linux necesita de otros programas para convertir el ordenador en una herramienta usable. Estos programas son conocidos como el sistema operativo GNU. Son un grupo de herramientas tremendamente versátiles, que funcionan con muchos de los núcleos existentes actualemente. De este modo, el sistema operativo debería ser llamado en propiedad como sistema operativo GNU/Linux, pero se llaman comunmente Linux para abreviar.
¿Qué sistemas operativos y núcleos existen?
Se puede decir que existe un sistema operativo para cada cosa. Si nos centramos en los sistemas operativos para ordenadores tanto personales como estaciones de trabajo podemos hacer la siguiente clasificación grosera:
- UNIX. En este grupo englobamos GNU/Linux, GNU/HURD, GNU/Darwin... MacOSX/Darwin, Solaris, Irix, HP-UX, AIX, FreeBSD, OpenBSD, NetBSD, MorphOS... Entre ellos puede haber grandes diferencias en las concepciones de arquitectura y funcionamiento, pero se usan de un modo parecido y pueden compartir la mayoría de programas ya que el coste de migración entre ellos no es muy grande.
- DOS. Como MS-DOS y FreeDOS
- OS/2. Sistema operativo de IBM para el IBM PC. Tuvo unos 5 años de vida desde 1987 hasta ser engullido por Windows.
- Windows. Tanto con el núcleo DOS hasta Windows 98 como con el núcleo NT desde Windows NT hasta Windows 2003 server. También existe ReactOS, que pretende hacer un sistema operativo libre compatible con los device drivers de WinNT
- Plan9. Como Plan9 e Inferno. Son muy modernos, explotan el concepto de sistema operativo distribuido con toda su potencia y versatilidad, pero difícilmente llegarán a ser mayoritarios.
Se puede ver que las herramientas de GNU funcionan con distintos núcleos, y nos podemos encontrar núcleos como Darwin siendo la base tanto de MacOSX como de GNU. Windows ha sido, es y será un festival de cambios, con o sin sentido.
De todo este festival, el sistema operativo que está creciendo más rápidamente, tanto en usuarios com en desarrolladores es GNU/Linux, para abreviar, linux.
Un poco de historia.
Linux empezó como un proyecto personal de un estudiante de informática de la Universidad de Helsinki llamado Linus Torvalds. Acababan de empezar los años 90 y aún se usaba UNIX en las universidades, pero las licencias para los sistemas comerciales eran demasiado caras para que un estudiante pudiera instalarlos en su ordenador. Linus tomó como referencia minix, un núcleo UNIX usado para enseñar sistemas operativos en su universidad, y lo reescribió para usarlo como herramienta.
El núcleo Linux fue en un principio una chapucilla de un estudiante especialmente brillante, pero a diferencia de muchos otros núcleos de sistema operativo no programados por una gran empresa de software, éste funcionaba. Pronto se levantó bastante expectación cuando fue presentado en la Universidad de Helsinki el año 1991.
Por el otro lado y unos cuantos años antes, Richard Michael Stallman decidió con unos cuantos amigos suyos del MIT que los códigos de programas eran como cualquier otro tipo de conocimiento. Esto significaba que si alguien escribía un programa debía compartirlo con los demás para aprender todos juntos de él. Predicaron con el ejemplo y programaron desde cero todas las piezas de un sistema operativo UNIX. Lo llamaron GNU, Gnu is Not Unix. Al cabo de unos años tenían el gcc (un compilador de C), el EMACS (el editor más potente y con más opciones que existe) y todas las pequeñas herramientas necesarias para arrancar un sistema operativo. Pero les faltaba la pieza esencial para hacerlo funcionar todo, el kernel.
Los dos caminos se unen cuando los integrantes del proyecto GNU deciden utilizar Linux como núcleo como solución provisional hasta que su kernel, HURD, esté preparado. De este modo se creó el primer sistema operativo libre y gratuito, que todo el mundo puede copiar distribuir y modificar libremente mientras se respete la licencia con la que se distribuye.
Por cierto, HURD aún no funciona.