Linux Ivรกn Murcia Alejandro Carpintero
Linux
Iván Murcia; Alejandro Carpintero
LINUX Introducción .............................................................................................................................................. 3 ¿Qué es Linux? ...................................................................................................................................... 3 El núcleo de Linux ................................................................................................................................. 3 Linux ......................................................................................................................................................... 3 Orígenes e historia ................................................................................................................................ 3 Actualidad............................................................................................................................................. 5 Licencia Pública General de GNU .......................................................................................................... 6 Caracteristicas de Linux ............................................................................................................................ 6 2. Características de los Sistemas Linux................................................................................................ 6 Diferencias entre Windows y Linux ........................................................................................................... 9 Distribuciones de Linux ......................................................................................................................... 9 Programas más utilizados de Linux .................................................................................................... 12 Proyectos de Linux .................................................................................................................................. 13 Linux en una arquitectura de 8 bits .................................................................................................... 13 Ubuntu 9.04 en una Kindle 2 .............................................................................................................. 13 DSLinux (no DSL, sino Linux para Nintendo DS) .................................................................................. 13 URBI: Una API para robótica 26 julio, 2010 ........................................................................................ 14
Página 2
Linux
Iván Murcia; Alejandro Carpintero
Introducción
¿Qué es Linux?
LINUX (o GNU/LINUX, más correctamente) es un Sistema Operativo como MacOS, DOS o Windows. Es decir, Linux es el software necesario para que tu ordenador te permita utilizar programas como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz gráfico al igual que Windows o MacOS, pero también puede usarse mediante línea de comandos como DOS. El núcleo de Linux Una pregunta muy común es: ¿qué es el núcleo de Linux?. La respuesta es: Linux. En las líneas anteriores ya se da una primera definición del núcleo: el kernel o núcleo, que controla el hardware. Es decir, el núcleo de Linux, simplificando, es un conjunto de drivers necesarios para usar el ordenador. Relativamente, poco hardware se escapará a un kernel actualizado.
Linux
Orígenes e historia
En 1983 Richard Stallman fundó el proyecto GNU, con el fin de crear sistemas operativos parecidos a UNIX y compatibles con POSIX. Dos años más tarde creó la "Fundación del Software Libre" y escribió la GNU General Public License para posibilitar el software libre en el sistema de copyright. El software GNU se extendía muy de prisa y dentro de poco una multitud de programas fueron escritos, de manera que ya a principios de 1990 había bastantes software GNU como para hacer un sistema operativo propio, pero faltaba el Kernel. A principios de los años 1990, no había un sistema operativo libre completo. A pesar de que el proyecto GNU era desarrollado constantemente, no disponía sin embargo de ningún buen Kernel basado en UNIX, por el contrario era un número de proyectos de software libres que podían ser traducidos en las variantes UNIX mediante el compilador de GNU.
Página 3
Linux
Iván Murcia; Alejandro Carpintero
LINUS BENEDIT TORVALD
Linus Benedit Torvalds nació en Helsinki, Finlándia, en el año de 1969. Su abuelo, matemático y estadista le compró un Comodore en 1980 y fue quien metió a Linus en el mundo de los ordenadoras. En 1988 Linus Torvalds entrá a la Universidad. Ese mismo año fue cuando el sistema operativo didáctico, basado en UNIX y creado por Andy Tannenbaum, empezó a cobrar importáncia. Dicho sistema era el Minix. Linus entró a formar parte de la comunidad de usuarios Minix. Andy Tannenbaum cometió un error en su sistema operativo. Era demasiado limitado, tanto técnicamente como politícamente, en ningún momento tuvo en cuenta la posibilidad de incluir Minix al proyecto GNU. La creación de Andy Tannenbaum estaba pensando para ser distribuida. Su primer error fue ceder todos sus derechos a Prentice Hall, que empezó a cobrar 150 dólares por licencia. Así, Linus tomó la decisión de cambiar esta política debido a que el sistema Minix era ideal para los estudiantes de sistemas operativos, y su precio era considerablemente alto. Año 1991, cuando Linus se acabó de comprar su primer 386, la intención era crear un nuevo Kernel (al que porteriormente llamaría Linux) de UNIX basado en el Kernel de Minix y modificarlo periódicamente de manera que fuera capaz de ejecutar aplicaciones GNU. La historia de Linux está fuertemente vinculada a la del proyecto GNU. Hacia 1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había producido varios de los componentes del sistema operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador, pero aún no contaba con el núcleo que permitiera complementar el sistema operativo. Entonces, el núcleo creado por Linus Torvalds, llenó el hueco final que el sistema operativo GNU exigía. Linus nunca anunció la versión 0.01 de Linux (agosto 1991), esta versión no era ejecutable, solamente incluía los principios del nucleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenía acceso a un sistema Minix para su compilación. El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, - versión 0.02. Página 4
Linux
Iván Murcia; Alejandro Carpintero
Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (Compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los terminos soporte, documentacion, distribución. Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, más programadores a lo largo y ancho del internet empezaron a trabajar en el proyecto y después de revisiones, Linus incremento el numero de version hasta la 0.95 (marzo 1992). En Diciembre de 1993 el nucleo del sistema estaba en la versión 0.99 y la versión 1.0, llego el 14 de marzo de 1994.
Actualidad Hace tiempo que se decidió poner en marcha el mantenimiento extendido de versiones del kernel, a razón de una cada año. Y este 2013 será la 3.10. “He elegido este kernel después de gastar mucho tiempo hablando sobre lanzamientos del kernel, lanzamientos de productos y calendarios de desarrollo de una gran variedad de compañías y grupos de desarrollo”, indica Kroah-Hartman. “No podía complacer a todo el mundo, pero creo que el kernel 3.10 encaja con la mayoría de grupos que se basan en las versiones del kernel a largo plazo”, concluye. Es de suponer que los lanzamientos de este año en lo que a sistemas basados en Linux se refiere -no solo distribuciones- tengan en consideración a Linux 3.10 como la versión a utilizar, aunque conviene aclarar un poco cómo va esto. Porque no lanzan una nueva versión y se olvidan de ella. De hecho, Linux 3.10, liberado el 1 de julio, tiene todavía varias actualizaciones “normales” por delante. Una forma sencilla de explicarlo sería haciendo referencia a algo más conocido, como los lanzamientos de KDE, donde la numeración comienza por la serie o rama actual, KDE 3, KDE 4; la versión mayor, KDE 4.1, KDE 4.2; versiones menores o de mantenimiento, KDE 4.1.1, KDE 4.10.5. A eso se le suma las “versiones LTS”, mantenidas principalmente por Greg Kroah-Hartman. De esta forma son muchos los “grupos” que se pueden beneficiar de lanzamientos estables. Aunque las principales distribuciones comerciales, léase Red Hat, SUSE o Ubuntu, suelen mantener sus propios núcleos.
Página 5
Linux
Iván Murcia; Alejandro Carpintero
Licencia Pública General de GNU
La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License (o simplemente sus siglas del inglés GNU GPL) es la licencia más ampliamente usada en el mundo del software y garantiza a los usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios. Esta licencia fue creada originalmente por Richard Stallman fundador de la Free Software Foundation (FSF) para el proyecto GNU (GNU project). La licencia GPL puede ser usada por cualquiera, su finalidad es proteger los derechos de los usuarios finales (usar, compartir, estudiar, modificar). Esta es la primera licencia copyleft para uso general. Copyleft significa que los trabajos derivados sólo pueden ser distribuidos bajo los términos de la misma licencia. Bajo esta filosofía, la licencia GPL garantiza a los destinatarios de un programa de ordenador los derechos-libertades reunidos en definición de software libre (free software definition) y usa copyleft para asegurar que el software está protegido cada vez que el trabajo es distribuido, modificado o ampliado. En la forma de distribución (sólo pueden ser distribuidos bajo los términos de la misma licencia) se diferencian las licencias GPL de las licencias de software libre permisivas (permissive free software licenses), de las cuales los ejemplos más conocidos son las licencias BSD (BSD licenses).
Caracteristicas de Linux
2. Características de los Sistemas Linux
Linux es un Sistema Operativo tipo Unix diseñado para aprovechar al máximo las capacidades de las computadoras PC basadas en el microprocesador i386 y posteriores. Es un SO con capacidades de multiprocesamiento, multitarea y multiusuario. Sin embargo, a diferencia de otros sistemas Unix para PC, usted no tiene que pagar cuantiosas licencias por el uso de Linux.
Página 6
Linux
Iván Murcia; Alejandro Carpintero
2.1 Multitarea
Describe la habilidad de ejecutar, aparentemente al mismo tiempo, numerosos programas sin obstaculizar la ejecución de cada aplicación. Esto se conoce como multitarea preferente, porque cada programa tiene garantizada la posibilidad de correr. Windows no soporta multitarea preferente, sólo la llamada multitarea cooperativa, bajo la cual los programas corren hasta que ellos mismos permiten la ejecución de otro programa o no tienen otra que hacer durante ese período.
2.2 Multiusuario
El concepto de que numerosos usuarios pudieran accesar aplicaciones o el potencial de procesamiento en una sola PC era un mero sueño hace unos cuantos años. Linux permite que más de una sola persona pueda trabajar en la misma versión de la misma aplicación de manera simultánea, desde las mismas terminales, o en terminales separadas.
2.3 Redes y Telecomunicaciones La superioridad de Linux sobre otros sistemas operativos es evidente en sus utilerías para redes y comunicaciones. Ningún otro sistema operativo incluye capacidades para red tan estrechamente acopladas. Linux soporta las siguientes interfaces de red: ethernet, fddi, token ring, arcnet, X.25, ISDN, líneas seriales síncronas y asíncronas.
2.4 Internet Con Linux usted puede conectarse a Internet y al vasto mundo de información que esta red abarca. Correo Electrónico, Listas de Correo, Grupos de Interés, Búsqueda y Transferencia de Archivos, Gopher, WAIS, y por supuesto, World Wide Web.
2.5 Interconectividad Usted puede conectar Linux a una red local, y convertirlo en servidor para MS-DOS, Windows, Windows para Trabajo en Grupo (WfW), Windows 95 y Macintosh por un costo muy por debajo de otros sistemas comerciales.
Página 7
Linux
Iván Murcia; Alejandro Carpintero
2.6 Programación Linux cuenta con un conjunto poderoso de herramientas para el desarrollo de programas: C, C++, ObjectiveC, Pascal, Fortran, BASIC, CLISP, SmallTalk, Ada, Perl, así como depuradores y bibliotecas compartidas de enlace dinámico (DLL).
2.7 Portabilidad
Linux fue diseñado teniendo en cuenta la portabilidad de las aplicaciones. Linux es compatible con diversos estándares Unix, tales como System V, BSD y los estándares internacionales IEEE POSIX.1 e IEEE POSIX.2, facilitando el desarrollo de aplicaciones para múltiples plataformas.
2.8 Ambiente Gráfico
Linux proporciona la capacidad de ejecutar aplicaciones gráficas mediante una red heterogénea al incorporar la revisión 6 del estándar X11 del MIT, conocido también simplemente como X-Window. Con el hardware adecuado, las Estaciones de Trabajo Linux son una alternativa de bajo costo a las Estaciones de Trabajo de alto rendimiento.
2.9 Poder RISC
Si su organización necesita verdadero poder de cómputo Linux corre en computadoras basadas en microprocesadores RISC como Alpha AXP, Sparc, PowerPC y MIPS. ¡Ningún otro sistema operativo soporta una gama tan amplia de plataformas.
Página 8
Linux
Iván Murcia; Alejandro Carpintero
Diferencias entre Windows y Linux Linux a diferencia de Windows, es multitarea real, y multiusuario, posee un esquema de seguridad basado en usuarios y permisos de lectura, escritura y ejecución establecidos a los archivos y directorios. Esto significa que cada usuario es propietario de sus archivos, y otro usuario no puede acceder a estos archivos. Esta propiedad no permite el contagio de virus entre archivos de diferentes usuarios. Una diferencia, quizás la más importante de todas, con respecto a cualquier sistema operativo comercial, es el hecho de que es software libre, qué quiere decir esto? que junto con el sistema, se puede obtener el código fuente de cualquier parte del mismo y modificarlo a gusto. Esto da varias ventajas, por ejemplo: 1. La seguridad de saber qué hace un programa tan solo viendo el código fuente, o en su defecto, tener la seguridad que al estar el código disponible, nadie va a agregar «características ocultas» en los programas que distribuye. 2. La libertad que provee la licencia GPL permite a cualquier programador modificar y mejorar cualquier parte del sistema, ésto da como resultado que la calidad del software incluido en GNU/Linux sea muy buena. 3. El hecho de que el sistema sea mantenido por una gran comunidad de programadores y usuarios alrededor del mundo, provee una gran velocidad de respuesta ante errores de programas que se van descubriendo, que ninguna compañía comercial de software puede igualar. Además de las ventajas anteriormente enumeradas, GNU/Linux es ideal para su utilización en un ambiente de trabajo, dos razones justifican ésto: 1. Al ser software libre, no existe el costo de las licencias, y una copia del sistema GNU/Linux puede instalarse en tantas computadoras como se necesite. 2. Existen utilidades para el trabajo en oficina, que son compatibles con las herramientas de la serie MS-Office.
Distribuciones de Linux
Linux es un sistema de libre distribución por lo que se puede encontrar todos los ficheros y programas necesarios para su funcionamiento en multitud de servidores conectados a Internet. La tarea de reunir todos los ficheros y programas necesarios, así como instalarlos en tu sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para nuestro beneficio y comodidad.
Página 9
Linux
Iván Murcia; Alejandro Carpintero
Una distribución no es una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a través de Internet, o comprando los CDs de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones, vía FTP (sin cargo alguno). Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones a unos precios bastantes asequibles (si se compran los CDs, en vez de bajársela vía FTP), las cuales se deberían poder encontrar en tiendas de informática ó librerías. En el peor de los casos siempre pueden encargarse directamente por Internet a las empresas y organizaciones que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna distribución. A continuación se expone información sobre las distribuciones más importantes de Linux (aunque no las únicas).
UBUNTU: Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.
REDHAT ENTERPRISE: Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
FEDORA: Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Fácil de instalar y buena calidad.
DEBIAN: Otra distribución con muy buena calidad. El proceso de instalación es quizás un poco más complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances.
Página 10
Linux
Iván Murcia; Alejandro Carpintero
OpenSuSE: Otra de las grandes. Fácil de instalar. Versión libre de la distribución comercial SuSE.
SuSE LINUX ENTERPRISE: Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
SLACKWARE: Esta distribución es de las primeras que existió. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribución instalada en su ordenador en algún momento.
GENTOO: Esta distribución es una de las únicas que incorporaron un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podéis optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribución sin una buena conexión a internet, un ordenador medianamente potente (si queréis terminar de compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.
KUBUNTU: Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.
MANDRIVA. Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.
Página 11
Linux
Iván Murcia; Alejandro Carpintero
Programas más utilizados de Linux
Gimp Gimp es un programa de edición de imágenes equivalente a Photoshop. Con Gimp podremos editar retocar cualquier imagen o fotografía obteniendo unos magníficos resultados. Además Gimp posee la posibilidad de usar macros y de instalar extensiones adicionales para incrementar aún más sus funcionalidades.
Dropbox Todo el mundo conoce a Dropbox. El Uso principal que le doy a dropbox es mantener la información que considero esencial sincronizada en la totalidad de mis ordenadores. También a veces es útil en el caso de tener que transferir algún archivo de gran tamaño. En este caso el elegido es Dropbox por ser multiplataforma y también porque es la plataforma que te permite disponer de mayor espacio si tienes una cuenta gratuita. Actualmente dispongo de una cuenta de 19.4Gb. Existen otras opciones equivalentes a Dropbox. Algunas de ellas son Ubuntu One, Minus, o Gdrive que es un cliente de escritorio para gestionar el contenido de google Drive.
Jdownloader Magnífico gestor de descargas multiplataforma del que nos podremos descargar contenido de archivos alojados en servidores tipo rapidshsare, freakshare, etc. El único inconveniente que encuentro al programa es que no es lo ligero que cabria esperar y consume mucha RAM. Si lo que están buscando es un gestor de descargas ligero Tucan es una muy buena opción. Tucan es muy ligero pero como contrapartida soporta menos tipos de servidor.
Audicity Software muy potente para la grabación, edición de audio, conversión entre formatos de audio, edición de pistas múltiples agregar efectos de sonido, etc. Con este software por ejemplo podemos quitar ruidos de fondo de nuestras grabaciones, etc.
Página 12
Linux
Iván Murcia; Alejandro Carpintero
Spotify A estas alturas prácticamente todo el mundo conoce el reproductor de música en streaming Spotify. Con el cliente de spotify para linux dispondremos de una colección muy extensa de música para poder escuchar en streaming y con una calidad de sonido excelente. Una alternativa a la misma altura que Spotify e incluso con un colección de contenido más extensa es Groveeshark.
Proyectos de Linux
Linux en una arquitectura de 8 bits
Es uno de los proyectos más monstruosos que se hicieron con Linux. Fue contra todo lo que se pensaba de Linux hasta ahora. Generalmente en los foros, cuando se pregunta qué requerimientos en hardware tiene Linux, responden que necesita un procesador de 32 bits, una MMU y al menos 1MB de RAM (estamos hablando del kernel no de un SO) El autor programó un emulador para que corra sobre la plataforma de 8bits sin MMU, y que emule una PC con la arquitectura indicada arriba. Luego instaló una distribución Linux (sin entorno gráfico) en una tarjeta SD. Tardó de 2 a 4hs en llegar a la pantalla de login Ubuntu 9.04 en una Kindle 2
Esta noticia es del 2009. Desde el modo debug activó la conexión a la red, de ese modo podría tener acceso desde una PC.
DSLinux (no DSL, sino Linux para Nintendo DS)
El proyecto portó Linux a la consola Nintendo DS y a la Nintendo DS Lite. Puede funcionar en modelos nuevos (DSi y 3DS) en modo compatibilidad. Puede correrse en un emulador, como desmume y ya tiene varios programas
Página 13
Linux
Iván Murcia; Alejandro Carpintero
URBI: Una API para robótica 26 julio, 2010
Urbi es una librería de C++ de codigo abierto creada por la compañía Gostai para la programación de robots. Esta librería llamada UObject es una API estándar para robots que define motores, sensores y algoritmos. Junto con UObject se proporciona urbiscript que es un lenguaje de scripting que nos permite realizar rutinas de alto nivel para definir el comportamiento de un robot utilizando los componentes del mismo.. Lo más interesante como se puede apreciar en la demostración es la capacidad que nos da el API para hacer tareas en paralelo.
Página 14