4.-
Multiprocesador, multitarea, multisesión, multiusuario, y
procesamiento paralelo
Tras este batiburrillo
de complejas palabras, se esconden varias de las cualidades más
interesantes de este hijo rebelde de UNIX, que hacen honor al dicho
“de tal palo tal astilla”, al implementar en su código
todas las funcionalidades que hicieron famoso a su progenitor informático.
El término
multiprocesador es de sobra conocido por todos, ya que indica que
el sistema operativo soporta la inclusión de más de
un microprocesador en el ordenador en el que haya instalado, una
práctica comúnmente adoptada y que Linux incorpora
de forma estándar desde sus fases más tempranas.
Denominamos
tarea o “task”, a cualquier trabajo que estemos realizando
en un momento dado en el ordenador, que precise de un programa para
llevarse a cabo. Normalmente, acostumbrados a la rigidez que nos
proporciona Windows, no alcanzamos a ver o imaginar más de
dos o tres tareas pujantes ejecutándose a la vez. Ésto
es debido a que las capacidades del producto Microsoft en este campo
no se encuentran muy desarrolladas. Al contrario de lo que se pudiera
pensar dada su humilde condición de “eterno segundón”,
Linux si es capaz de ofrecer un servicio multitarea real y como
es debido. Sus algoritmos optimizados permiten una gestión
paralela organizada de los procesos en curso, y el uso de varios
hilos por cada unidad acentúa el excelente comportamiento,
debido a que hacen uso del mismo espacio de direccionamiento en
memoria, superando paradas no deseadas (espera de información
procedente de la E/S, por ejemplo) que de otra forma serian imposibles
de evitar.
Un usuario
es el alma de un sistema operativo, es su causa y finalidad, “caput
et cauda”, principio y fin; por lo tanto todo debe girar en
torno a esta noción, de manera que el interesado se sienta
dueño del sistema..., aunque realmente no sea más
que un espejismo generado por ordenador.
Así
es como actúa el factor multiusuario-multisesión para
proporcionar servicio activo a la ingente masa humana que pretende
hacer uso de sus bienes software. Linux admite la creación
de diversos solicitantes, que operaran en sus propias sesiones (incluso
en varias a la vez por individuo/a) junto con las de otros usuarios
de forma simultanea, amparados por la atenta y vigilante mirada
de una súper usuario o “root” (normalmente un
administrador), que es el que otorga o refuta los privilegios de
utilización de los recursos. Cada una de las sesiones trabaja
como si para la resolución de sus actividades dispusiese
de todos los medios hardware y software, pero en realidad debe compartirlos
con el resto de accesos, sin que por eso el interesado deba enterarse
de lo que realmente esta ocurriendo interiormente, puesto que es
un proceso totalmente transparente a sus ojos. Complejas secuencias
de prioridad deciden en cada momento a quien conceder las atenciones
de el/los microprocesador/es, evitando que se resienta de forma
exagerada el rendimiento de la parte no agraciada, intercalando
en estos intervalos operaciones retrasadas, detenidas, alternativas,
o en el peor de los casos, de espera al final de la rodaja temporal.
Una de las grandes esperanzas de finales
de los años noventa en el siglo pasado, era la utilización
de un complejo sistema operativo en un computador de 64 bits, que
realmente aprovechara el gran salto cualitativo que supondría
la incorporación de procesadores de este calibre, tanto a
niveles profesionales altos (estaciones DEC-Alpha) como medios (Intel
Xeon). Pues bien, 1995 Linux incorporaba el soporte necesario para
llevar a buen puerto estos proyectos de futuro (por aquel entonces),
mientras tanto Windows se hallaba anclado en los 16 bits y empezaba
con paso titubeante su singladura por los 32, que aún no
ha rebasado (es de suponer que este año se produzca dicho
alumbramiento posterior, con la aparición de Windows XP,
antiguo Whistler).
5.- Fiabilidad, estabilidad
¿Quién
no ha visto alguna vez la pantalla azul de las excepciones en Windows?,
desgraciadamente son de lo más banal en nuestras vidas cotidianas
con nuestros ordenadores cotidianos. Como confirmaciones de la genial
“Ley de Murphy”, hacen su asíncrona aparición
en el peor momento que puedan describir los teoremas de probabilidad,
dando al traste con trabajos no salvados, partidas no almacenadas
o voluminosas descargas, produciendo un sinfín de imprecaciones
de lo más variopinto, mentando a la familia del presidente
de Microsoft. Pero, si ni el propio Bill Gates pudo escapar a su
monstruo, y como un moderno Victor Frankenstein sucumbió
ante su creación (recordemos la presentación en publico
de Windows 98), ¿cómo pretendemos nosotros realizar
semejante hazaña desde nuestra humilde condición de
humanos normales y corrientes?. La solución para variar,
cambiar a Linux.
La estabilidad es una propiedad deseable
en toda aplicación software, y cuando se trata de un sistema
operativo, ésta adquiere una mayor relevancia por la gran
cantidad de graves implicaciones que su deterioro conlleva.
Muy posiblemente
nos encontremos con Linux, en la cima de la cadena de fiabilidad,
ya que es considerado como uno de los programas más firme
de los que se desarrollan en la actualidad. Esto se debe principalmente
a su carácter Open Source, y al hecho de que no se encuentra
atado por completo a ninguna empresa propietaria. El código
es implementado por programadores, directamente para los usuarios
u otros programadores, sin tener que dar cuentas a ninguna corporación,
de manera que el contacto con los beneficiarios es más directo
y humano. Todo lo descrito, redunda en un mayor entendimiento bidireccional
y como consecuencia en una mayor perfección del sistema operativo.
Aquí, los tiempos de entrega tampoco están predeterminados,
la construcción forma parte de una afición y la actualización
es constante, por lo tanto, no se corre el riesgo de entregar chapuzas
defectuosas por cumplir los agobiantes plazos, motivo que es uno
de las mayores lacras que sufre el desarrollo software actual, producto
sin duda de una pésima planificación.
Una prueba a favor de la confianza
puesta en Linux, fue la conseguida mediante un experimento realizado
hace algún tiempo, en el que se trataba de determinar cual
era el mayor lapso de tiempo que podía aguantar el sistema
operativo funcionando de continuo (sin apagar o reiniciar el ordenador),
con total ausencia de fallos notables o problemas irresolubles.
El resultado deja sin respiración incluso al más duro,
¡las cotas alcanzadas superaban con creces el año duración!.
¿A qué se deben estos estupendos resultados?, simplemente,
a que el sistema ha sido diseñado para no apagarse nunca,
las actualizaciones se realizan “al vuelo”, y las únicas
razones por las que se deba realizar tan drástico procedimiento
son un fallo físico general, introducción de nuevo
hardware, o el arranque desde un nuevo kernel.
La unión hace la fuerza, y en
Linux, la cohesión entre los paquetes instalados también
juega un papel fundamental a la hora de atenuar una posible fractura
estructural. Cada unidad fundamental de instalación, tiene
unas dependencias indisolubles con otras unidades, de forma que
la subsistencia de la una sin la otra no se haya contemplada. Será
muy sencillo por consiguiente, actualizar, renovar o sustraer, solo
las partes realmente elegidas.
6.- Conectividad
Nos hartamos
de decirlo hasta la saciedad y aun no lo acabamos de creer, pero
es inevitable, cada vez se va haciendo más trascendental
el vivir en un mundo conectado, tanto interior como exteriormente.
Internet es sin duda alguna el estandarte de cualquier tipo de comunicación,
pero cada vez cobran mayor importancia las redes internas o intranets,
comúnmente implantadas en el ámbito profesional, y
en espléndido aumento en el sector doméstico.

Linux es un sistema operativo multitarea, que ofrece
importantes beneficios a sus usuarios, así como un rendimiento
y una flexibilidad inigualables. Es por lo tanto, el sistema operativo
ideal para un sinnúmero de trabajos de muy variado nivel.
Linux se encuentra
preparado para desempeñar ambas tareas con total soltura,
puesto que se creó (y aun sigue creándose) gracias
a un grupo de programadores que se comunicaban entre sí,
compartían ideas y trabajaban a través de la Red de
redes, priorizando al máximo las propiedades de interconexión
del sistema operativo. Como pez en el agua, puede actuar de varias
formas, es funcional como cliente y/o servidor de cualquiera de
los otros sistemas operativos, lo que quiere decir que podemos conectarnos
desde Linux, y acceder a información gestionada por Windows,
MacOS, Unix, Posix, etc., sin que por ello exista ningún
problema en la comunicación.
De forma pareja
acaece, si enlazamos desde nuestro sistema operativo “X”
con un sistema bajo Linux (lo más frecuente), es entonces
cuando entramos bajo los dominios de los estupendos servidores con
protocolos FTP o HTTP que lo asisten. Uno de ellos en especial,
el servidor web Apache, cuenta con una gran aceptación mundial
y un reconocimiento fuera de lo corriente, lo que le ha hecho granjearse
envidias en ciertos sectores, y como muestra, un botón, se
ha creado una edición equivalente para Windows.
Toda potencia,
debe ser amparada por unos buenos componentes, y un sistema operativo
que actúa tanto de servidor como de cliente, e incluso en
el caso mas extremo, de ISP, debe contar con unas directrices de
comunicación acordes a dicha responsabilidad. Linux está
equipado con toda la pila de protocolos de Internet (incluido IPv6),
Novell, Windows, y Appletalk, contenidos en su kernel desde que
se concibió hasta la actualidad, y cuenta también
con soporte SNMP (Simple Network Management Protocol) y DNS (Domain
Name Service).
Todo esto esta muy bien, pero sin duda
lo que sin duda pone patas arriba la conectividad y paralelismo
de Linux, es el llamado “clustering” (conocido igualmente
como Beowulf o Brama), mediante el cual varios ordenadores pueden
unirse bajo una red de alta velocidad formando una agrupación
o cluster, y trabajar en un mismo programa o tarea simultáneamente.
Cada cluster a su vez, puede estar conectado a través de
un nodo con otros cluster situados en cualquier lugar de la tierra,
multiplicando en sucesivas conexiones el rendimiento total del sistema
global. El único inconveniente con el que podemos encontrarnos,
es la dedicación integral del ordenador al clustering -no
siendo posible dedicarse a ninguna tarea más-, y el limitado
(de momento) número de unidades que se pueden integrar por
agrupación y nodo. |