Secuencialidad simultánea

Seguro que en este momento, se encuentra usted realizando varias tareas simultáneamente en su ordenador. Por ejemplo, tiene abierto su cliente de correo, un procesador de textos y el navegador de Internet. Piénselo: mientras escribe un correo, edita un documento y navega por la red, y todo al mismo tiempo. Imagine que se aburre y decide abrir un juego. Está utilizando cuatro programas a la vez. ¿A la vez?

Todos utilizamos muchas aplicaciones al mismo tiempo cuando usamos el ordenador. Sin embargo, ésto es relativamente reciente: hasta la aparición de los sistemas modernos los ordenadores nunca fueron antes capaces de ejecutar varios programas al mismo tiempo… ésta característica, surgida a finales de los 70, se conoce como multitarea, y es la capacidad que tienen las máquinas de hacer muchas cosas a la vez, o mejor dicho, de simular que hacen muchas cosas a la vez.

Así que su ordenador le engaña: puede parecerle que los programas se ejecutan todos simultáneamente, pero un ordenador sigue siendo una máquina secuencial: esto quiere decir que sólo puede ejecutar las instrucciones de una en una. Aunque como lo hace muy muy rápido nos da la impresión de que lo hace todo a la vez… y si lo piensa, verá que la idea es muy sencilla: imagine que ordena a su computador que ejecute The Gimp y Firefox, así de seguido… Su sistema operativo (Linux, Windows o lo que use) se encargará de ir «intercalando» instrucciones de uno y de otro, de tal modo que parezca que se están ejecutando a la vez.

Y ahora llega lo más interesante, que es el porqué de todo esto: el éxito de estas técnicas se basa en lo que llamamos escalas de tiempo: lo que para nosotros es un instante, para un procesador funcionando a 1 GHz puede ser una eternidad. Así, vamos a suponer un ordenador, donde:

  • una instrucción tarda en ejecutarse 1 microsegundo (0,000001 segundos)
  • una lectura o una escritura en un disco duro tarda 1 milisegundo (0,001 segundos)
  • un intervalo entre dos pulsaciones de tecla dura 0,5 segundos

Son datos normales y corrientes de cualquier ordenador anticuado. El tiempo de referencia que tomamos es el tiempo que tarda en ejecutarse una instrucción: para nosotros ese tiempo apenas es inteligible, no podemos sentir su paso, ya que nosotros pensamos en el tiempo en unidades mayores, más acordes a nuestros parámetros biológicos.

De hecho, pensamos en segundos. Así que vamos a considerar que una intrucción tarda 1 segundo en ejecutarse (es decir, lo mismo, pero en otra escala de tiempos). Entonces tendríamos que, en nuestro computador «humanizado»:

  • una instrucción que se ejecuta dura 1 segundo
  • una lectura o una escritura en un disco duro tarda ¡17 minutos!
  • un intervalo entre dos pulsaciones de tecla dura ¡¡6 días!!

¡6 días! Y eso que pensamos que tecleamos tremendamente rápido :-P ¿se imaginan al ordenador? Cada seis días le llegaría una carta «Han pulsado la S»… podría enviar la respuesta, llamar a la pantalla tranquilamente para que mostrara una S, escribirla en la memoria, incluso guardarla en el disco duro… y aún así le sobrarían varios días. Podría dedicar todo ese tiempo para ejecutar el Firefox, el buscaminas y todos esos programas que teníamos trabajando…

En las diferentes escalas temporales de los humanos y los ordenadores se encuentra la razón del éxito del llamado tiempo compartido (varios usuarios utilizando el mismo equipo) y de la multitarea (varias aplicaciones sobre el mismo ordenador). Cómo se organice nuestro procesador, cómodamente sentado en su despacho, para atender a tantas peticiones es otra historia, y esa historia no es nada sencilla (puedo asegurárselo… :-P)

Un paseo por los Linux

Sí, es en plural: los Linux. Tal vez alguien piense que hay un sólo Linux, al igual que un sólo Windows. Pues no. Hay un montón de Linux, y cada uno usamos el que más nos gusta. Esto de varias versiones de lo mismo puede sonar un poco raro, pero para entendernos, es como si IBM tuviera su Windows, HP el suyo… y pudiéramos elegir uno, el que más nos gustara. A estas «versiones» de Linux se les da el nombre de distribuciones, y explicamos en qué consistían hace un tiempo, en éste artículo.

Normalmente uno tiene su distribución favorita y es la que usa. Sin embargo, hace un tiempo me propuse el reto de probar todas las más populares, con el objetivo de encontrar de verdad la distribución más adecuada a mis necesidades. Un mes después, muchos cafés, muchas horas de descarga y muchos cd’s grabados, estoy en condiciones de presentar un resumen de las conclusiones que he extraído. Vaya por delante que son puras opiniones.

Mandrake

Es la que tuve siempre en mi equipo. Instalación comodísima, configurable 100%, y disponible en nivel principiante y experto. Algunos problemillas en el particionado, pero todo solucionable. Llevaba utilizando esta distribución desde hace mucho tiempo con buenos resultados. Además, en general, está muy cuidada desde el punto de vista estético. Sus principales defectos vienen por el reconocimiento de hardware, como en todos. Pero por lo demás es perfecta. Mi nota: un 8.

Mandriva

Sucesora de Mandrake: instalación muy sencilla, aunque daba algunos problemas al particionar. El diseño, desde mi punto de vista es bastante hortera, aunque esto es una opinión. Apenas permite modificar algunos parámetros del sistema, un fallo que me parece imperdonable. Por lo demás, sigue siendo igual de potente, salvo en el hardware. Me sorprendió que apenas tuviera cambios respecto a Mandrake… Mi nota: un 7.

Suse

La distribución del simpático camaleón. La instalación más sencilla que he visto nunca, casi es más difícil instalar el buscaminas. Eso para mí es definitivo, porque una de las cosas que más perjudicaban a Linux era la complejidad de la instalación. Tanta facilidad de uso afecta a la versatilidad: apenas puede configurarse nada al instalar. El diseño, en general, es impecable. Le costaba un poco funcionar en mi equipo, incluso llegó a colgarse en una ocasión (primer cuelgue de un Linux en mi equipo en cinco años…) lo que considero una herejía. Es muy fácil de usar, pero como siempre, ésto le resta potencia. Para empezar es perfecto. Mi nota: un 8

Fedora

Un diseño un poco tristón, pero muy eficiente. La instalación es lo más complicado, no es gráfica (actualizado) en su totalidad y hay que controlar un poco de particionamiento, así que no es recomendable para principiantes. Por lo demás está muy bien: buena detección de hardware y un buen conjunto de herramientas. Quizá un poco complicada de administrar. Mi nota: un 7

Ubuntu

Al final es con la que me he quedado. Se la puede bajar uno en un modesto CD, con dos opciones: instalable o «live» (utilizable sin instalación). La ventaja de ésto es que se instala en un vuelo y luego podemos añadir toda la funcionalidad extra que necesitamos. La deteccción del hardware es excelente y me tiene muy satisfecho. Tiene dos defectos: el primero es que le cuesta reconocer las particiones Windows (aunque al final se consigue) y el segundo (para mí), que utiliza Gnome por defecto, y un servidor es fan de KDE, pero eso se arregla rápido. Yo le doy un 8.

Debian

En realidad es la madre de todos los Linux (Ubuntu está basado en parte en Debian). La instalación de la versión 3 era un infierno en modo texto con compilación del núcleo incluída. Yo lo intenté (y de hecho lo conseguí), pero pronto desistí de utilizarla en serio, por la cantidad de tiempo que tuve que invertir en configurarlo todo. No sé si ésto habrá cambiado, pero si un día lo hace, las puertas de mi equipo están abiertas.

Y para terminar, algunas valoraciones generales… Ya sé que le doy mucha importancia a la estética, pero personalmente opino que algo que miro durante diez horas al día tiene que ser por lo menos bonito… Por otro lado, sigo viendo los fallos típicos de Linux: las instalaciones para ingenieros y la detección insuficiente de hardware (hay que ésto no es culpa de Linux sino de los fabricantes). La administración ha mejorado mucho, aunque sigo viendo un problema de centralización en la configuración de las opciones: todo está demasiado disperso, y opino que el esfuerzo de desarrollo tendría que centrarse más en éste tema.

Me parece destacable el gran avance de las últimas KDEs respecto a Gnome, y pronostico que con el tiempo sólo se usará la primera. ¿Puntos a su favor? En mi opinión un diseño claro, razonablemente parecido a Windows, un buen paquete de aplicaciones (ejem) y unas características interactivas muy interesantes.

Nota: Por si a alguno le parece relevante, estas son las características de mi equipo: IBM Thinkpad. Intel Centrino 1,4 GHz. 512 Mb de RAM, 40 GB de disco duro. Tarjeta de red, adaptador inalámbrico, módem… lo típico. Es una cosa modesta, pero para Linux va de sobra… si no se lo cree, pruébelo :-)

En 3 minutos™: Descubrir linux

En este documento está comprimido todo lo que se necesita saber para empezar a usar Linux, de tal forma que pueda leerse en el tiempo de tomarse un café… El tiempo de lectura calculado son 3 minutos, pero esto no es una competición :-P

Historia y filosofía (la justa y necesaria)

Bien. Para entender qué es eso de Linux es necesario entender primer qué es eso de «Unix». Unix es un sistema operativo que fue desarrollado hace unos 30 años. Se trata de un sistema multiusuario y multitarea, orientado originalmente al trabajo en red. Su larga evolución lo ha convertido en uno de los sistemas operativos más sólidos que han existido.

En su momento, Unix se distribuía gratuitamente a ciertas instituciones (universidades), lo que fomentó su popularidad en los EEUU. Ademas, el sistema Unix era una arquitectura abierta, de forma que muchas empresas (HP, IBM o Sun) desarrollaron sus propias versiones del sistema. Por motivos de productividad, Unix comenzó a ser de pago para todos, con lo cual perdió difusión en los medios educativos.

En este momento comenzó a desarrollarse un SO orientado a la educación: «Minix», que era «un Unix reducido» para su estudio en las universidades y abierto, claro. El finlandés Linus Torvalds (foto) decidió que el Minix podía ser algo más que todo eso, de modo que lo portó y comenzó a ampliarlo, con la colaboración de la comunidad informática a través de Usenet. Este es el nacimiento de Linux.

¿Por qué Linux?

Al ser Linux un proyecto de software libre, toda persona puede ayudar en su desarrollo, lo cual ha permitido su rápida evolución gracias a millones de colaboradores en todo el mundo. Como con Linux se distribuye el código fuente, cualquier usuario con ciertos conocimientos puede reprogramarlo según sus necesidades o en su caso optimizar su funcionamiento adaptándolo a la máquina que utiliza.

Distribuciones

Hemos dicho que al ser Linux software libre cualquier persona puede modificarlo y distribuir copias del mismo. Desde sus inicios, han existido muchas distribuciones de Linux desarrolladas por empresas, con ciertas características que nos pueden hacer preferir una sobre otra. Las más conocidas son Debian, Mandrake, Red Hat… Algunas de ellas son de pago, y es que la licencia de Linux sólo obliga a que se distribuya el código fuente del producto y a que se pueda copiar y distribuir con libertad. Normalmente las «organizaciones» que distribuyen Linux ofrecen soporte técnico si se paga por la copia del sistema.

Linux contra Windows

Ésta es la polémica de nunca acabar, pero como todos sabemos qué nos ofrece Windows, vamos a ver qué más nos puede ofrecer Linux…

  1. El precio: Linux es gratuito y Windows no. Aunque se piratee, esta es una práctica que acabará siendo muy complicada con el tiempo.
  2. La seguridad: Linux respeta todos los estándares y acuerdos internacionales, con lo cual es 100% compatible con todo lo que, a su vez, respete estos estándares. Además, como con Linux se distribuye el código fuente, se garantiza que todos los fallos que aparecen son corregidos con rapidez por la enorme comunidad que lo sustenta, y no hay que esperar a que “nadie? publique ninguna actualización cuando le venga en gana. Además tenemos garantías de que nuestro SO no utiliza nuestra información privada para satisfacer intereses empresariales. Además no existen virus que afecten a sistemas Linux y el sistema incorpora sistemas de protección en Internet muy eficientes.
  3. La calidad: La misma arquitectura de Unix asegura que el sistema es completamente multiusuario, lo cual no pasa con Windows. La confidencialidad de los documentos de un usuario está a salvo completamente. Linux no se cuelga ni se bloquea continuamente, y podemos tener mucha carga de trabajo sin desestabilizar el sistema.
  4. La flexibilidad: Si tenemos suficientes conocimientos podemos personalizar Linux hasta el infinito y optimizarlo para que sea ejecutado en nuestra máquina.
  5. La diversidad: Existe una cantidad desbordante de aplicaciones para Linux: las distribuciones pueden llegar a incluir hasta 8 cd’s llenos de software adicional, con lo cual no tendremos que comprar ni descargar programas adicionales. Tenemos a nuestra disposición procesadores de texto, hojas de calculo, juegos muy elaborados, software especializado (desarrollo, diseño gráfico, multimedia…)

Y seguro que me dejo mucho, pero hay prisa :-)

Empezar a usar Linux

Actualmente existen distribuciones llamadas “live CD?. Consisten en un CD de arranque con un sistema operativo Linux listo para funcionar. Sólo tenemos que arrancar el equipo desde CD, y se despliega ante nosotros una distribución Linux completamente funcional y tan rápida que nos podemos olvidar de que estamos ejecutándola desde CD. Todo ello sin reparticionar y sin modificar el sistema instalando nada. La más extendida es la alemana “Knoppix?, actualmente en su versión 4.0. Está disponible en multitud de idiomas, entre ellos castellano, gallego, catalán y vasco.

Lo mejor es empezar por este tipo de distribuciones para comenzar a conocer el sistema de archivos y las peculiaridades de Linux. Después de un tiempo podremos pensar en instalar una distribución permanente. Recomiendo empezar por Mandrake, porque su instalación es muy sencilla. Después lo mejor es pasarse a Debian, que es la que mejor funciona.