Antecedentes de
Canaima
Unix (multiusuario;
desarrollado, en principio, en 1969, por un grupo de empleados de
loslaboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis
Ritchie y Douglas McIlroy.
Hasta 2009, el propietario de la marca UNIX® fue The Open
Group, un consorcio de normalización industrial. A partir de marzo de 2010 y
tras una larga batalla legal, esta ha pasado nuevamente a ser propiedad de
Novell, Inc. Solo los sistemas totalmente compatibles y que se encuentran
certificados por la especificación Single UNIX Specification pueden ser
denominados "UNIX®" (otros reciben la denominación "similar a un
sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el
término "Unix tradicional" para referirse a Unix o a un sistema
operativo que cuenta con las características de UNIX Versión 7 o UNIX System V.
Historia
Ken Thompson y Dennis Ritchie, creadores de
Unix.
A finales de 1960, el Instituto Tecnológico de
Massachusetts, los Laboratorios Bell de AT&T y General Electric trabajaban
en un sistema operativo experimental llamado Multics (Multiplexed Information
and Computing Service), desarrollado para ejecutarse en una computadora central
(mainframe) modelo GE-645. El objetivo del proyecto era desarrollar un gran
sistema operativo interactivo que contase con muchas innovaciones, entre ellas
mejoras en las políticas de seguridad. El proyecto consiguió dar a luz
versiones para producción, pero las primeras versiones contaban con un pobre
rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y
dedicar sus recursos a otros proyectos.
Uno de los programadores de los laboratorios Bell, Ken
Thompson, siguió trabajando para la computadora GE-6354 y escribió un juego
llamado Space Travel, (Viaje espacial). Sin embargo, descubrió que el juego era
lento en la máquina de General Electric y resultaba realmente caro, algo así
como 75 dólares de EE.UU. por cada partida.
De este modo, Thompson escribió nuevamente el programa,
con ayuda de Dennis Ritchie, en lenguaje ensamblador, para que se ejecutase en
una computadora DEC PDP-7. Esta experiencia, junto al trabajo que desarrolló
para el proyecto Multics, condujo a Thompson a iniciar la creación de un nuevo
sistema operativo para la DEC PDP-7.7 Thompson y Ritchie lideraron un grupo de
programadores, entre ellos a Rudd Canaday, en los laboratorios Bell, para
desarrollar tanto elsistema de ficheros como el sistema operativo multitarea en
sí. A lo anterior, agregaron un intérprete de órdenes (o intérprete de
comandos) y un pequeño conjunto de programas. El proyecto fue bautizado UNICS,
como acrónimo Uniplexed Information and Computing System, pues solo prestaba
servicios a dos usuarios (de acuerdo con Andrew Tanenbaum, era solo a un
usuario). La autoría de esta sigla se le atribuye a Brian Kernighan, ya que era
un hack de Multics. Dada la popularidad que tuvo un juego de palabras que
consideraba a UNICS un sistema MULTICS castrado (pues eunuchs, en inglés, es un
homófono de UNICS), se cambió el nombre a UNIX, dando origen al legado que
llega hasta nuestros días.
Hasta ese instante, no había existido apoyo económico por
parte de los laboratorios Bell, pero eso cambió cuando el Grupo de
Investigación en Ciencias de la Computación decidió utilizar UNIX en una
máquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la
solicitud de agregar herramientas que permitieran el procesamiento de textos a
UNIX en una máquina PDP-11/20, y como consecuencia de ello consiguieron el
apoyo económico de los laboratorios Bell. Fue así como por vez primera, en
1970, se habla oficialmente del sistema operativo UNIX10 ejecutado en una
PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un
editor de texto. Tanto el sistema operativo como los programas fueron escritos
en el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento
de texto" inicial, compuesto tanto por el sistema operativo como de runoff
y el editor de texto, fue utilizado en los laboratorios Bell para procesar las
solicitudes de patentes que ellos recibían. Pronto, runoff evolucionó hasta
convertirse en troff, el primer programa de edición electrónica que permitía
realizar composición tipográfica. El 3 de noviembre de 1971 Thomson y Ritchie
publicaron un manual de programación de UNIX (título original en inglés:
"UNIX Programmer's Manual").
En 1972 se tomó la decisión de escribir nuevamente UNIX,
pero esta vez en el lenguaje de programación C. Este cambio significaba que
UNIX podría ser fácilmente modificado para funcionar en otras computadoras (de
esta manera, se volvía portable) y así otras variaciones podían ser
desarrolladas por otros programadores. Ahora, el código era más conciso y
compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de
UNIX. AT&T puso a UNIX a disposición de universidades y compañías, también
al gobierno de los Estados Unidos, a través de licencias. Una de estas
licencias fue otorgada al Departamento de Computación de la Universidad de
California, con sede en Berkeley. En 1975 esta institución desarrolló y publicó
su propio sucedáneo de UNIX, conocida como Berkeley Software Distribution
(BSD), que se convirtió en una fuerte competencia para la familia UNIX de
AT&T.
Mientras tanto, AT&T creó una división comercial
denominada Unix Systems Laboratories para la explotación comercial del sistema
operativo. El desarrollo prosiguió, con la entrega de las versiones 4, 5 y 6 en
el transcurso de 1975. Estas versiones incluían los pipes o tuberías, lo que
permitió dar al desarrollo una orientación modular respecto a la base del
código, consiguiendo aumentar aún más la velocidad de desarrollo. Ya en 1978,
cerca de 600 o más máquinas estaban ejecutándose con alguna de las distintas
encarnaciones de UNIX.
La versión 7, la última versión del UNIX original con
amplia distribución, entró en circulación en 1979. Las versiones 8, 9 y 10 se
desarrollaron durante la década de 1980, pero su circulación se limitó a unas
cuantas universidades, a pesar de que se publicaron los informes que describían
el nuevo trabajo. Los resultados de esta investigación sirvieron de base para
la creación de Plan 9 from Bell Labs, un nuevo sistema operativo portable y
distribuido, diseñado para ser el sucesor de UNIX en investigación por los
Laboratorios Bell.
AT&T
entonces inició el desarrollo de UNIX System III, basado en la versión 7, como
una variante de tinte comercial y así vendía el producto de manera directa. La
primera versión se lanzó en 1981. A pesar de lo anterior, la empresa
subsidiaria Western Electric seguía vendiendo versiones antiguas de Unix
basadas en las distintas versiones hasta la séptima. Para finalizar con la
confusión con todas las versiones divergentes, AT&T decidió combinar varias
versiones desarrolladas en distintas universidades y empresas, dando origen en
1983 al Unix System V Release 1. Esta versión presentó características tales
como el editor Vi y la bibliotecacurses, desarrolladas por Berkeley Software
Distribution en la Universidad de California, Berkeley. También contaba con
compatibilidad con las máquinas VAX de la compañía DEC.
Hacia 1991, un estudiante de ciencias de la computación
de la Universidad de Helsinki, llamado Linus Torvalds desarrolló un núcleo para
computadoras con arquitectura x86 de Intel que emulaba muchas de las
funcionalidades de UNIX y lo lanzó en forma de código abierto en 1991, bajo el
nombre de Linux. En 1992, el Proyecto GNU comenzó a utilizar el núcleo Linux
junto a sus programas.
En 1993, la compañía Novell adquirió la división Unix
Systems Laboratories de AT&T junto con su propiedad intelectual. Esto ocurrió en un momento delicado en el que
Unix Systems Laboratories disputaba una demanda en los tribunales contra BSD
por infracción de los derechos de copyright, revelación de secretos y violación
de marca de mercado.
Aunque BSD ganó el juicio, Novell descubrió que gran
parte del código de BSD fue copiada ilegalmente en UNIX System V. En realidad,
la propiedad intelectual de Novell se reducía a unos cuantos archivos fuente.16
La correspondiente contra-demanda acabó en un acuerdo extrajudicial cuyos
términos permanecen bajo secreto a petición de Novell.
En 1995, Novell vendió su división UNIX comercial15 (es
decir, la antigua Unix Systems Laboratories) a Santa Cruz Operation (SCO)
reservándose, aparentemente, algunos derechos de propiedad intelectual sobre el
software.17 SCO continúa la comercialización de System V en su producto
UnixWare, que durante cierto tiempo pasó a denominarse OpenUnix, aunque ha
retomado de nuevo el nombre de UnixWare.
Familias
Como se puede deducir de esta breve reseña histórica,
existen varias familias del sistema operativo UNIX, que han evolucionado de
manera independiente a lo largo de los años. Cada familia se distingue no tanto
por sus diferencias técnicas como por sus diferencias en propiedad intelectual.
Se observa que todas las familias se han visto contaminadas, directa o
indirectamente, por otras familias.
Familias UNIX más significativas
• AT&T: la familia que tuvo su
origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y
original. Sus sistemas operativos más significativos son UNIX System III y
UNIXSystem V.
• BSD: familia originada por el
licenciamiento de UNIX a Berkely. BSD se reescribió para no incorporar
propiedad intelectual originaria de AT&T en la versión 4. La primera
implementación de los protocolos TCP/IP que dieron origen a Internet son la
pila (stack) TCP/IP BSD.
• AIX: Esta familia surge por el
licenciamiento de UNIX System III a IBM.
• Xenix: familia derivada de la adquisición
de los derechos originales de AT&T primero por parte de Microsoft y de esta
los vendió a SCO.
• GNU: En 1983, Richard Stallman anunció
el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix,
que pudiese ser distribuido libremente. El software desarrollado por este
proyecto -por ejemplo, GNU Emacs y GCC - también han sido parte fundamental de
otros sistemas UNIX.
• Linux: En 1991, cuando Linus Torvalds
empezó a proponer el núcleo Linux y a reunir colaboradores, las herramientas GNU
eran la elección perfecta. Al combinarse ambos elementos, conformaron la base
del sistema operativo (basado en POSIX) que hoy se conoce como GNU/Linux. Las
distribuciones basadas en el núcleo, el software GNU y otros agregados entre
las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux
se han hecho populares tanto entre los aficionados a la computación como en el
mundo empresarial. Obsérvese que Linux tiene un origen independiente, por lo
que se considera un 'clónico' de UNIX y no un UNIX en el sentido histórico.
Las
interrelaciones entre estas familias son las siguientes, aproximadamente en
orden cronológico:
• La familia BSD surge del
licenciamiento del UNIX original de AT&T.
• Xenix también surge por licenciamiento
del UNIX original de AT&T, aunque aún no era propiedad de SCO.
• AIX surge por licenciamiento de UNIX
System III, pero también incorpora propiedad intelectual de BSD.
• La familia original AT&T incorpora
ilegalmente propiedad intelectual de BSD en UNIX System III r3.
• La familia AIX vuelve a incorporar
propiedad intelectual de la familia AT&T, esta vez procedente de UNIX
System V.
• Linux incorpora propiedad intelectual
de BSD, gracias a que éste también se libera con una licencia de código abierto
denominada Open-source BSD.
• Según SCO Group, Linux incorpora
propiedad intelectual procedente de AIX, gracias a la colaboración de IBM en la
versión 2.4, mas aún no está demostrado, hay un proceso judicial al respecto:
Disputas de SCO sobre Linux.
La
marca
UNIX es una marca registrada de Novell, después de una
disputa con The Open Group en Estados Unidos y otros países. Esta marca solo se
puede aplicar a los sistemas operativos que cumplen la "Single Unix
Specification" de esta organización y han pagado las regalías establecidas.
En la práctica, el término UNIX se utiliza en su acepción
de familia. Se aplica también a sistemas multiusuario basados en POSIX (tales
como GNU/Linux, Mac OS X [el cual, en su versión 10.5 ya ha alcanzado la
certificación UNIX], FreeBSD, NetBSD, OpenBSD), los cuales no buscan la
certificación UNIX por resultar cara para productos destinados al consumidor
final o que se distribuyen libremente en Internet. En estos casos, el término
se suele escribir como "UN*X", "UNIX*", "*NIX", o
"*N?X". Para referirse a ellos (tanto a Unix, como a los sistemas
basados en Unix/POSIX) también se utiliza "Unixes", pero
"Unices" (que trata la palabra Unix como un nombre latino de la
tercera declinación) es asimismo popular.
Implementaciones
más importantes
A lo largo de la historia ha surgido una gran multitud de
implementaciones comerciales de UNIX. Sin embargo, un conjunto reducido de
productos han consolidado el mercado y prevalecen gracias a un continuo
esfuerzo de desarrollo por parte de sus fabricantes. Los más importantes son:
• Solaris de Sun Microsystems. Uno de
los sistemas operativos Unix más difundidos en el entorno empresarial y
conocido por su gran estabilidad. Parte del código fuente de Solaris se ha
liberado con licencia de fuentes abiertas (OpenSolaris).
• AIX de IBM. El UNIX
"propietario" de IBM cumplió 20 años de vida en el 2006 y continúa en
pleno desarrollo, con una perceptible herencia del mainframe en campos como la
virtualización o la RAS de los servicios, heredada de sus "hermanos mayores".
• HP-UX
de Hewlett-Packard. Este sistema operativo también nació
ligado a las computadoras departamentales de este fabricante. También es un
sistema operativo estable que continua en desarrollo.
• Mac OS X. Se trata de un UNIX
completo, aprobado por The Open Group. Su diferencia marcada es que posee una
interfaz gráfica propietaria llamada Aqua, y es principalmente desarrollada en
Objective-C en lugar de C o C++.
Existen sistemas operativos basados en el núcleo Linux, y
el conjunto de aplicaciones GNU (también denominado GNU/Linux), entre las más
utilizadas encontramos:
• Red Hat Enterprise Linux. Cuyo
fabricante Red Hat es conocido por su amplia gama de soluciones y aportes al
desarrollo de software libre. Apoya el proyecto Fedora del cual se beneficia y
de ella se derivan distribuciones compatibles como Oracle Enterprise Linux
yCentOS, también distribuciones como Mandriva Linux, se basó en una de sus
primeras versiones.
• SUSE Linux de Novell. Originalmente
liberado por la compañía alemana SuSE. Es popular por sus herramientas de
administración centralizada. De manera análoga a RedHatcon Fedora, apoya el
proyecto openSUSE.
• Debian GNU/Linux. Con una de las
comunidades más grandes y antiguas del movimiento de software libre, es base
para distribuciones como Xandros, Mepis, Linspire yUbuntu.
También
son populares los sistemas operativos descendientes del 4.4BSD:
• FreeBSD. Quizá el sistema operativo
más popular de la familia, de propósito múltiple. Con una implementación SMP
muy elaborada, es el sistema operativo utilizado por los servidores de Yahoo. Y
base de muchos sistemas operativos entre ellos Mac OS X de Apple.
• OpenBSD. Ampliamente reconocida por su
seguridad proactiva y auditoría permanente del código fuente. Es utilizada en
ambientes donde la seguridad prima sobre todo, es usual encontrarlo instalado
en servidores que actúan como Firewall, VPN o Proxy.
• NetBSD. Se le conoce por su
portabilidad, a octubre de 2008: 53 arquitecturas soportadas. La NASA lo ha
utilizado para la investigación en redes TCP/IP satelitales, al igual que para
reciclar computadoras viejas con software moderno.
Las
siguientes implementaciones de UNIX tienen importancia desde el punto de vista
histórico, no obstante, actualmente están en desuso:
• Tru64 UNIX actualmente de Hewlett-Packard
(antes de Compaq y originalmente de Digital Equipment Corporation).
• UnixWare y SCO OpenServer
anteriormente de Santa Cruz Operation y ahora de SCO Group.
• UX/4800 de NEC.
• IRIX de Silicon Graphics Inc..
Órdenes
clásicas de UNIX
Algunos
comandos básicos de UNIX son:
• Navegación/creación de
directorios/archivos: ls cd pwd mkdir rm rmdir cp
• Edición/visión de archivos: touch more
ed vi nano
• Procesamiento de textos: echo cat grep
sort uniq sed awk tail head
• Comparación de archivos: comm cmp diff
patch
• Administración del sistema: chmod
chown ps find xargs sd w who
• Comunicación:
mail telnet ssh ftp finger rlogin
• Shells:
sh csh ksh
• Documentación: man.
Esta
es una lista de los sesenta comandos de usuario de la sección 1 de la Primera
Edición:
ar
as b bas bcd boot cat chdir check chmod chown cmp cp date db (Unix) dbppt dc df
dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mount mv nm
od pr rew (Unix) rkd rkf rkl rm rmdir roff sdate sh stat strip (Unix) su sum
tap (Unix) tm tty type un wc who write
Otros
comandos
• Tiempo: cal
Linus Benedict Torvalds (28 de diciembre de 1969,
Helsinki, Finlandia) es un ingeniero de software finlandés estadounidense ,
conocido por iniciar y mantener el desarrollo del "kernel" (en
español, núcleo) Linux, basándose en el sistema operativo libreMinix creado por
Andrew S. Tanenbaum y en algunas herramientas, varias utilidades y los
compiladores desarrollados por elproyecto GNU. Actualmente Torvalds es
responsable de la coordinación del proyecto. Pertenece a la comunidad
sueco-parlantede Finlandia.
Sus padres tomaron su nombre de Linus Pauling
(estadounidense, Premio Nobel de Química 1954). Comenzó sus andanzas
informáticas a los 11 años cuando su abuelo, un matemático y estadístico de la
Universidad, compró uno de los primeros microordenadores Commodore en 1980 y le
pidió ayuda para usarlo.
A finales de los años 80 tomó contacto con los
computadores IBM, PC y en 1991 adquirió una computadora con procesador modelo
80386 de Intel.
En 1988 fue admitido en la Universidad de Helsinki, donde
se obtuvo su maestría en Ciencias de la Computación. Ese mismo año el profesor
Andrew S. Tanenbaum saca a la luz el S.O. Minix con propósitos didácticos. 2
años después, en 1990, Torvalds empieza a aprender el lenguaje de programación
C en su universidad.
A la edad de 21 años, con 1 año de experiencia
programando (en C), ya conocía lo suficiente del sistema operativo Minix como
para tomar prestadas algunas ideas y empezar un proyecto personal. Basándose en
Design of the Unix Operating System, publicado por Maurice J. Bach en 1986,
crearía una implementación que ejecutará cualquier tipo de programa, pero sobre
una arquitectura de ordenadores compatibles, IBM/PC.
Este proyecto personal desembocó el 5 de octubre de 1991
con el anuncio3 de la primera versión de Linux capaz de ejecutarBASH (Bourne
Again Shell) y el compilador conocido como GCC (GNU Compiler Collection).
En enero de 1992 se adoptó la Licencia Pública General
(GPL) para Linux. Ésta añade libertades de uso a Linux totalmente opuestas a
las del software propietario, permitiendo su modificación, redistribución,
copia y uso ilimitado. Este modelo de licencia facilita lo que es conocido como
el modelo de desarrollo de bazar, que ha dado estabilidad y funcionalidad sin
precedentes a este sistema operativo.
En 1997 Linus Torvalds recibe los
premios 1997 Nokia Foundation Award de Nokia y Lifetime Achievement Award at
Uniforum Pictures. Ese mismo año finaliza los estudios
superiores (1988 - 1997) tras una década como estudiante e investigador en
laUniversidad de Helsinki, coordinando el desarrollo del núcleo del S.O. desde
1992.
Torvalds trabajó en Transmeta desde febrero de 1997 hasta
junio de 2003. Actualmente trabaja para el Open Source Development Labs en
Beaverton, Oregón. Solo el 2% del código del Linux actual está escrito por él,
pero, además de su paternidad, en su persona sigue descansando la dirección de
la gestión núcleo del sistema operativo.
Torvalds posee la marca registrada "Linux" y
supervisa4 el uso de la marca a través de la organización sin ánimo de lucro
Linux International.
Cómo
creó Linux
En Finlandia, Linus Torvalds, por entonces estudiante de
Ciencias de la Computación de la Universidad de Helsinki, decidió realizar la
entonces cuantiosa inversión de 3500 dólares estadounidenses para adquirir un
nuevo computador con el microprocesador 80386 de Intel, el cual funcionaba a 33
MHz y tenía 4MB de memoria RAM. El pago lo realizaría a plazos, pues no
disponía de tal cantidad de dinero en efectivo.
Normalmente, este computador lo usaba para tener acceso
por línea telefónica a la red informática de su Universidad, pero debido a que
no le gustaba el sistema operativo con el cual trabajaba, denominado Minix,
decidió crear uno él mismo. Inicialmente, escribió un programa con lenguaje de
bajo nivel prescindiendo de Minix. En los primeros intentos, consiguió arrancar
el computador y ejecutar dos procesos que mostraban la cadena de caracteres
“AAAAABBBBB”. Uno lo utilizaría para leer desde el módem y escribir en la
pantalla, mientras que el otro escribiría al módem y leería desde el teclado.
Inicialmente, el programa arrancaba desde un disquete.
La siguiente necesidad que tuvo fue la de poder descargar
y subir archivos de su universidad, pero para implementar esta funcionalidad en
el software emulador era necesario crear un controlador de disco. Así que
después de un trabajo continuo y duro, creó un controlador compatible con el
sistema de archivos de Minix. En ese momento, se percató de que estaba creando
algo más que un simple emulador de terminal, así que, emprendió la tarea de
crear un sistema operativo partiendo de cero.
De forma privada, Linus nombraba Linux a su nuevo
sistema, pero cuando decidió hacer una presentación pública pensó que era demasiado
egocéntrico llamarlo así y propuso llamarlo Freax, aunque después se le siguió
conociendo como Linux, práctica que perdura hasta ahora.
Después de anunciar el 25 de agosto de 1991 su intención
de seguir desarrollando su sistema para construir un reemplazo de Minix, el 17
de septiembre sube al servidor de FTPproporcionado por su universidad la
versión 0.01 de Linux con 10.000 líneas de código. A partir de ese momento
Linux empezó a evolucionar rápidamente.
Reconocimiento
• En 1996, un asteroide recibió el
nombre de "9793 Torvalds" en honor a Linus Torvalds.
• En 1998 recibió el premio
"Pioneer Award" de la EFF.5
• En 1999 recibió el título de doctor
honorífico en la Universidad de Estocolmo.
• En 2000 recibió el título de doctor
honorífico en la Universidad de Helsinki.
• En la votación "Persona del
Siglo" de la revista Time, Linus Torvalds obtuvo la posición número 17.6
• En 2001, compartió el premio
"Takeda Award" para las artes sociales y económicas junto a Richard
Stallman y Ken Sakamura.
• La película del 2001,
"Swordfish"", contiene un personaje finlandés (el hacker número
uno del mundo) llamado Axl Torvalds.
• En 2004, fue nombrado como una de las
personas más influyentes del mundo en el artículo de la revista Time.
• En el verano de 2004, obtuvo el puesto
número 16 en "Suuret Suomalaiset".
• En 2005, fue nombrado como uno de
"los mejores administradores empresariales" en una encuesta de la
revista "BusinessWeek".
• En agosto de 2005, Linus Torvalds
recibió el premio "Vollum Award" del Reed College.
• En 2006, la revista "Business
2.0" lo nombró como "una de las diez personas que no tienen
importancia" debido a que el crecimiento e importancia de Linux habían
eclipsado el impacto individual de Linus.
• En 2006, la revista Time lo nombra
como uno de los héroes revolucionarios de los últimos 60 años.
• En 2012, la Academia de Tecnología de
Finlandia le otorga el premio 2012 Millennium Technology Prize (que comparte
con el Dr Yamanaka) "en reconocimiento a su creación de un nuevo sistema
operativo de código abierto para ordenadores que llevan como núcleo Linux"
Linux es un núcleo libre de sistema operativo basado en
Unix.3 Es uno de los principales ejemplos de software libre. Linux está
licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el
mundo. El desarrollo del día a día tiene lugar en la Linux Kernel Mailing List
Archive
El núcleo Linux fue concebido por el entonces estudiante
de ciencias de la computación finlandes, Linus Torvalds, en 1991. Linux
consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros
proyectos de software libre para su uso en nuevas distribuciones. El núcleo
Linux ha recibido contribuciones de miles de programadores de todo el mundo.
Normalmente Linux se utiliza junto a un empaquetado de software, llamado
distribución Linux y servidores.
Historia de Linux
En abril de 1991, Linus Torvalds, de 21 años, empezó a
trabajar en unas simples ideas para un núcleo de un sistema operativo. Comenzó
con un intento por obtener un núcleo de sistema operativo gratuito similar a
Unix que funcionara con microprocesadoresIntel 80386. Luego, el 25 de agosto de
1991, Torvalds escribió en el grupo de noticias comp.os.minix:
"Estoy haciendo un sistema operativo (gratuito, sólo
un hobby, no será nada grande ni profesional como GNU) para clones AT 386(486).
Llevo en ello desde abril y está empezando a estar listo. Me gustaría saber su
opinión sobre las cosas que les gustan o disgustan en minix, ya que mi SO tiene
algún parecido con él.[...] Actualmente he portado bash(1.08) y gcc(1.40), y
parece que las cosas funcionan. Esto implica que tendré algo práctico dentro de
unos meses..."
Después de esto, muchas personas ayudaron con el código.
En septiembre de 1991 se lanzó la versión 0.01 de Linux. Tenía 10.239 líneas de
código. En octubre de ese año (1991), se lanzó la versión 0.02 de Linux; luego,
en diciembre se lanzó la versión 0.11(1991). Esta versión fue la primera en ser
self-hosted (autoalbergada). Es decir, Linux 0.11 podía ser compilado por una
computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de
Linux se compilaban usando otros sistemas operativos. Cuando lanzó la siguiente
versión, Torvalds adoptó la GPL como su propio boceto de licencia, la cual no
permitía su redistribución con otra licencia que no sea GPL.
Se inició un grupo de noticias llamado alt.os.linux y el
19 de enero de 1992 se publicó en ese grupo el primer post. El 31 de
marzo,alt.os.linux se convirtió en comp.os.linux. XFree86, una implementación
del X Window System, fue portada a Linux, la versión del núcleo 0.95 fue la
primera en ser capaz de ejecutarla. Este gran salto de versiones (de 0.1x a
0.9x) fue por la sensación de que una versión 1.0 acabada no parecía estar
lejos. Sin embargo, estas previsiones resultaron ser un poco optimistas: desde
1993 a principios de 1994, se desarrollaron 15 versiones diferentes de 0.99
(llegando a la versión 0.99r15).
El 14 de marzo de 1994, se lanzó Linux 1.0.0, que
constaba de 176.250 líneas de código. En marzo de 1995 se lanzó Linux 1.2.0,
que ya estaba compuesto de 310.950 líneas de código.
• Mayo de 1996: Torvalds decidió adoptar
al pingüino Tux como mascota para Linux.
• 9 de junio de 1996: Se lanzó la
versión 2 de Linux, con una recepción positiva.
• 25 de enero de 1999: Se lanzó Linux
2.2.0 con 1.800.847 líneas de código.
• 18 de diciembre de 1999: se publicaron
parches de IBM Mainframe para 2.2.13, permitiendo de esta forma que Linux fuera
usado en ordenadores corporativos.
• 4 de enero de 2001: se lanzó Linux
2.4.0 con 3.377.902 líneas de código.
• 17 de diciembre de 2003: se lanzó
Linux 2.6.0 con 5.929.913 líneas de código.
• 24 de diciembre de 2008: se lanzó
Linux 2.6.28 con 10.195.402 líneas de código.5
• 20 de octubre de 2010: se lanzó Linux
2.6.36 con 13.499.457 líneas de código.6
• 30 de mayo de 2011: Linus Torvalds
anunció que la versión del núcleo dará el salto a la 3.0 en la siguiente
publicación.
• 21 de julio de 2011: Torvalds publicó
en su perfil en la red social Google+ que el núcleo versión 3.0 estaba listo
con la frase "3.0 Pushed Out".8
• 22 de julio de 2011: Fue lanzada la
versión 3.0 del núcleo en http://www.kernel.org
• 12 de mayo y 13 de mayo de 2012 fueron
lanzadas las versiones 3.3.6 y 3.4-rc7 del núcleo en http://www.kernel.org
respectivamente.
Su
código fuente está disponible para descarga en el sitio web oficial:
http://www.kernel.org
Aspectos
técnicos
Actualmente Linux es un núcleo monolítico híbrido. Los
controladores de dispositivos y las extensiones del núcleo normalmente se
ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso
irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario. A
diferencia de los núcleos monolíticos tradicionales, los controladores de
dispositivos y las extensiones al núcleo se pueden cargar y descargar
fácilmente como módulos, mientras el sistema continúa funcionando sin
interrupciones. También, a diferencia de los núcleos monolíticos tradicionales,
los controladores pueden ser prevolcados (detenidos momentáneamente por
actividades más importantes) bajo ciertas condiciones. Esta habilidad fue
agregada para gestionar correctamente interrupciones de hardware, y para
mejorar el soporte de multiprocesamiento simétrico.
El hecho de que Linux no fuera desarrollado siguiendo el
diseño de un micronúcleo (diseño que, en aquella época, era considerado el más
apropiado para un núcleo por muchos teóricos informáticos) fue asunto de una
famosa y acalorada discusión entre Linus Torvalds y Andrew S. Tanenbaum.
Jerarquía de directorios en Linux
En Linux existe un sistema de archivos que carga y
contiene todos los directorios, redes, programas, particiones, dispositivos,
etc. que el sistema sabe reconocer, o por lo menos, identificar. Este sistema
de ficheros y directorios, tiene como base al carácter (/); ese mismo carácter
sirve también para demarcar los directorios, como por ejemplo:
"/home/usuario/imagen.jpg". El directorio especificado por una ruta
consistente sólo por este carácter contiene toda la jerarquía de los
directorios que constituyen todo el sistema. A este directorio suele llamárselo
directorio raíz. En Linux, a los discos no se les asigna una letra como en
Windows (p.e. "C:"), sino que se les asigna un directorio de la
jerarquía del directorio raíz (/), como por ejemplo: "/media/floppy".
Es práctica común en el sistema de ficheros de Linux, utilizar varias
sub-jerarquías de directorios, según las diferentes funciones y estilos de
utilización de los archivos.11 Estos directorios pueden clasificarse en:
• Estáticos: Contiene archivos que no
cambian sin la intervención del administrador (root), sin embargo, pueden ser
leídos por cualquier otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...)
• Dinámicos: Contiene archivos que son
cambiantes, y pueden leerse y escribirse (algunos solo por su respectivo
usuario y el root). Contienen configuraciones, documentos, etc. Para estos
directorios, es recomendable una copia de seguridad con frecuencia, o mejor aún,
deberían ser montados en una partición aparte en el mismo disco, como por
ejemplo, montar el directorio /home en otra partición del mismo disco,
independiente de la partición principal del sistema; de esta forma, puede
repararse el sistema sin afectar o borrar los documentos de los usuarios.
(/var/mail, /var/spool, /var/run, /var/lock, /home...)
• Compartidos: Contiene archivos que se
pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse
entre usuarios.
• Restringidos: Contiene ficheros que no
se pueden compartir, solo son modificables por el administrador. (/etc, /boot,
/var/run, /var/lock...)
Kernel
panic
En Linux, un panic es un error casi siempre insalvable
del sistema detectado por el núcleo en oposición a los errores similares
detectados en el código del espacio de usuario. Es posible para el código del
núcleo indicar estas condiciones mediante una llamada a la función de pánico
situada en el archivo header sys/system.h. Sin embargo, la mayoría de las
alertas son el resultado de excepciones en el código del núcleo que el
procesador no puede manejar, como referencias a direcciones de memorias
inválidas. Generalmente esto es indicador de la existencia de un bug en algún
lugar de la cadena de alerta. También pueden indicar un fallo en el hardware
como un fallo de la RAM o errores en las funciones aritméticas en el
procesador, o por un error en el software. En muchas ocasiones es posible
reiniciar o apagar adecuadamente el núcleo mediante una combinación de teclas
como ALT+SysRq+REISUB.
Lenguajes
de programación
Linux está escrito en el lenguaje de programación C, en
la variante utilizada por el compilador GCC (que ha introducido un número de
extensiones y cambios al C estándar), junto a unas pequeñas secciones de código
escritas con el lenguaje ensamblador. Por el uso de sus extensiones al
lenguaje, GCC fue durante mucho tiempo el único compilador capaz de construir
correctamente Linux. Sin embargo, Intel afirmó haber modificado su compilador C
de forma que permitiera compilarlo correctamente.
Así mismo se usan muchos otros lenguajes en alguna forma,
básicamente en la conexión con el proceso de construcción del núcleo (el método
a través del cual las imágenes arrancables son creadas desde el código fuente).
Estos incluyen a Perl, Python y varios lenguajes shell scripting. Algunos
drivers también pueden ser escritos en C++, Fortran, u otros lenguajes, pero
esto no es aconsejable. El sistema de construcción de Linux oficialmente solo
soporta GCC como núcleo y compilador de controlador.
Portabilidad:
Portabilidad del núcleo Linux y arquitecturas soportadas
Aun cuando Linus
Torvalds no ideó originalmente Linux como un núcleo portable, ha evolucionado
en esa dirección. Linux es ahora de hecho, uno de los núcleos más ampliamente
portados, y funciona en sistemas muy diversos que van desde iPAQ (una handheld)
hasta unzSeries (un mainframe masivo). Está planeado que Linux sea el sistema operativo
principal de las nuevas supercomputadoras de IBM, Blue Gene cuando su
desarrollo se complete.
De todos modos, es importante notar que los esfuerzos de
Torvalds también estaban dirigidos a un tipo diferente de portabilidad. Según
su punto de vista, la portabilidad es la habilidad de compilar fácilmente en un
sistema aplicaciones de los orígenes más diversos; así, la popularidad original
de Linux se debió en parte al poco esfuerzo necesario para tener funcionando
las aplicaciones favoritas de todos, ya sean GPL o de Código abierto.
Las arquitecturas principales soportadas por Linux son
DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8, IA64, M32R,
m68k,MicroBlaze, MIPS, MN10300, PA-RISC, PowerPC, System/390, SuperH, SPARC,
x86, x86 64 y Xtensa12
Arquitectura
de máquina virtual
El núcleo Linux puede correr sobre muchas arquitecturas
de máquina virtual, tanto como host del sistema operativo o como cliente. La
máquina virtual usualmente emula la familia de procesadores Intel x86, aunque
en algunos casos también son emulados procesadores de PowerPC o ARM.
Formatos
binarios soportados
Linux 1.0 admitía sólo el formato binario a.out. La
siguiente serie estable (Linux 1.2) agregó la utilización del formato ELF, el
cual simplifica la creación de bibliotecas compartidas (usadas de forma extensa
por los actuales ambientes de escritorio como GNOME y KDE). ELF es el formato
usado de forma predeterminada por el GCC desde alrededor de la versión 2.6.0.
El formato a.out actualmente no es usado, convirtiendo a ELF en el formato
binario utilizado por Linux en la actualidad.
Linux tiene la capacidad de permitir al usuario añadir el
manejo de otros formatos binarios. También binfmt_misc permite correr el
programa asociado a un archivo de datos.
Versiones
Más allá de haber desarrollado su propio código y de
integrar los cambios realizados por otros programas, Linus Torvalds continua
lanzando nuevas versiones del núcleo Linux. Estos son llamados núcleos
“vanilla”, lo que significa que no han sido modificados por nadie. Muchos
desarrolladores de distribuciones Linux modifican dicho núcleo en sus
productos, principalmente para agregarle soporte a dispositivos o herramientas
que no fueron oficialmente lanzadas como estables, mientras que algunas
distribuciones, como Slackware, mantienen el núcleo vanilla.
Numeración
La versión del núcleo Linux original constaba de cuatro
números. Por ejemplo, asumamos que el número de la versión está compuesta de
esta forma: A.B.C[.D] (ej.: 2.2.1, 2.4.13 ó 2.6.12.3).
• El número A denota la versión del
núcleo. Es el que cambia con menor frecuencia y solo lo hace cuando se produce
un gran cambio en el código o en el concepto del núcleo. Históricamente sólo ha
sido modificado tres veces: en 1994 (versión 1.0), en 1996 (versión 2.0) y en
2011 (versión 3.0).
• El número B denota la subversión del
núcleo.
Antes de la serie de Linux 2.6.x, los números pares
indicaban la versión “estable” lanzada. Por ejemplo una para uso de
fabricación, como el 1.2, 2.4 ó 2.6. Los números impares, en cambio, como la
serie 2.5.x, son versiones de desarrollo, es decir que no son consideradas de
producción.
Comenzando con la serie Linux 2.6.x, no hay gran
diferencia entre los números pares o impares con respecto a las nuevas
herramientas desarrolladas en la misma serie del núcleo. Linus Torvalds dictaminó
que este será el modelo en el futuro.
• El número C indica una revisión mayor
en el núcleo. En la forma anterior de versiones con tres números, esto fue
cambiado cuando se implementaron en el núcleo los parches de seguridad,
bugfixes, nuevas características o drivers. Con la nueva política, solo es
cambiado cuando se introducen nuevos drivers o características; cambios menores
se reflejan en el número D.
• El número D se produjo cuando un grave
error, que requiere de un arreglo inmediato, se encontró en el código NFS de la
versión 2.6.8. Sin embargo, no había otros cambios como para lanzar una nueva
revisión (la cual hubiera sido 2.6.9). Entonces se lanzó la versión 2.6.8.1,
con el error arreglado como único cambio. Con 2.6.11, esto fue adoptado como la
nueva política de versiones. Bug-fixes y parches de seguridad son actualmente
manejados por el cuarto número dejando los cambios mayores para el número C.
También, algunas veces luego de las versiones puede haber
algunas letras como “rc1” o “mm2”. El “rc” se refiere a release candidate e
indica un lanzamiento no oficial. Otras letras usualmente (pero no siempre)
hacen referencia a las iniciales de la persona. Esto indica una bifurcación en
el desarrollo del núcleo realizado por esa persona, por ejemplo ck se refiere a
Con Kolivas, ac a Alan Cox, mientras que mm se refiere a Andrew Morton.
El modelo de desarrollo para Linux 2.6 fue un cambio
significativo desde el modelo de desarrollo de Linux 2.5. Previamente existía
una rama estable (2.4) donde se habían producido cambios menores y seguros, y
una rama inestable (2.5) donde estaban permitidos cambios mayores. Esto
significó que los usuarios siempre tenían una versión 2.4 a prueba de fallos y
con lo último en seguridad y casi libre de errores, aunque tuvieran que esperar
por las características de la rama 2.5. La rama 2.5 fue eventualmente declarada
estable y renombrada como 2.6. Pero en vez de abrir una rama 2.7 inestable, los
desarrolladores de núcleos eligieron continuar agregando los cambios en la rama
“estable” 2.6. De esta forma no había que seguir manteniendo una rama vieja
pero estable y se podía hacer que las nuevas características estuvieran
rápidamente disponibles y se pudieran realizar más pruebas con el último
código.
Sin embargo, el modelo de desarrollo del nuevo 2.6
también significó que no había una rama estable para aquellos que esperaban
seguridad y bug fixes sin necesitar las últimas características. Los arreglos
solo estaban en la última versión, así que si un usuario quería una versión con
todos los bug fixed conocidos también tendría las últimas características, las
cuales no habían sido bien probadas. Una solución parcial para esto fue la
versión ya mencionada de cuatro números (y en 2.6.x.y), la cual significaba
lanzamientos puntuales creados por el equipo estable (Greg Kroah-Hartman, Chris
Wright, y quizás otros). El equipo estable solo lanzaba actualizaciones para el
núcleo más reciente, sin embargo esto no solucionó el problema del faltante de
una serie estable de núcleo. Distribuidores de Linux, como Red Hat y Debian,
mantienen los núcleos que salen con sus lanzamientos, de forma que una solución
para algunas personas es seguir el núcleo de una distribución.
Como respuesta a la falta de un núcleo estable y de gente
que coordinara la colección de corrección de errores, en diciembre de 2005
Adrian Bunk anunció que continuaría lanzando núcleos 2.6.16 aun cuando el
equipo estable lanzara 2.6.17. Además pensó en incluir actualizaciones de
controladores, haciendo que el mantenimiento de la serie 2.6.16 sea muy
parecido a las viejas reglas de mantenimiento para las serie estables como 2.4.
El núcleo 2.6.16 será reemplazado próximamente por el 2.6.27 como núcleo
estable en mantenimiento durante varios años.
Dado el nuevo modelo de desarrollo, que mantiene fija la
subversión de 2.6, tras durante el Linux Kernel Summit de ese año, Linus
Torvalds decidió modificar el sistema de numeración, sustituyendo los dos
primeros números por una única cifra, de forma que Linux 2.6.39 fue seguida por
Linux 3.0 13
Fechas
de publicación
Versión Fecha14
Nota Ficheros15
LoC16
MiB
MiB
(bz2)
0.01 17 de septiembre de 1991 Initial Public Release 88 8.413 0,267 0,06
0.02 5 de octubre de 1991 - -
0.11 8 de diciembre de 1991 100 11.907 0,363 0,076
0.95 7 de marzo de 1992 122 19.200 0,533 0,111
1.0.0 13 de marzo de 1994 Primera versión estable 561 170.581 4,633 0,969
1.1.0 6 de abril de 1994 Versión de desarrollo 561 170.320
1.2.0 6 de marzo de 1995 909 294.623
1.3.0 12 de junio de 1995 Versión de desarrollo 992 323.581
2.0.0 9 de junio de 1996 2.015 716.119 21,7 4,499
2.1.0 30 de septiembre de 1996 Versión de desarrollo 1.727 735.736
2.2.0 26 de enero de 1999 4.599 1.676.182
2.3.0 11 de mayo de 1999 Versión de desarrollo 4.721 1.763.358
2.4.0 4 de enero de 2001 8.187 3.158.560 96,8 18,79
2.5.0 23 de noviembre de 2001 Versión de desarrollo 9.893 3.833.603
2.6.0 18 de diciembre de 2003 15.007 5.475.685 170,7 31,7
2.6.25 16 de abril de 2008 23.810 8.396.250 258,8 46,4
2.6.30 10 de junio de 2009 27.878 10.419.567 322,3 56,7
2.6.35 1 de agosto de 2010 33.315 12.250.679 376,2 66,1
3.0 22 de julio de 2011 36.782 13.688.408 410,8 73,2
Distribución
Linux
Una distribución
Linux es un conjunto de software acompañado del núcleo Linux que se enfoca a
satisfacer las necesidades de un grupo específico de usuarios. De este modo hay
distribuciones para hogares, empresas y servidores.
Las distribuciones son ensambladas por individuos,
empresas u otros organismos. Cada distribución puede incluir cualquier número
desoftware adicional, incluyendo software que facilite la instalación del
sistema. La base del software incluido con cada distribución incluye el núcleo
Linux, en la mayoría de los casos las herramientas GNU, al que suelen añadirse
también multitud de paquetes de software.
Las herramientas que suelen incluirse en la distribución
de este sistema operativo se obtienen de diversas fuentes, y en especial de
proyectos de software libre, como: GNU, GNOME (creado por GNU) y KDE. También
se incluyen utilidades de otros proyectos comoMozilla, Perl, Ruby, Python,
PostgreSQL, MySQL, Xorg, casi todas con licencia GPL o compatibles con ésta
(LGPL, MPL).
Usualmente se utiliza la plataforma X.Org Server, basada
en la antigua XFree86, para sostener la interfaz gráfica.
Copyright
Inicialmente, Torvalds distribuyó Linux bajo los términos
de una licencia que prohibía la explotación comercial. Pero esta licencia fue
reemplazada, poco tiempo después, por la GNU GPL (versión 2 exclusivamente).
Los términos de esta última licencia permiten la distribución y venta de copias
o incluso modificaciones, pero requiere que todas las copias del trabajo
original y trabajos de autoría derivados del original sean publicados bajo los
mismos términos, y que el código fuente siempre pueda obtenerse por el mismo
medio que el programa licenciado.
Torvalds se ha referido a haber licenciado Linux bajo la
GPL como "la mejor cosa que he hecho" (en inglés, "the best
thing I ever did").
Sin embargo, la versión oficial del núcleo Linux contiene
firmware de código cerrado, por ello, el Proyecto Linux-libre, auspiciado por
la FSFLA, publica y mantiene versiones modificadas del núcleo Linux a las que
se les ha quitado todo el software no libre.
Marca
A día de hoy, Linux es una marca registrada de Linus
Torvalds en los Estados Unidos.
Hasta 1994 nadie registró la marca Linux en Estados
Unidos. El 15 de agosto de 1994 cuando William R. Della Croce, Jr. registró la
marca Linux, pidió el pago de regalías a los distribuidores de Linux. En 1996,
Torvalds y algunas organizaciones afectadas denunciaron a Della Croce y en 1997
el caso se cerró y la marca fue asignada a Torvalds.
Desde entonces, el Linux Mark Institute gestiona la
marca. En 2005 el LMI envió algunas cartas a empresas distribuidoras de Linux
exigiendo el pago de una cuota por el uso comercial del nombre. Esto es así
porque la legislación estadounidense exige que el dueño de una marca la
defienda, por lo que se tuvo que pedir dinero por usar la marca Linux, algunas
compañías de forma totalmente voluntaria han cumplido con dicha exigencia, a
sabiendas de que dicho dinero se iba a usar para caridad o defender la marca
Linux.
Críticas
Soporte
de hardware
El núcleo Linux ha sido criticado con frecuencia por
falta de controladores para cierto hardware de computadoras de escritorio. Sin
embargo, el progresivo incremento en la adopción de Linux en el escritorio ha
mejorado el soporte de hardware por parte de terceros o de los propios
fabricantes, provocando que, en los últimos años, los problemas de
compatibilidad se reduzcan.
Empresas como IBM, Intel Corporation, Hewlett-Packard,
Dell o MIPS Technologies21 tienen programadores en el equipo de desarrolladores
del núcleo Linux que se encargan de mantener los controladores para el hardware
que fabrican. Este grupo de programadores también se le suman los que provee
grandes distribuidores de soluciones Linux comoNovell o Red Hat.
Algunas empresas proporcionan controladores de hardware
para Linux pero sin liberar el código fuente. Esto implica que se deba depender
de ellas para solucionar posibles errores o mejorar los controladores. Dos
empresas que hacen esto son Nvidia y AMD, aunque esta última ayudó a la
creación de controladores libres liberando especificaciones sobre su hardware y
actualmente colabora en el desarrollo de un controlador libre22 para sus
tarjetas gráficas ATI de última generación.23
Arquitectura
monolítica
Andy Tanenbaum escribió el 29 de enero de 1992: «...Linux
es un sistema monolítico. Esto es retroceder un paso gigante hacia la década de
1970. Es como tomar un programa existente escrito en C y reescribirlo en BASIC.
Para mí, escribir un sistema monolítico en 1991 es verdaderamente una idea
pobre».24
GNU/Linux es uno de los términos empleados para referirse
a la combinación del núcleo o kernel libre similar a Unix denominado Linux con
el sistema GNU. Su desarrollo es uno de los ejemplos más prominentes de
software libre; todo su código fuente puede ser utilizado, modificado y
redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia
Pública General de GNU, en inglés: General Public License) y otra serie de
licencias libres.
A pesar de que Linux es, en sentido estricto, el sistema
operativo, parte fundamental de la interacción entre el núcleo y el usuario (o
los programas de aplicación) se maneja usualmente con las herramientas del
proyecto GNU y con entornos de escritorio basados en GNOME, que también forma
parte del proyecto GNU aunque tuvo un origen independiente. Sin embargo, una
parte significativa de la comunidad, así como muchos medios generales y
especializados, prefieren utilizar el término Linux para referirse a la unión
de ambos proyectos. Para más información consulte la sección "Denominación
GNU/Linux" o el artículo "Controversia por la denominación
GNU/Linux".
A las variantes de esta unión de programas y tecnologías,
a las que se les adicionan diversos programas de aplicación de propósitos específicos
o generales se las denomina distribuciones. Su objetivo consiste en ofrecer
ediciones que cumplan con las necesidades de un determinado grupo de usuarios.
Algunas de ellas son especialmente conocidas por su uso en servidores
ysupercomputadoras.3 donde tiene la cuota más importante del mercado. Según un
informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500
servidores del mundo,4 otro informe le da una cuota de mercado de 89% en los
500 mayores supercomputadores.5 Con menor cuota de mercado el sistema GNU/Linux
también es usado en el segmento de las computadoras de escritorio, portátiles,
computadoras de bolsillo, teléfonos móviles, sistemas embebidos, videoconsolas
y otros dispositivos.
Etimología
El nombre GNU, GNU's Not Unix (GNU no es Unix), viene de
las herramientas básicas de sistema operativo creadas por el proyectoGNU,
iniciado por Richard Stallman en 1983 y mantenido por la FSF. El nombre Linux
viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991.
La contribución de GNU es la razón por la que existe
controversia a la hora de utilizar Linux o GNU/Linux para referirse al sistema
operativo formado por las herramientas de GNU y el núcleo Linux en su conjunto.
Historia
El proyecto GNU,
que se inició en 1983 por Richard Stallman; tiene como objetivo el desarrollo
de un sistema operativo Unixcompleto y compuesto enteramente de software libre.
La historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU.
En 1991 Linus Torvalds empezó a trabajar en un reemplazo no comercial para
MINIX que más adelante acabaría siendoLinux.
Cuando Torvalds liberó la primera versión de Linux, el
proyecto GNU ya había producido varias de las herramientas fundamentales para
el manejo del sistema operativo, incluyendo un intérprete de comandos, una
biblioteca C y un compilador, pero como el proyecto contaba con una
infraestructura para crear su propio núcleo (o kernel), el llamado Hurd, y este
aún no era lo suficiente maduro para usarse, comenzaron a usar a Linux a modo
de continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofía
de mantener cooperatividad entre desarrolladores. El día en que se estime que
Hurd es suficiente maduro y estable, será llamado a reemplazar a Linux.
Entonces, el núcleo creado por Linus Torvalds, quien se
encontraba por entonces estudiando la carrera de Ingeniería Informática en la
Universidad de Helsinki, llenó el "espacio" final que había en el
sistema operativo de GNU.
Componentes:
Entorno gráfico
Linux puede funcionar tanto en entorno gráfico como en
modo consola. La consola es común en distribuciones para servidores, mientras
que la interfaz gráfica está orientada al usuario final tanto de hogar como
empresarial. Asimismo, también existen los entornos de escritorio, que son un
conjunto de programas conformado por ventanas, iconos y muchas aplicaciones que
facilitan la utilización del computador. Los escritorios más populares en
GNU/Linux son: GNOME, KDE, LXDE y Xfce. En dispositivos móviles se encuentra
Android, que funciona sobre el núcleo Linux, pero no usa las herramientas GNU.
Intel anunció productos de consumo basados en MeeGo para mediados del 2011, por
lo que es probable que este entorno tenga también una creciente importancia en
los próximos años.
Como
sistema de programación
La colección de utilidades para la programación de GNU es
con diferencia la familia de compiladores más utilizada en este sistema
operativo. Tiene capacidad para compilar C,C++, Java, Ada, entre otros muchos
lenguajes. Además soporta diversas arquitecturas mediante la compilación
cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogéneos.
Hay varios entornos de desarrollo integrados disponibles
para GNU/Linux incluyendo, Anjuta, KDevelop, Ultimate++, Code::Blocks, NetBeans
IDE y Eclipse. También existen editores extensibles como Emacs o Vim. GNU/Linux
también dispone de capacidades para lenguajes de guion (script), aparte de los
clásicos lenguajes de programación de shell, o el de procesador de textos por
patrones y expresiones regulares llamado awk, la mayoría de las distribuciones
tienen instalado Python, Perl, PHP y Ruby.
Aplicaciones
de usuario
Las aplicaciones para Linux se distribuyen principalmente
en los formatos.deb y .rpm, los cuales fueron creados por los desarrolladores
de Debian y Red Hat respectivamente. También existe la posibilidad de instalar
aplicaciones a partir de código fuente en todas las distribuciones.
Software
de código cerrado para GNU/Linux
Durante la etapa temprana había pocas aplicaciones de
código cerrado para GNU/Linux. Con el tiempo se fueron portando programas no
libres al sistema GNU/Linux, entre ellosAdobe Reader, Adobe Flash, Opera, entre
otros.
Empresas
que patrocinan su uso
Con la adopción por numerosas empresas fabricantes, un
buen número de computadoras se venden con distribuciones pre-instaladas, y
GNU/Linux ha comenzado a tomar su lugar en el vasto mercado de las computadoras
de escritorio.
Algunas de las empresas que colaboran en la difusión de
este sistema operativo ya sea trabajando en el núcleo Linux, proporcionando
soluciones de software o preinstalando el sistema operativo, son: Intel Google,
IBM, AMD, Sun Microsystems, Dell, Lenovo, Asus, Hewlett-Packard (HP), Silicon
Graphics International (SGI), Renesas Technology, Fujitsu, Analog Devices,
Freescale, VIA Technologies, Oracle, Novell y RedHat, entre otras.
El respaldo de compañías de software también está
presente, ya que, entre otras aplicaciones, Nero, Java, Google Earth, Google
Desktop, Adobe Reader, Adobe Flash,RealPlayer y Yahoo! Messenger están
disponibles para GNU/Linux. Al haber software equivalente, es innecesario
instalar los precisamente mencionados con anterioridad.
Cuota
de mercado
Adopción
de Linux
Numerosos estudios cuantitativos sobre software de código
abierto están orientados a temas como la cuota de mercado y la fiabilidad, y
ciertamente muchos de estos estudios examinan específicamente a GNU/Linux.
La medición "cuota de mercado" puede resultar
inservible ya que es un concepto basado en ventas comerciales (unidades
materiales vendidas). Por otro lado Linux es utilizado frecuentemente en
servidores con acceso público desde Internet por lo que la cuota de mercado es
extremadamente inferior a la cuota de uso. Baste notar, p.ej, que Facebook, Gmail,
LinkedIn o Yahoo funcionan sobre servidores GNU/Linux, de forma que aún cuando
estemos accediendo desde un navegador ejecutándose en Windows/Mac, la
aplicación real se está ejecutando en servidores Linux y los datos están
almacenándose igualmente en dichos servidores.
Hay varias empresas que comercializan soluciones basadas
en GNU/Linux: IBM, Novell (SuSE), Red Hat (RHEL), Mandriva (Mandriva Linux),
Rxart, Canonical Ltd. (Ubuntu), así como miles de PYMES que ofrecen productos o
servicios basados en esta tecnología.
Aplicaciones
Supercomputadoras
Dentro del segmento de supercomputadoras, a noviembre de
2009, el uso de este sistema ascendió al 89,2% de las computadoras más potentes
del mundo por su confiabilidad, seguridad y libertad para modificar el código.42
De acuerdo con TOP500.org, que lleva estadísticas sobre las 500 principales
supercomputadoras del mundo, a noviembre de 2009: 446 usaban una distribución
basada en GNU/Linux, 25 Unix, 23 mezclas, 1 BSD y 5 Windows.
Las primeras 19 supercomputadoras, incluidas la número 1
la Jaguar, Cray XT5-HE con 224,162 procesadores utilizan distribuciones basadas
en GNU/Linux.
GNU/Linux, además de liderar el mercado de servidores de
Internet debido, entre otras cosas, a la gran cantidad de soluciones que tiene
para este segmento, tiene un crecimiento progresivo en computadoras de
escritorio y portátiles. Además, es el sistema base que se ha elegido para el
proyecto OLPC: One Laptop Per Child.
Para saber más sobre las arquitecturas soportadas, lea el
artículo "Portabilidad del núcleo Linux y arquitecturas soportadas".
Teléfonos
inteligentes
Linux tiene un papel imprescindible en el territorio de
los teléfonos inteligentes debido a que Android y meego lo utilizan.
Actualmente Android es el sistema operativo predominante en los nuevos
teléfonos inteligentes y su cuota de mercado mundial supera hasta el iOS de
Apple.
Administración
Pública
Software
libre en la Administración Pública.
Hay una serie de administraciones públicas que han
mostrado su apoyo al software libre, sea migrando total o parcialmente sus
servidores y sistemas de escritorio, sea subvencionándolo. Como ejemplos se
tiene a Alemania, Argentina, Australia, Brasil, España, Chile, China, Cuba,
México, Perú, República Dominicana, Ecuador, El Salvador,Uruguay y Venezuela.
Fuerzas
Armadas
El sistema operativo del General Atomics MQ-1 Predator
está basado en GNU/Linux, así como el del Boeing P-8 Poseidon.
Denominación
GNU/Linux
Evolución
de los sistemas UNIX
Parte de la comunidad y numerosos medios prefieren
denominar a esta combinación como Linux, aunque GNU/Linux (con las variantesGNU
con Linux y GNU+Linux) es la denominación defendida por el Proyecto GNU y la
FSF junto con otros desarrolladores y usuarios para el conjunto que utiliza el
sistema operativo Linux en conjunto con las aplicaciones de sistema creadas por
el proyecto GNU y por muchos otros proyectos de software.
Desde 1984, Richard Stallman y muchos voluntarios están
intentando crear un sistema operativo libre con un funcionamiento similar alUNIX,
recreando todos los componentes necesarios para tener un sistema operativo
funcional. A comienzos de los años 90, unos seis años desde el inicio del
proyecto, GNU tenía muchas herramientas importantes listas, como editores de
texto, compiladores,depuradores, intérpretes de comandos de órdenes etc.,
excepto por el componente central: el núcleo.
GNU tenía su propio proyecto de núcleo, llamado Hurd. Sin
embargo, su desarrollo no continuó como se esperaba al aparecer el núcleo
Linux. De esta forma se completaron los requisitos mínimos y surgió el sistema
operativo GNU que utilizaba el núcleo Linux.
El principal argumento de los defensores de la
denominación GNU/Linux es resolver la posible confusión que se puede dar entre
el núcleo (Linux) y gran parte de las herramientas básicas del resto del
sistema operativo (GNU), y del sistema completo que usualmente se usa como
combinación de GNU, Linux, y otros proyectos de software. Además, también se
espera que con el uso del nombre GNU, se dé al proyecto GNU el reconocimiento
por haber creado las herramientas de sistema imprescindibles para ser un
sistema operativo compatible con UNIX, y se destaque la cualidad de estar
compuesto sólo por software libre. La primera distribución que incluyó el GNU
en su nombre fue Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF
denominó a este sistema "Linux" hasta al menos junio de 1994 y recién
a partir de enero de 1995 empezó a llamarlo "GNU/Linux" (también
GNU+Linux y lignux, términos que han caído en desuso a instancias del propio
Stallman).
GNU
Algunas distribuciones apoyan esta denominación, e
incluyen GNU/Linux en sus nombres, como Debian GNU/Linux o GNU/LinEx, mientras
que otras, como Slackware, Gentoo o Ubuntu, eligen denominarse basadas en
Linux.
En ocasiones, el proyecto KDE ha utilizado una tercera
denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se
apoya su entorno de escritorio.
Algunas
distribuciones
•
Debian
GNU/Linux 6.0 Actualmente
•
Fedora
15
•
Gentoo
Linux 11 Actualmente
•
openSUSE
11.4 Actualmente
•
Ubuntu
11.04
Canaima
Canaima es una distribución GNU/Linux venezolana basada
en Debian que surge como una solución para cubrir las necesidades informáticas
de los usuarios finales de la Administración Pública Nacional (APN) Venezolana
y para dar cumplimiento al decreto presidencial Nº 3.390 sobre el uso de
tecnologías libres en la APN. El 14 de marzo de 2011 en gaceta oficial N°
39.6331 se establece como sistema operativo para las estaciones de trabajo de
la APN a Canaima GNU/Linux.
Canaima es una de las distribuciones GNU/Linux más usadas
en Venezuela a raíz de su incorporación en escuelas públicas,2 siendo utilizada
en proyectos de gran escala como "Canaima Educativo", proyecto que
busca dotar a más de 250 mil alumnos niños en edad escolar3 con computadores
Magallanes y su caso de uso ha sido presentado en congresos internacionales
sobre el uso de estándares abiertos,4 y a pesar de su reciente desarrollo ha
sido utilizada en el Festival Latinoamericano de Instalación de Software Libre
(FLISOL)5 donde ha sido instalada en los equipos de muchos usuarios.
Convenios
con fabricantes y ensambladores
Al
ser una distribución impulsada por la APN, se han generado una serie de
convenios estratégicos con diferentes países y compañías fabricantes de
hardware tales como:
• Portugal: Convenio para la fabricación
de 250.000 computadores Magallanes para ser distribuidos en escuelas públicas3
• Sun Microsystems: para la
certificación de Canaima en equipos de dicho fabricante6
• VIT: Venezolana de Industria
Tecnológica, empresa mixta entre el estado venezolano y empresarios chinos en
la cual se establece el uso de Canaima en los equipos que estos fabriquen7
• Lenovo: Para la certificación de
equipos de dicho fabricante para el uso de Canaima8
• Síragon: Ensamblador venezolano de
equipos informáticos, convenio mediante el cual se certifica Canaima para
dichos equipos9
Modelo
de ciclo de Desarrollo de Canaima
Canaima
posee un modelo de desarrollo basado en Debian pero con algunas modificaciones
para adaptarla a las necesidades propias de Venezuela; en este sentido, se ha
definido un ciclo de desarrollo compuesto por:
• Comunidad socioproductiva: integrada
por la comunidad de software libre (SL), entes de la Administración Pública
Nacional (APN), colectivos organizados, universidades
• Herramientas para apoyo de
comunidades: compuesta por:
• Una forja basada en fusionforge
ubicada en http://forja.softwarelibre.gob.ve
• Un trac, ubicado en
http://proyectos.canaima.softwarelibre.gob.ve
• Etapa de consolidación y pruebas
automatizadas: las cuales se basan en pruebas de calidad al software y
criterios de evaluación; esta etapa usa intensivamente herramientas de
Debiancomo pbuilder,10 elida en la infraestructura sobre las que descansa11
• Etapa de certificación: en la cual un
comité conformado por miembros de la comunidad hace las pruebas funcionales,
verifica estadísticas, etc, para liberar la versión estable.
Al
finalizar el ciclo del producto, se libera la versión estable de Canaima.
Principal
software incluido
1. Suite de oficina de Código abierto
LibreOffice
1. Procesador de textos y editor de HTML
2. Hoja de cálculo
3. Presentaciones
4. Gestión de proyectos Planner
2. Navegador Web
1. Cunaguaro (Navegador Web) Navegador basado
en Iceweasel y Adaptado especialmente para Canaima 3.0
2. Canaima Curiara (Navegador Web)] basado
en Cunaguaro para canaima GNU/Linux 3.0
3. Programas de Diseño Gráfico
1. Gimp
2. Inkscape
3. Aplicación para autoedición Scribus
4. Diseñador de Etiquetas gLabels
Actividades
comunitarias alrededor de Canaima
Una de las actividades comunitarias que ha sido generada
alrededor de Canaima es la Cayapa12 en las cuales desarrolladores de software
libre se reúnen para proponer mejoras, corregir errores y otras; esta actividad
en otros proyectos son llamadas Bugs Squash Party. La última Cayapa fue
realizada del 14 al 18 de mayo de 2012 en la ciudad de Barinas, Venezuela13.
Canaima
Educativo
Es un proyecto iniciado en el año 2009 por el gobierno de
la República Bolivariana de Venezuela que consiste en proveer a los estudiantes
de educación básica de un computador (conocidas como canaimitas) con Canaima
GNU/Linux como sistema operativo y una serie de contenidos educativos creados
por el Ministerio de Educación.14
Hasta
el año 2011 se han entregado 1.314.091 computadoras15
Virtudes
1. Fácil instalación
2. Libre distribución y utilización
3. Prácticamente libre de virus
informáticos
4. Coste nulo por pago de licencias
5. Adaptación al castellano
Desventajas
1. No está aprobada por la FSF como
distribución GNU/Linux libre: La FSF argumenta que la distribución no es 100%
Software Libre, debido a que incluye algunos componentes privativos, en
particular "drivers" o controladores necesarios para que funcionen ciertas
piezas de algunos computadores (tarjetas de video, sonido, impresoras,
escáners, etc.). Los creadores de Canaima optaron por incluir drivers
propietarios en su distribución, con el fin de hacerla compatible con la
mayoría de los computadores en uso por el Estado y facilitar la migración. Se
espera que Canaima, en sus próximas versiones, ofrezca en su instalación la
posibilidad de instalarse de forma 100% libre, e instalar los drivers
propietarios opcionalmente.
Historial
de Versiones de Canaima
Canaima es una versión que ha venido estable en el tiempo
generando versiones periódicamente a lo largo del los últimos años
Canaima
vs Windows 7
Con el reciente lanzamiento de Canaima 3.0, decidí
finalmente hacer la muy esperada, pedida y buscada comparación Canaima vs Windows.
En esta oportunidad estaré haciendo una comparación lo
más imparcial y objetiva posible, a pesar de ser yo un promotor del software
libre y desarrollador de Canaima GNU/Linux. ¿Imagínense yo acá escribiendo
mentiras, estudios poco serios y sesgados? Lo menos que van a hacer es confiar
en mi, y por ende tampoco confiarán en lo que yo predico (el uso del Software
Libre).
A lo largo del estudio, encontrarán enlaces a imágenes
que ilustran la evolución del proceso, así como también enlaces a otros contenidos
que ampliarán la información que les estoy proporcionando.
Ambiente
de Pruebas
Usaré un mismo entorno de pruebas para ambos sistemas
operativos, y empezaré desde la instalación, hasta llegar a hacer pruebas de
stress específicas. Para éste caso utilizaré un equipo de hardware reciente con
las siguientes características:
• Marca: HP Compaq dc7800p Convertible
Minitower.
• Procesador: Intel Core2 Quad CPU Q6600
@ 2.40GHz (4 Procesadores a 2.4GHz c/u).
• Memoria
RAM: DIMM DDR2 Synchronous @ 800 MHz 2GB x 2 (4GB).
• Ethernet:
82566DM-2 Gigabit Network Connection (1GB/s).
• Gráficos: GeForce 8500 GT 1GB.
• Almacenamiento: 3 Discos Duros SATAII
250GB c/u.
• Otros dispositivos: CA0106
Soundblaster (Tarjeta de Sonido PCI).
• Otros dispositivos:
SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (Tarjeta Receptora de TV PCI).
Comparaciones
de Windows 7 con Canaima
Windows
• Muy buen fondo de escritorio, bastante
agradable.
• La tarjeta de sonido no fué
reconocida.
Sin
ningún programa abierto, el consumo de memoria RAM es de unos 853MB(imagen), y
cuando abrí el Administrador de Recursos, dejó de responder por casi 1 minuto
(imagen).
Por
otro lado, el sistema recién instalado ocupa 14,47GB en disco (imagen).
Canaima GNU/Linux sí reconoció los otros sistemas
operativos presentes en otras particiones (tenía Windows, Debian y Canaima) y
me presentó un bonito menú en donde podía escoger entre ellos (imagen). Canaima
3.0 inició en 14 segundos.
• La tarjeta de sonido fué reconocida,
pero entraba en conflictos con la salida de sonido de la tarjeta capturadora de
video, lo que inhabilitaba la salida de sonido.
El
sistema sin ningún programa abierto, consume 116,4MB (imagen) de memoria RAM y
ocupa 4,21GB (imagen).
Resumen
• Canaima consume 116,4MB de Memoria
RAM, mientras que Windows 853MB, ambos sistemas recién instalados.
• Recién instalado, Canaima ocupa 4,21GB
de espacio en disco, mientras que Windows 14,47GB.
• Canaima inicia en 14 segundos,
mientras que Windows en 27 segundos.
• La instalación de Windows dura 30
minutos y reinicia la computadora 3 veces. Canaima se instala en 14 minutos sin
reinicios.
• Canaima es más eficiente manejando los
recursos del sistema (4811 puntos en el benchmark GeekBench).
• De las 30 funcionalidades en estudio,
Canaima tiene 23 de ellas. Windows tiene 20.
• Ambos sistemas operativos tuvieron
problemas reconociendo la tarjeta capturadora de video de última generación.
Conclusiones
Aunque
Canaima presentó algunos problemas para reconocer el hardware reciente (al
igual que Windows), una rápida búsqueda en google me devolvió la solución.
Si
bien Microsoft Windows 7 es un Sistema Operativo con mayor popularidad que
Canaima GNU/Linux, y que además ha conseguido a través del marketing una gran
porción del mercado de software, Canaima ha demostrado que en muy poco tiempo
ha logrado convertirse en un gran competidor para Windows.
Canaima
3.0 tiene las siguientes características:
Nuevas
aplicaciones por defecto:
• Deluge: Gestor de descargas torrent
ligero basado en Python.
• Emesene: Cliente de Mensajería
instantánea MSN basado en Python.
• Turpial: Cliente de twitter e
identi.ca basado en Python, desarrollado por comunidades venezolanas.
• Exaile: Reproductor multimedia
integral basado en Python.
• LibreOffice: Suite ofimática basada en
OpenOffice, libre de restricciones corporativas.
• Canaima Notas: Aplicación propia
desarrollada para facilitar el reporte de errores por parte de los usuarios.
Publica características de hardware en la plataforma
notas.canaima.softwarelibre.gob.ve.
• Cunaguaro: Navegador web basado en
Iceweasel, adaptado a la plataforma Canaima y con mejoras de rendimiento.
Desarrollador por comunidades venezolanas.
• Guácharo: Cliente de correo basado en
Icedove, adaptado a la plataforma Canaima. Desarrollador por comunidades
venezolanas.
• Shotwell: Visor de imágenes con
diversas funcionalidades.
• Simple Scan: Gestor de scáneres.
Otras aplicaciones:
• Canaima Desarrollador: Conjunto de
ayudantes y herramientas que asisten en el proceso de creación de software.
• Canaima Semilla: Herramienta para la
creación de ISO's basadas en sabores de Canaima.
• Canaima Contraseña: Asistente de
cambio de contraseña para los usuarios de las computadoras distribuídas por los
fabricantes (VIT, CANTV, Siragon, etre otros).
• Canaima Restaurar: Permite restaurar
el Sistema Operativo a su estado inicial de Instalación.
• Canaima Curiara: Visor HTML ligero y
de alto rendimiento basado en Python-Webkit.
Agrupación
de paquetes a través de metapaquetes temáticos (canaima-web, canaima-ofimatica,
canaima-multimedia, entre otros).
Creación de un nuevo estilo
visual:
• Nuevo tema GTK para la decoración de
las ventanas.
• Nuevo tema Metacity para los bordes de
las ventanas.
• Nuevo set de íconos basados en el tema
Faenza Dark.
• Incluídos conjunto de 11 wallpapers
hechos en comunidad.
• Nuevo gestor de inicio Plymouth, con
tema adaptado a Canaima.
• Nuevo gestor de arranque BURG, con
tema adaptado a Canaima.
Optimizaciones de rendimiento variadas:
• Implementación de demonios de
optimización de la experiencia de usuario (prelink, preload, readahead).
• Reducción de los demonios que se
activan durante el arranque del sistema.
• Reducción del factor de swappiness.
• Reducción del número de TTY's a 2.
• Implementación del parche de Lennart
Poettering.
• Añadiendo la opción de noatime a los
discos donde sea pertinente en /etc/fstab.
Generación
del sabor canaima-primera-base, que es una base mínima de canaima, destinado a
ser la fuente de los demás sabores.
Profunda
reestructuración del sistema de paquetes de canaima, basándose en la
metodología git-buildpackage para la generación de paquetes binarios a través
de paquetes fuente.
Acerca
de Canaima
El
Proyecto Canaima está compuesto por un grupo heterogéneo de participantes
provenientes de diferentes instituciones públicas y particulares, activistas
del Software Libre y ciudadanos en general. Su desarrollo es abierto y busca
sumar a la mayor cantidad posible de colaboradores y desarrolladores.
¿Por
qué se escogió Debian como distribución de origen de Canaima?
• -Debian es una metadistribución que permite ser adaptada a necesidades
propias para diseñar distribuciones específicas.
• -Posee cerca de 25 mil paquetes y
soporta más de 10 arquitecturas.
• -Cuenta con una gran comunidad de
voluntarios a nivel mundial.
• -Debian permanece 100% libre.
• -Posee un sistema de control de
calidad bastante fiable.
• -Es la metadistribución origen de
otras grandes distribuciones como ubuntu, guadalinex, knopix, entre otras.
Funcionalidad
|
Windows
|
Canaima
|
Permite escoger con cual SO se iniciará
|
No
|
Si
|
Permite publicar un tweet en Twitter
|
No
|
Si
|
Permite acceder a una página web
|
Si
|
Si
|
Permite recibir y enviar correo electrónico
|
No
|
Si
|
Permite comunicarse con mensajería instantánea
|
No
|
Si
|
Soporte a otros sistemas de archivos
|
||
Posee un asistente de bienvenida al sistema
|
Si
|
Si
|
Posee un editor de texto básico
|
Si
|
Si
|
Posee un manejador para archivos comprimidos
|
No
|
Si
|
Posee un visor de imágenes básico
|
Si
|
Si
|
Posee un editor de imágenes básico
|
Si
|
Si
|
Permite escuchar música
|
Si
|
Si
|
Permite ver videos
|
Si
|
Si
|
Posee un procesador de textos
|
No
|
Si
|
Posee un editor de hojas de cálculo
|
No
|
Si
|
Posee un editor de presentaciones
|
No
|
Si
|
Recibe actualizaciones periódicas
|
Si
|
Si
|
Permite restaurar el sistema a un punto anterior
|
Si
|
No
|
Permite modificar la barra/panel de tareas
|
No
|
Si
|
Incluye juegos
|
Si
|
No
|
Existen virus
|
Si
|
No
|
Permite instalar otros programas o aplicaciones
|
Si
|
Si
|
Existe una base de datos de aplicaciones
|
No
|
Si
|
Posee una aplicación para hacer DVD’s
|
Si
|
No
|
Posee una calculadora
|
Si
|
Si
|
Incluye un grabador de sonidos básico
|
Si
|
Si
|
Incluye herramientas de accesibilidad
|
Si
|
No
|
Posee un Monitor de Recursos
|
Si
|
Si
|
Posee un Mapa de Caracteres
|
Si
|
No
|
Posee efectos de escritorio
|
Si
|
No
|
Versión
|
Nombre
|
Fecha
|
1.0
|
Canaima
|
18-10-2007
|
2.0
|
Canaima
|
14-10-2008?
20-11-2008?
|
2.0.1 RC1
|
Canaima
|
16-04-2009
|
2.0.1
|
Canaima
|
05-05-2009?
15-05-2009?
|
2.0.2
|
Canaima
|
22-05-2009
|
2.0.3
|
Canaima
|
03-07-2009
|
2.0.4
|
Canaima
|
17-10-2009
|
2.1 RC
|
Canaima
|
21-05-2010
|
3.0 RC
|
Canaima
|
10-02-2011
|
3.0 RC2
|
Canaima
|
22-02-2011
|
3.0
|
Roraima
|
05-05-2011
|
3.1 VC1
|
auyantepui
|
29-12-2011
|
3.1 VC2
|
auyantepui
|
06-07-2012
|
3.1 VC3
|
auyantepui
|
18-07-2012
|
3.1
|
Auyantepui
|
14-11-2012
|
4.0
|
.....
|
www.cnti.gob.ve
www.onuva.com
http://canaima.softwarelibre.gob.ve/
http://www.youtube.com/watch?v=ZZSaPIbNPiY
www.onuva.com
http://canaima.softwarelibre.gob.ve/
http://www.youtube.com/watch?v=ZZSaPIbNPiY