Qué es GNU/Linux
GNU/Linux es, a simple vista, un Sistema Operativo. Es una implementación de libre distribución UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores i486, Pentium, Pentium Pro y Pentium II, así como los clones AMD y Cyrix. También soporta máquinas basadas en SPARC, DEC Alpha, PowerPC/PowerMac, y Mac/Amiga Motorola 680x0.
Como sistema operativo, GNU/Linux es muy eficiente y tiene un excelente diseño. Es multitarea, multiusuario, multiplataforma y multiprocesador; en las plataformas Intel corre en modo protegido; protege la memoria para que un programa no pueda hacer caer al resto del sistema; carga sólo las partes de un programa que se usan; comparte la memoria entre programas aumentando la velocidad y disminuyendo el uso de memoria; usa un sistema de memoria virtual por páginas; utiliza toda la memoria libre para cache; permite usar bibliotecas enlazadas tanto estática como dinámicamente; se distribuye con código fuente; usa hasta 64 consolas virtuales; tiene un sistema de archivos avanzado pero puede usar los de los otros sistemas; y soporta redes tanto en TCP/IP como en otros protocolos.
El movimiento al rededor de GNU/Linux
Más allá de todas estas notables características técnicas, GNU/Linux es mucho más que lo dicho anteriormente. Lo que hace realmente único a GNU/Linux entre otros sistemas operativos es que conlleva una idea del modo en que debería desarrollarse el software.
Los componentes de un sistema GNU/Linux no están en el dominio público, ni son shareware. Son lo que se llama "software libre". Esto significa que el código fuente está disponible a todo el que lo quiera y siempre lo estará. El software libre puede ser vendido o regalado, a discreción de todo aquel que posea una copia, pero a todo aquel que lo distribuye se le obliga a distribuirlo con el código fuente. Todo esto esta reglamentado por la Licencia Pública General GNU (GPL). Esta licencia se encarga de que GNU/Linux permanezca siempre libre.
Linux sigue con el modelo de "desarrollo abierto". Se desarrolla por un grupo no estructurado de programadores de todo el mundo unidos a través de la Internet. Todas las nuevas versiones se liberan al público, se consideren o no con "calidad de producción". El método que se sigue para determinar si se tiene una versión estable o no es el siguiente: Las versiones se numeran como x.y.z; aquellas con y par son versiones estables; aquellas con y impar son versiones de desarrollo. Por ejemplo, la versión 1.2.13 es estable; la 2.1.44 es de desarrollo. La última versión estable es la 2.2.10. Sin embargo, este modelo de desarrollo abierto mantiene siempre la última versión disponible, y las nuevas versiones se liberan cada pocas semanas. En ocasiones las funciones nuevas contienen errores, pero con cientos de personas en Internet probando y leyendo el código fuente suelen corregirse en cuestión de horas.
Todo esto resulta en un sistema de alta calidad tecnológica, con menos errores que los sistemas comerciales, a un costo cero o muy bajo y con la disponibilidad del código fuente que permite aprender, modificar o ayudar al desarrollo del sistema.
Historia de Linux, GNU y el software libre
En 1971, cuando Richard Stallman empezó su carrera en el MIT, el trabajaba en un grupo que usaba exclusivamente software libre. Hasta las grandes compañías distribuían software libre. Los programadores tenían la libertad de cooperar entre ellos y usualmente la ejercían.
Hacia la década del 80, la mayoría del software se había vuelto propietario, o sea, tenía dueños que prohibían y evitaban la cooperación entre los usuarios. Esto hizo que en 1983, Richard Stallman concibiera la Free Software Foundation (Fundación software libre, FSF) y en ésta el proyecto GNU como una forma de recuperar el espíritu cooperativo de los primeros días de la computación, y posibilitar nuevamente la cooperación sacando los obstáculos impuestos por los dueños del software propietario.
El proyecto GNU consiste en el desarrollo de un sistema operativo y juego de aplicaciones totalmente libre y compatible con UNIX. El proyecto incluye desarrollar una versión libre de cualquier aplicación que no se disponga libre. De esta forma, una computadora puede estar equipada con 100software libre y cumplir cualquier función; esto incluye el sistema operativo y todos los programas que uno necesite para cualquier función. Ya que sin un sistema operativo no puede usarse una computadora, se tomó esto como punto de partida para el proyecto GNU.
En 1990, se habían encontrado o escrito la mayoría de los componentes mayores del sistema operativo excepto uno: el kernel o núcleo. Para ese entonces, Linux comenzó como proyecto personal del entonces estudiante Linus Torvalds, que se basó en el Minix de Andy Tanenbaum (profesor que creó su propio clon de UNIX para PC-XT para usarlo en su docencia). Combinando Linux con el resto del sistema GNU se llego a la meta inicial de un sistema operativo libre: El sistema GNU basado en Linux. Se estima que hoy hay millones de usuarios de GNU/Linux (ver http://counter.li.org).
Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde un gigantesco grupo de programadores y usuarios aportan su tiempo y ayuda, tanto al núcleo Linux como al resto de las aplicaciones. La FSF continúa con el proyecto GNU desarrollando otras aplicaciones que todavía no tienen su versión libre.
¿Qué hardware se necesita para correr GNU/Linux?
Debido a su eficiente aprovechamiento de recursos, GNU/Linux tiene requisitos de hardware mínimos muy bajos: Una configuración mínima puede ser una 386 SX/16 con 1MB de RAM, y una diskettera (más teclado, placa de vídeo, monitor, etc.). Esto es suficiente para arrancar y entrar al sistema.
Para tener un sistema con todos los comandos importantes y una o dos aplicaciones pequeñas se requieren alrededor de 10 MB de disco duro.
Para un sistema más completo, se aconsejan 4 MB de memoria, u 8 si se piensa utilizar una interfaz gráfica. Si se vana tener muchos usuarios y/o muchos procesos a la vez, serían aconsejable hasta 16 MB. 32 MB es más que suficiente para cargas pesadas a un máximo rendimiento. En lo que respecta a disco duro, depende de las aplicaciones que se instalen, se va desde los 10 MB básicos hasta los 350 MB de una distribución instalado con varias aplicaciones (incluye compiladores, paquetes de oficina, interfaz gráfica, etc.). Obviamente, un procesador más veloz siempre será ventajoso. El coprocesador matemático nuca es requisito, pero acelera aquellas aplicaciones de calculo de punto flotante intensivo.
GNU/Linux frente a los otros sistemas operativos
GNU/Linux es una muy buena alternativa frente a los demás sistemas operativos. Más allá de las ventajas evidentes de costo, ofrece algunas características muy notables.
En comparación con las otras versiones de Unix para PC, la velocidad y confiabilidad de GNU/Linux son muy superiores. También está en ventaja sobre la disponibilidad de aplicaciones, ya que no hay mucha difusión de estos otros Unixes (como Solaris, XENIX o SCO) entre los usuarios de PC por sus altos costos.
Comparado con sistemas operativos como los diferentes Microsoft Windows, GNU/Linux también sale ganando. Los bajos requisitos de hardware permiten hacer un sistema potente y útil de aquel 486 que algunos guardan en un armario. Esta misma característica permite aprovechar al máximo las capacidades de las computadoras más modernas. Es poco práctico tener una PC con 16 Mb de RAM y ponerle un sistema operativo que ocupa 13 (que es lo que reporta sobre Windows 95 el System Information de Symantec). No solo es superior respecto a el sistema de multitarea y de administración de memoria, sino también en la capacidades de networking (conectividad a redes) y de multiusuario (aún comparando con sistemas multiusuario como NT). La única desventaja de GNU/Linux frente a estos sistemas, es la menor disponibilidad de software, pero este problema disminuye con cada nuevo programa que se escribe para el proyecto GNU, y con algunas empresas que están desarrollando software comercial para GNU/Linux.
Los falsos mitos sobre GNU/Linux
Hay varios falsos mitos circulando acerca de GNU/Linux y el software libre en general. Usualmente son emitidos como antipropaganda por parte de las empresas perjudicadas por la competencia (táctica llamada FUD), o como prejuicios de gente que en realidad no conoce del tema del que habla. Es muy fácil probar la falsedad de los siguientes mitos:
"GNU/Linux es difícil de usar". En los primeros momentos de GNU/Linux esto era cierto, pero el esfuerzo que se ha dedicado a este tema ha llevado a GNU/Linux a tener interfaces gráficas tanto o más intuitivas que las disponibles en sistemas comerciales. Los procedimientos de instalación también se han vuelto simples gracias a las "distribuciones", paquetes prearmados de GNU/Linux y otras aplicaciones con programas de instalación y soporte.
"GNU/Linux es poco confiable". Los defensores de este argumento dicen que el desarrollo descentralizado impide el control de calidad y las garantías del software no libre. Los hechos han demostrado precisamente lo contrario: las mediciones reportan que los sistemas GNU son más confiables que todos los sistemas operativos más conocidos. El modelo abierto de desarrollo permite que miles de personas efectúen el control de calidad y corrección de errores a la vez; la Internet permite que esas correcciones alcances los usuarios en tiempos fuera de alcance para una empresa cerrada.
"GNU/Linux no es apto para trabajos grandes" o "GNU/Linux es un clon de UNIX recortado para correr en una PC". Una vez más, los hechos desmienten esto. Las características tecnológicas superiores de GNU/Linux y la alta confiabilidad mencionada antes han llevado a GNU/Linux a ser la elección de entidades que requieren sistemas críticos para una misión (ver http://wauug.erols.com/mclinux/). Estos usuarios han probado que un sistema GNU/Linux bien mantenido puede funcionar mas de 600 días sin caerse ni rearrancarse. GNU/Linux no es un UNIX recortado: Tiene todas las características de un UNIX moderno y evoluciona paralelamente a los últimos desarrollos de la industria del software. Además, no sólo corre en la PC, sino en muchas otras plataformas importantes.
"Es necesario saber programar para usar GNU/Linux" o "GNU/Linux es un sistema solo para programadores". A pesar de que muchos usuarios de GNU/Linux son programadores interesados en desarrollar software para GNU/Linux o Unix en general, muchos no lo son, al igual que con cualquier otro sistema operativo. Este argumento es tan fundado como decir que para ver televisión es necesario saber electrónica.
"Linux es inseguro". Estrictamente hablando, Linux es un kernel, y un kernel de sistema operativo es inherentemente seguro por no poseer comunicación con el exterior. Las fallas de seguridad vienen a través de programas que proveen servicios de soporte, usualmente de red. Los programas de este tipo (ftp, telnet, servidores de web) que viene en un sistema GNU/Linux, no son software de Linux, sino software de UNIX. Por lo tanto GNU/Linux es tan seguro como otros sistemas UNIX. La seguridad es tomada en serio por la comunidad GNU/Linux. Cuando surgen alertas de problemas de seguridad, las reparaciones suelen hacerse en pocas horas gracias al modelo abierto.
Varios otros argumentos se dan contra el software libre. Las mejores respuestas al respecto las da Richard Stallman en el manifiesto GNU.
Quien usa Linux?
Linux está disponible gratuitamente, y a nadie se le pide que registre sus copias ante ninguna autoridad, por lo tanto es difícil conocer cuánta gente usa Linux. Diversos negocios están actualmente dedicados únicamente a la venta y soporte de Linux, y muy pocos usuarios de Linux usan estos servicios, hablando relativamente, y los grupos de noticias de Linux son de los más leídos en Internet, por ello el número estará situado sobre varios centenares o miles, los grandes números son difíciles de averiguar. De todas formas, un alma brava, Harald T. Alvestrand, ha decidido intentarlo y te pide que si usas Linux le envíes un mensaje con uno de los siguientes subjects a linux-counter@uninett.no: "I use Linux at home" (uso Linux en casa), "I use Linux at work" (uso Linux en el trabajo) o "I use Linux at home and at work" (uso Linux en casa y en el trabajo). También está contando votos del tipo "I don't use Linux" (no uso Linux) por alguna razón. El manda sus cuentas a comp.os.linux.misc
Una lista incompleta de Programas Portados y Otro Software
La mayor parte de las herramientas comunes de Unix y programas han sido portados a Linux, incluyendo casi todo el material de GNU y muchos clientes X de varias fuentes. Portar es una palabra un poco fuerte ya que muchas aplicaciones compilan sin ninguna modificación o sólo con unas pocas ya que Linux se ajusta a POSIX casi totalmente. Desafortunadamente, no hay muchas aplicaciones para usuarios finales por el momento, pero esto ha empezado ya a cambiar. Aquí hay una lista incompleta de software que se sabe que corre bajo Linux.
- Comandos básicos Unix :
-
ls
, tr
, sed
, awk
y más (cualquiera que se te ocurra, Linux probablemente lo tiene).
- Herramientas de desarrollo:
-
gcc
, gdb
, make
, bison
, flex
, perl
, rcs
, cvs
, prof
.
- Lenguajes and Entornos:
-
C, C++, Objective C, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp y muchos más.
- Entornos gráficos:
-
X11R5 (XFree86 2.x), X11R6 (XFree863.x), MGR.
- Editores:
-
GNU Emacs, XEmacs, MicroEmacs, jove
, ez, epoch
, elvis
(GNU vi), vim
, vile
, joe
, pico
, jed
y más.
- Shells:
-
bash
(POSIX sh-compatible), zsh
(incluye modo de compatibilidad con ksh
), pdksh
, tcsh
, csh
, rc
, es
, ash
(casi completamente sh-compatible shell usada como /bin/sh
por BSD) y muchas más.
- Telecomunicaciones:
-
Taylor (BNU-compatible) UUCP, SLIP, CSLIP, PPP, kermit
, szrz
, minicom
, pcomm
, xcomm
, term
(ejecuta multiples shells, redirecciona la actividad de la red y permite X remoto, todo sobre una línea de modem), Seyon (popular programa de comunicaciones bajo X) y diversos paquetes de fax y correo de voz (usando ZyXEL y otros modems) están disponibles. Por supuesto, los logins remotos vía línea serie son soportados.
- News y correo electrónico:
-
C-news, innd
, trn
, nn
, tin
, smail
, elm
, mh
, pine
, etc.
- Procesamiento de textos:
-
TeX, groff
, doc
, ez
, Linuxdoc-SGML, and others.
- Juegos:
-
Nethack, varios Muds y juegos de X, y muchos más. Uno de esos juegos consiste en buscar por tsx-11 y sunsite para buscar los juegos disponibles.
- Suites:
-
AUIS, el Andrew User Interface System. ez es parte de este suite.
Todos estos programas (y esto no es ni una centésima parte de los disponible) son gratuitos. El software comercial está empezando a surgir, pregunta al distribuidor de tu programa favorito si está disponible para Linux.
Ventajas de Linux
- Linux es básicamente un duplicado de UNIX, lo que significa que incorpora muchas de las ventajas de este importante sistema operativo.
- En Linux pueden correr varios procesos a la vez de forma ininterrumpida como un servidor de red al tiempo que un procesador de textos, una animación, copia de archivos o revisar el correo electrónico.
- Seguridad porque es un sistema operacional diseñado con la idea de Cliente - Servidor con permisos de acceso y ejecución a cada usuario. Esto quiere decir que varios usuarios pueden utilizar una misma maquina al tiempo sin interferir en cada proceso.
- Linux es software libre, casi gratuito. Linux es popular entre programadores y desarrolladores e implica un espíritu de colaboración.
- Linux integra una implementación completa de los diferentes protocolos y estándares de red, con los que se puede conectar fácilmente a Internet y acceder a todo tipo de información disponible.
- Su filosofía y sus programas están dictados por el movimiento ``Open Source'' que ha venido crecido en los últimos años y ha adquirido el suficiente fortaleza para hacer frente a los gigantes de la industria del software.
- Linux puede ser utilizado como una estación personal pero también como un potente servidor de red.
- Linux incorpora una gama de sistemas de interfaz gráfica (ventanas) de igual o mejor calidad que otras ofrecidas en muchos paquetes comerciales.
- Posee el apoyo de miles de programadores a nivel mundial.
- El paquete incluye el código fuente, lo que permite modificarlo de acuerdo a las necesidades del usuario.
- Utiliza varios formatos de archivo que son compatibles con casi todos los sistemas operacionales utilizados en la actualidad.
Desventajas de Linux
- Linux no cuenta con una empresa que lo respalde, por lo que no existe un verdadero soporte como el de otros sistemas operativos.
- La pendiente de aprendizaje es lenta.
- No es tan fácil de usar como otros sistemas operativos, aunque actualmente algunas distribuciones están mejorando su facilidad de uso, gracias al entorno de ventanas, sus escritorios y las aplicaciones diseñadas específicamente para él, cada día resulta más sencillo su integración y uso.
- Documentación y terminología muy técnica.
- Para usuarios corrientes, todavía no es un sistema de escritorio.
- Funciona únicamente con proveedores de hardware que accedieron a la licencia GPL y en algunas instancias no es compatible con variedad de modelos y marcas.
- Requiere consulta, lectura e investigación en lista, foros o en bibliografía dedicada al tema.
- La configuración de dispositivos de entrada y salida no es trivial.
- Muy sensible al hardware.
- Muchas distribuciones e idiomas.
- Hay que leer y entender código