Artículo BIT
El sistema operativo LINUX: libre y gratuíto
¿Qué es...? El sistema operativo LINUX: libre y gratuíto -------------------------------------------------------------------------------- Posiblemente Linux sea uno de los mejores y más potentes sistemas operativos que hay, con la particularidad de que es gratis y se puede copiar libremente sin incurrir en responsabilidades legales, por lo que constituye una seria alternativa frente a otros sistemas operativos Linux es clónico de Unix (con 30 años ya de historia) que funciona en múltiples plataformas y, así, existen versiones de Linux para PC, Macintosh, Amiga, Sparc, Alpha, PowerPC, etc. Su creador es el finlandés Linus B. Torvalds que, en 1991, en la Universidad de Helsinki, comenzó a programar un núcleo (o kernel) de un sistema operativo basado en Minix (otro clónico de Unix, creado por Andy Tanenbaum), con el objetivo de obtener un sistema operativo que funcionase en ordenadores basados en procesadores Intel 386 o superiores y que fuera completamente libre para que cualquier usuario pudiera adquirirlo y usarlo. En 1994 la versión 1.0 del kernel Linux vio la luz, en septiembre de 1999 la versión alcanza la 2.3, y los desarrollos continúan, contando con más de 10 millones de usuarios. Prueba del éxito de Linux es el número de fabricantes que lo están adoptando, entre otros IBM, HP, Oracle, Informix, Corel, Sun, Dell, Netscape, Intel, Silicon Graphics o Computer Associates que están comercializando sus servidores, estaciones de trabajo y equipos de sobremesa con alguna de las versiones de Linux; portan sus aplicaciones a Linux, proporcionan algunos servicios o invierten en empresas relacionadas con ese entorno. La mascota oficial de Linux es el Pingüino Linux, elegida especialmente por Linus Torvalds para representar el sistema operativo abierto que había creado. ¿Qué es LiNUX ? Se puede decir, con ciertos matices, que Linux es un Unix para procesadores de Intel, los más extendidos entre los PC y que está probando ser una alternativa viable para Windows NT. Cuando se dice que es un ordenador con sistema operativo Linux se están considerando varias cosas: por un lado el kernel (esto es, el Linux propiamente dicho), programas del sistema (típicamente software GNU) y, casi siempre, un sistema de ventanas X.11. Estos tres componentes son lo suficientemente diferentes como para estar cubiertos por licencias distintas, aunque todas ellas comparten más o menos el concepto del software libre que se encuentra en el origen del sistema operativo Unix. Linux está registrado bajo la licencia GPL (GNU Public License) que otorga el derecho a utilizar el software y a distribuirlo a cualquier persona junto con su código fuente; por tanto, es posible modificarlo para añadirle mejoras, siempre que la distribución se realice bajo la licencia GPL. En la actualidad, Linus Torvalds continua con el desarrollo de Linux, pero el autor principal es un gran grupo de programadores (posiblemente más de 1000) que ha contribuido para su desarrollo en Internet. El Proyecto GNU comenzó en 1984 para desarrollar un sistema operativo tipo Unix completo y libre: El sistema GNU. Variantes del sistema GNU, utilizando Linux como kernel, se usan ampliamente y, aunque frecuentemente se llaman "Linux", más exactamente habría que llamarlas sistemas GNU/Linux. La gran mayoría de los programas comerciales sigue el modelo centralizado y cerrado donde sólo hay un equipo trabajando en el mismo proyecto, y no se comercializa una nueva versión hasta que esté totalmente probada y libre de errores, una situación que da lugar a largos periodos de tiempo entre versiones. Casi siempre, la última versión de este tipo de software es de mejor calidad para el público, pero la velocidad de desarrollo es lenta. Por el contrario, el desarrollo de Linux sigue un modelo abierto y distribuido, lo que significa que la versión está actualmente en desarrollo y siempre está disponible para que, el que lo desee, pueda usarla. Presenta el riesgo de que en cuanto se añada una nueva funcionalidad y se obtenga una nueva versión, ésta tendrá errores, pero con la ventaja de que serán detectados y corregidos rápidamente ya que hay mucha gente que permanentemente trabaja en ello. Características de Linux Destaca que es un sistema basado en texto, sobre el cual se dan las siguientes características: es multiusuario, es decir que pueden estar trabajando varias personas al mismo tiempo, ya sea localmente o en forma remota, además es multitarea puesto que las personas que se conecten pueden trabajar o correr varias aplicaciones al mismo tiempo y, por supuesto, es multiplataforma y multiprocesador ya que corre sobre varias de ellas. Linux es absolutamente compatible con Unix ya que cualquier programa escrito para SCO, Solaris, HP-UX, Unixware, puede ser compilado en Linux, además de encontrarnos con ambientes totalmente idénticos a cualquier Unix comercial. Corre sobre arquitectura x86 de Intel, lo que es lo mismo que decir que corre en cualquier ordenador personal, llevando de esta forma la potencia de Unix y el entorno real multiusuario a la plataforma de ordenadores mas extendida en el mundo en la actualidad (386, 486 y Pentium); también, existen versiones para Alpha, ARM, MIPS, SPARC, PowerPC/Macintosh, etc. Linux viene cargado con muchos lenguajes y utilidades para desarrollar aplicaciones Java, C, C++, Pascal, Perl, etc., los cuales incluyen cientos de librerías, compiladores y código fuente para facilitar el desarrollo de programas, y lo mejor de todo es que mientras para tener, por ejemplo, en Windows estos programas hay que pagar miles de pesetas, aquí es completamente gratis. Si se desea un sistema completamente estable, Linux es una muy buena opción ya que el servidor Linux que tiene el récord actual es de casi 500 días sin caerse. Esto es un tremendo cambio si se compara con los servidores Windows NT que suelen tener varias caídas al mes. Esto no quiere decir que Linux no tenga problemas o bugs, pero cuando se encuentra uno el parche para solucionarlo suele estar disponible, en muchos casos, antes de 24 horas. Como se ha mencionado, Linux es un sistema operativo de 32 bit, multiusuario y multitarea, es decir, asigna un espacio de trabajo a cada usuario, independientemente de los programas que esté ejecutando y aprovecha al máximo la capacidad del ordenador. Información completa y respuesta a las preguntas y problemas mas comunes que un principiante se hace antes de instalar y al empezar a trabajar con Linux (FAQs) se encuentra en http://linux-es.uio.no/Faq/, un sitio muy interesante para visitar, con información en castellano. Destacan, entre otras muchas, las siguientes características: 1. Proporciona protección de memoria entre procesos, de manera que, si un proceso se vuelve inestable, no afecta a todo el sistema. 2. Memoria unificada para los programas de usuario y el caché de disco. 3. Carga de ejecutables por demanda. Permite leer y cargar en memoria únicamente las partes que se utilizan de un programa y no su totalidad. 4. Maneja memoria virtual usando paginación a disco. Por tanto, no se transfieren todos los procesos al disco, sino sólo los necesarios. 5. El código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y los programas de usuario. 6. Emulación del 387 (coprocesador) en el núcleo, de manera que los programas no tengan que hacer su propia emulación matemática. 7. Soporta múltiples consolas virtuales permitiendo diferentes sesiones, hasta un máximo de 64, que se crean dinámicamente. 8. Acceso transparente a particiones MS-DOS mediante un sistema de archivos especial, sin requerir ningún comando específico para ello. 9. Esta dotado de un sistema de archivos especial llamado «UMSDOS» que permite que Linux sea instalado en un sistema de archivos DOS. 10. Diversos protocolos de comunicaciones incluidos en el kernel, entre ellos TCP/IP, SLIP, X.25 y es válido para FTP, Telnet, NFS, etc. Existen varias distribuciones (un paquete que incluye un núcleo de Linux, las utilidades básicas y una serie de programas), que pueden bajarse de la Red vía FTP o pedirse en CD-ROM a muy bajo coste, siendo las más conocidas las siguientes: Caldera, Debian, Red Hat, Slackware, y SuSE. La distribución más conocida de todas es la de Slackware, por ser la primera, aunque las más recomendadas son Red Hat y Debian debido a que ofrecen un amplio y variado conjunto de utilidades adicionales. Linux nació como la idea de una persona pero se desarrolló gracias a la colaboración de millares de voluntarios a través de Internet, el mejor sitio para informarse de todo lo relativo a él . Podemos encontrar listas de software, empresas que comercian con Linux y manuales y libros de todas clases, tanto genéricos como específicos. Linux se construye por un equipo de desarrolladores independientes de todas partes del mundo que intercambian su información a través de la red Internet y en lo que se refiere al núcleo central del Sistema Operativo, el kernel, se encuentra coordinado por Linus Torvalds. Por estas razones la licencia de Linux se acoge a la Licencia Publica General (GPL) y de la Fundación de Software Libre (FSF), lo cual permite que el código fuente de sus programas no pueda ser propiedad de ningún particular y pueden ser modificados siempre que se haga publico el nuevo código. Linux fue construido en Internet, es decir que desde el inicio tuvo capacidades de red. Por ser un clónico de Unix tiene todos los elementos y programas necesarios para comunicarse entre cliente-servidor, interactuando con otros sistemas operativos. Existen unas suites similares a Office 97, que tienen la ventaja de ser gratis para uso personal y un costo muy bajo para uso comercial, facilitando el intercambio de información por medio de filtros de los programas mas utilizados, entre los cuales destacan el de poder manejar los creados o editados en MS Office 95 y 97. Elementos de Linux El kernel El kernel (núcleo en castellano), aunque posee un conjunto muy limitado de comandos (por ejemplo es incapaz de mostrar el contenido de un directorio), hace un trabajo realmente complicado, pues gestiona absolutamente todo el hardware de la máquina: desde el teclado hasta los servicios de red TCP/IP. Linus Torvalds quería saber como funcionaba un 386, a la vez que intentaba desarrollar un Unix. En un momento dado decidió buscar y aparecieron miles de voluntarios, dispuestos a invertir parte de su tiempo en sacar el proyecto adelante. Ahora mismo colaboran en él compañías tan importantes como Sun, Compaq o Silicon Graphics, aunque sea de modo parcial. Pero, a pesar de la colaboración de grandes firmas el proyecto sigue siendo totalmente abierto y mucho más que gratuito, pues Linux decidió ir un paso mas allá del espíritu GNU: la licencia del kernel especifica que las fuentes serán públicas en todo momento y que está prohibido hacer dinero con él; como todo el software, el libre también viene con licencia, aunque ésta sea muy diferente a la habitual. Y, en contra de lo que pudiera parecer, proliferan (la mayoría en Estados Unidos) las empresas que se dedican a este negocio, ya que aunque no se pueda vender el sistema operativo si se pueda cobrar por servicios de instalación, documentación, consultoría o desarrollo de software. El software GNU El proyecto GNU nació en 1984 impulsado por Richard Stallman con la idea de llegar a ser algo parecido a lo que hoy es Linux: un sistema Unix totalmente público y gratuito. Se había desarrollado todo lo necesario, pero faltaba un componente, el más complicado de todos: el kernel. En ese sentido, si no hubiera sido por la iniciativa de Linus Torvalds, es posible que el proyecto GNU no se hubiera completado o hubiera tardado bastante más tiempo, debido a la forma muy diferente de trabajo de ambos grupos. Pero el Linux nunca habría llegado a ser lo que ahora es si no hubiera contado desde sus comienzos con todo un conjunto de utilidades indispensables en un sistema Unix, las cuales ya había desarrollado el proyecto GNU, y eran públicas. Mucha gente prefiere hablar de GNU/Linux, puesto que eliminando cualquiera de los componentes nos quedamos sin sistema operativo. En términos de licencias, el proyecto GNU inventó algo llamado copy-left (por oposicion al copy-right) que viene a decir que las fuentes son modificables y redistribuibles, con o sin beneficio económico pero que en ningún momento, por muchas modificaciones que se realicen, pueden quedar ocultas. Se puede vender software desarrollado a partir del de GNU (incluso sin modificar), pero se está obligado a suministrar el código fuente a partir del cual se ha compilado el producto. El sistema X windows (X11) El protocolo X-windows fue desarrollado a mediados de los años 80 como respuesta a la necesidad de un interfaz gráfico transparente, independiente de la plataforma, sobre todo para sistemas Unix. Actualmente, un sistema operativo no vale para nada si no dispone de ventanas y dispositivos apuntadores (típicamente ratones). Para eso sirve el X11 (el 11 es el número de la versión) que fue desarrollado en el Xerox Palo Alto Research Center en California con las aportaciones del Massachusets Institute of Technology. A pesar de lo que pueda parecer, el X11 no es, ni nunca ha pretendido ser, un sistema de ventanas. El X11 es en realidad un protocolo de comunicación diseñado pensando en sistemas de ventanas (podríamos decir que sus objetos son las ventanas), pero es incapaz de manejar las ventanas propiamente dichas, lo que se hace con el Windows Manager, un programa cliente que le dice al servidor donde colocarlas. X-windows es el encargado de visualizar la información de manera gráfica y es totalmente independiente del sistema operativo (Unix y Linux pueden trabajar en modo texto). La gran diferencia entre X-windows y el interfaz gráfico de otros sistemas operativos es que X-windows distribuye el procesamiento de aplicaciones, especificando un enlace cliente-servidor. El cliente X especificará "Que hacer" al servidor X, que se encargara de "Como se hace". -------------------------------------------------------------------------------- José Manuel Huidobro Ingeniero Superior de Telecomunicación Responsable de Business Analysys en Ericsson España [email protected]
30 oct 2015