Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 7, Número 68, Abril de 2008

Sistemas operativos múltiples
José Fabián Romo Zamudio

Todo usuario de computadora sabe que un elemento primordial dentro de la familia del software es el sistema operativo: ese conjunto de programas y aplicaciones que permiten administrar tanto los recursos físicos como lógicos del equipo.

El sistema operativo sirve, a su vez, como interfaz entre el usuario y la computadora. Las primeras interfases —después de la programación moviendo cables o con tarjetas perforadas— se basaron exclusivamente en texto. Monitores monocromáticos aparecieron en los centros de cómputo y los usuarios debían aprender todo un catálogo de comandos, parámetros y opciones de ejecución para indicarle al sistema operativo que debía realizar tal o cual acción, invocar a cierto programa o aplicación e incluso, mandar un documento a imprimir. En el caso de las computadoras personales este modo de operación estuvo vigente hasta la relativa desaparición de MS-DOS y su sustitución por Windows.

MS-DOS no fue reemplazado del todo por las primeras versiones de Windows. De hecho, fue la base de operación Windows hasta su versión 3.11, es decir si un usuario deseaba trabajar con Windows 3.11, primero se cargaba desde el disco duro el núcleo de MS-DOS, y después se ejecutaba a Windows como un ambiente gráfico sobrepuesto a MS-DOS. El control real de la computadora pertenecía a MS-DOS y Windows era, entonces, la interfaz gráfica solamente.

Kernel y Shell

Todo sistema operativo posee dos elementos fundamentales: el núcleo (kernel) y la interfaz con el usuario (shell). El primero es un conjunto de programas que interactúan directamente con el hardware de la computadora a nivel de lenguaje de máquina o binario. El segundo es la “cara” que muestra el sistema operativo al usuario, la manera en la cual se comunica la parte humana con el hardware y el software.

De esta forma, por ejemplo, en el antiguo MS-DOS el kernel lo constituían dos archivos: io.sys y msdos.sys, generalmente ocultos en el disco de arranque para evitar ser borrados de manera accidental por el usuario. El archivo command.com poseía los comandos básicos de operación del sistema, tales como dir (listado de directorios), copy (copiar archivos) y del (borrar archivos), entre otros. Command.com era el shell de MS-DOS. Otros comandos como format o fdisk, también llamados en aquel entonces comandos externos, correspondían a archivos por separado del command.com, que debían almacenarse en algún lugar del disco duro o flexible de arranque bajo los nombres format.com y fdisk.exe.

Para asimilar de mejor manera la importancia de estos dos elementos de todo sistema operativo, el kernel es responsable de todas las instrucciones directas al procesador central y se carga en los primeros espacios de la memoria principal. El kernel está diseñado para operar en cierto procesador central, con específicas instrucciones de cómo enviar órdenes a la unidad aritmético lógica del CPU, posicionar otros programas en la RAM, comunicarse con la tarjeta madre, etcétera.

Se comporta, en buena medida, como el señor feudal que tiene en su égida a todos los que habitan dentro de las murallas de su ciudad (hardware), mientras que el shell, el intérprete de comandos o interfaz del usuario, es una especie de emisario que interactúa con ese señor feudal para que las órdenes que vienen del exterior (del usuario o de los otros programas) se realicen.

Sin kernel la computadora no puede operar. Es simple: hardware, circuitos, transistores, cables y placas madre sin mayor sentido. Sin shell no hay forma en que el usuario pueda controlar a la computadora, darle órdenes y comandos, indicarle cuando se agrega un nuevo dispositivo o un nuevo programa. Kernel y shell definen, en buena medida, el tipo y versión de sistema operativo y el hardware con el que son compatibles.

Variaciones en los sistemas operativos

En el ámbito del cómputo personal existen, hoy en día, tres opciones principales de sistemas operativos: la plataforma Windows (Vista, XP, 2000, Millenium Edition, 98, 95, etcétera), MacOS (X, 9.x, 8,x, entre otros) y Linux (Debian, Mandriva, Red Hat, Ubuntu, SuSE, etcétera). Cada uno de ellos viene rodeado de toda una serie de aplicaciones, servicios, controladores y elementos de hardware y software diversos con los que son compatibles. Pero la clave de qué sistema operativo conviene emplear reside en tres factores:

  1. Hardware. El tipo de computadora que se tenga, considerando procesador central, memoria RAM, disco duro, arquitectura de la placa madre, periféricos.
  2. Software. El tipo de programas que necesita el usuario, lo mismo para procesar texto que para editar imágenes, postproducir DVDs, diseñar planos, etcétera, según se requieran.
  3. Interfaz. Las necesidades específicas del usuario y de sus aplicaciones en materia de control del equipo: iconos, ventanas, facilidad de uso, manejo de archivos, medios, periféricos, etcétera.

Recientemente, somos testigos de una profunda convergencia de los sistemas operativos. Por ejemplo, la plataforma MacOS es una variante de UNIX, antecedente de Linux y, en concreto, de la conocida como BSD (Berkeley Software Distribution). A nivel básico, una computadora Mac con versión X (10.1, 10.2 o superiores) funciona de manera similar a como lo hace una computadora con Linux. El kernel es muy parecido, con leves diferencias si acaso, pero la realmente notable es la interfaz, el ambiente de escritorio, las ventanas e iconos que se presentan al usuario. El kernel de Linux, por ejemplo, es el que posee la mayor cantidad de entornos gráficos compatibles, pudiendo funcionar con KDE, Gnome, Window Maker, etcétera. Es decir, en Linux se dispone no sólo de un ambiente visual para el usuario, sino de muchos.

Así como los kernel de Windows, en sus múltiples versiones, fueron diseñados primariamente para procesadores centrales de la familia Intel 386 y superiores (i386), MacOS y Linux tienen kernels compatibles con el mismo tipo de procesadores, por lo que hoy es factible instalar en la misma computadora, por ejemplo una Pentium 4 (i586 o i686), un sistema operativo como MacOS X 10.4 para Intel o bien, cualquier distribución Linux con el kernel 2.4 o superior.

Hasta hace pocos años, para que un sistema operativo del tamaño de los descritos pudiera funcionar de forma correcta se necesitaba instalarlo en el disco duro de la computadora. Pero, gracias a la mayor capacidad de dispositivos de almacenamiento portátiles, hoy es factible tener todo un sistema operativo, incluyendo su ambiente gráfico, en un disco compacto o unidad de memoria USB.

Dos casos ejemplifican esto: Knoppix es una distribución de Linux que reside en lo que se conoce como un Live CD, es decir, un disco compacto que contiene todos los archivos necesarios tanto para cargar el kernel a la memoria como desplegar una interfaz gráfica, sin escribir un sólo archivo o dato en el disco duro, dejando inalterada cualquier instalación residente en ese disco duro de otro sistema operativo, por ejemplo Windows.

Inicio | Contacto |