Mostrando entradas con la etiqueta kernel. Mostrar todas las entradas
Mostrando entradas con la etiqueta kernel. Mostrar todas las entradas

miércoles, 6 de marzo de 2013

Terminología básica que ayuda a no sentirse un tonto en un foro de Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Ya hemos visto que, dado que el ordenador es nuestra herramienta principal, conocer al menos de oídas algunas expresiones nos puede ayudar a entender explicaciones futuras, o incluso a resolver problemas. Antes de entrar a decidir qué distribución Linux elegir también estimo necesario tener claros algunos términos que le son más propios. Nos ayudará a comprender de que hablan esos listillos que pululan por la red, impartiendo lecciones a diestro y siniestro, creyendo que se les entiende todo pero que, en mucho casos, solo contribuyen a que la confusión inicial se incremente e incluso ahuyente cualquier atisbo de curiosidad que uno pudiera sentir sobre Linux. Y lo digo por propia experiencia, lo foros de ayuda están atiborrados de gente así. Conociendo lo que viene a continuación usted podrá transitar por esos foros con algo más de seguridad.

LiveCD
Es una distribución (esto ya sabemos lo que es, ¿verdad?) almacenada en un CD o un DVD, ejecutable desde ese medio sin necesidad de instalar ni modificar nada en su equipo. Así, se puede trastear y navegar y probar cuanto haga falta (a una menor velocidad; recordemos que el acceso a las unidades de CD/DVD es más lento que a un disco duro) para, en caso de gustar y no encontrar conflicto alguno de hardware, optar por instalarla directamente. O si no, volver a probarla en otro momento. Para esto último basta con salir y apagar o reiniciar el equipo y extraer el disco del lector. Las cosas en su ordenador volverán a estar igual que antes, sin riesgo alguno para la integridad de sus archivos. Hay que destacar que se puede trasladar un LiveCD a un pendrive; determinándolo como unidad de arranque en el menú del BIOS del PC (al cual accedemos pulsando F11 en cuanto empieza el proceso de arranque) el ordenador inicializará el SO que encuentre en dicho pendrive para que, eso mismo, podamos trastear y explorar cuanto nos venga en gana. En resumen, una gran opción si queremos ojear de primera mano de qué va esto de los sistemas Linux sin compromiso ni riesgo alguno.

X-Window System
Es un software que proporciona una interfaz gráfica a los sistemas UNIX, como es el caso de Linux.

GDM (GNOME Display Manager)
Es un gestor de acceso al X-Window System basado en GNOME, materializado en una pantalla que le pedirá al usuario su nombre y contraseña (introducidos durante el proceso de instalación si así lo ha dispuesto) cada vez que quiera iniciar una sesión.

GNOME
Entorno de escritorio para sistemas tipo UNIX, usado para Ubuntu entre otras distribuciones. Me van a perdonar si hago mucho hincapié en Ubuntu y derivados pero es la distribución que manejo desde el principio y la que mas conozco.

Entorno de escritorio
Conjunto de características gráficas que definen el aspecto de un sistema operativo tipo Windows o Mac: colores, forma, disposición y apariencia de las ventanas y menús, tipografías y efectos varios (fundidos, desplazamientos, apariencia 3D, cortinillas...) y, en fin, esas cositas que hacen chulo y atractivo un SO. Es posible instalar diferentes entornos de escritorio para una sola distribución y después elegir la que más nos guste.

Unity
Entorno de escritorio implementado para Ubuntu en sustitución de GNOME y que no ha parado de cosechar críticas desde su aparición por los elevados recursos que consume. Por suerte, la opción de seguir usando GNOME sigue estando ahí.

Cinnamon
Entorno de escritorio propio de la distribución Linux Mint y que también se puede instalar en otras distros. En mi Ubuntu sustituí Unity por Cinnamon y todo fueron mejoras.

KDM
Es un gestor de escritorio para sistemas tipo UNIX, basado en KDE.

KDE
Entorno de escritorio para sistemas tipo UNIX, el más implantado en Linux junto con GNOME, usado en la distribución Kubuntu entre otras.

Xfce
Entorno de escritorio para sistemas tipo UNIX más ligero y pensado para máquinas menos potentes y usado en, por ejemplo, la distribución Xubuntu.

LXDE (Lightweight X11 Display Environment, Entorno de escritorio X11 ligero)
Entorno de escritorio para sistemas tipo UNIX aún más ligero, pensado para máquinas poco potentes, antiguas y netbooks, conocido por estar presente en la distribución Lubuntu.

Grub
Software que habilita un menú que le permite un arranque dual, esto es, elegir sistema operativo con que arrancar el ordenador en caso de que haya instalado una distro Linux teniendo ya Windows preinstalado. Muy útil para quien quiera empezar a valorar alternativas a SO de Microsoft.

Shell
Es el intérprete de comandos (órdenes, instrucciones), un interfaz (medio gráfico a través del cual el usuario se comunica con su ordenador) que nos permite introducirlos para generar una respuesta por parte del ordenador. Quienes se acuerden de MS-DOS sabrán que se entraba directamente a la shell al carecer este sistema de entorno gráfico. Es, en suma, cualquier intérprete que un usuario emplee para escribir comandos. En Linux hay diferentes tipos de shell en función de la sintaxis de redacción de los comandos, como bash, ash, csh o tsch.

Bash
Es un tipo de shell, la más común en sistemas Linux. Un software que interpreta los comandos desde la ventana shell. ¿Una equivalencia a modo de ejemplo? Shell es a los coches lo que Bash es a Seat, ash a Renault o csh a Peugeot.

Terminal o consola
Herramienta presente en el entorno gráfico de todas las distribuciones mediante la cual se nos da acceso a la ventana de shell.

Init
En sistemas UNIX, es el primer proceso en ejecución tras la carga del kernel, y que a su vez genera todos los demás procesos.

Kernel
Es el software principal que conforma un sistema operativo. Es el núcleo del sistema, el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o, en forma básica, el encargado de gestionar recursos a través de servicios de llamada al sistema (confieso que aún no se muy bien qué significa esto último).

Compiz
Gestor de ventanas para el X-Window System que proporciona una serie de efectos de visualización dentro del entorno de escritorio.

Repositorio
Los repositorios son contenedores de software del que se nutren las distribuciones GNU/Linux y están alojados en un servidor. De ahí uno se baja cualquier programa que en ellos se encuentre almacenado, y hay repositorios oficiales, la mayoría, y otros que no lo son. Desde el escritorio de Ubuntu, por ejemplo, se accede a ellos a través de una utilidad llamada Synaptic.

Superusuario o usuario root
Los sistemas basados en UNIX están concebidos para ser multiusuario y multitarea, por lo que existen restricciones de acceso a según qué usuarios, a según qué partes del sistema y para según que procesos. Para tener pleno acceso y control a cualquier punto del sistema hay que entrar en modo superusuario o modo root, eso sí, siendo consciente de que una gamba metida como root puede echar abajo todo el cotarro. De ahí que en Ubuntu venga deshabilitado por defecto y que para hacerlo efectivo haya que introducir el comando sudo delante de cada comando que uno quiera emplear, lo que puede resultar bastante coñazo.

Máquina virtual
Programa que le permite instalar otro sistema operativo dentro del que ya tiene instalado (el más común es VirtualBox) y que funciona como una aplicación más. Por ejemplo, puede instalar Windows virtualizado dentro de su distribución GNU/Linux favorita en esos molestos casos en que un periférico concreto (impresora, escáner, webcam...) sea indetectable por carecer de drivers para Linux, pero sí los tenga para Windows. Por supuesto, desde ese Windows virtualizado puede usted instalar Office, Photoshop o lo que le venga en gana. También funciona a la inversa, Windows como sistema anfitrión y un Linux virtualizado.

Por supuesto, Wikipedia y otras páginas están a su entera disposición para ampliar lo que yo les vengo contando.

Y con esto creo que ya pueden ir haciéndose una idea de lo que vendrá mas adelante. Bueno, en realidad no, el aprendizaje será lento, tanto como las imágenes en slow motion del siguiente vídeo:


sábado, 2 de marzo de 2013

Una breve historia del origen de Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

La primera vez que me interesé por Linux lo que quise saber es qué era exactamente Linux. Porque parece simple, pero no lo es tanto. Quien venga de Windows pensará que es un sistema operativo rival sin más, pero la realidad no es tan sencilla. Qué más quisieramos.

Para empezar diré que no existe ningún sistema operativo (SO) llamado Linux. No, lo que existe es GNU/Linux, pero popularmente se le conoce como Linux a secas. ¿Qué es, pues, GNU/Linux?

Puestos así tendría que remontarme varias décadas atrás para explicar el nacimiento de UNIX, el verdadero gérmen de Linux. Prefiero remitirme a la Wikipedia para tal fin, sinceramente. Solo diré que UNIX es un SO nacido en los años 60 del siglo XX, complejo y de difícil manejo pero demostradamente estable. Posteriores aportaciones de diferentes personajes a lo largo del tiempo dieron lugar a Minix, un SO clónico de UNIX con propósitos educativos.

Minix fue el sistema que un joven finlandés llamado Linus Torvalds utilizó  a comienzos de los años 90 para crear el núcleo central de Linux, lo que se denomina el kernel. El kernel es el software principal que conforma un SO, el núcleo del sistema, principal responsable de facilitar  a los distintos programas un acceso seguro al hardware (memorias, discos duros, ratón, tarjeta gráfica, procesador, impresora...) del ordenador. Y es software UNIX.

Pero un kernel no es por sí solo un SO, igual que el motor de un coche no es por sí solo un coche. Necesita herramientas y accesorios que, en este caso, le proporcionó un proyecto de software libre llamado GNU impulsado por Richard Stallman. GNU necesitaba un kernel y Linus Torvalds necesitaba un conjunto de aplicaciones que complementaran el kernel que ya tenía escrito. De esa colaboración nació, allá por 1992, GNU/Linux, aunque hoy día a estos sistemas se les conoce simplemente como Linux, mal que le pese (que le pesa) a Stallman. Pero el término correcto es GNU/Linux.

Ya que lo hemos mencionado, aclaremos qué es eso de software libre. Es un software (un programa informático creado con un objetivo específico) ideado bajo la condición de la libre modificación y distribución entre usuarios, esto es, todo aquel con los conocimientos precisos de programación puede modificar un sistema Linux y distribuirlo a su antojo y a coste cero, algo impensable con Windows o Mac OS. En 1989 se publica la primera licencia GPL (General Public License) cuyo principal objetivo es la libre distribución, manipulación y uso del software, con la prioridad de protegerlo de intentos de apropiación. Ello no significa que no haya sistemas Linux privativos (o sea, no libres) o aplicaciones Linux igualmente propietarias, pero por lo general son la excepción. Por ejemplo, la distribución RedHat comenzó bajo el paradigma del software libre, pero su comunidad creció tanto que sus creadores se vieron obligados a implementar un soporte técnico permanente para asistir a los usuarios y garantizar unos mínimos de calidad. Y ese servicio había que pagarlo.

Ya ven que con cada párrafo aparece un nuevo término que hay que abordar para que lo neófitos no empiecen a torcer el gesto. ¿Qué es la comunidad? ¿Qué es una distribución? ¿Queda claro qué es software libre y software privativo o propietario? Pero no quiero agobiar en esta primera entrada con demasiada información. En la próxima, más.