Translate

viernes, 22 de julio de 2011

El mundo según Linux capítulo 2

Siguiendo con mi artículo anterior sobre el mundo de Linux, hoy hablaré de sus peculiaridades y diferencias más notables respecto a otros sistemas operativos comerciales.

El entorno gráfico.

Cualquier sistema operativo que pretenda ser cómodo para el usuario, necesita de una interfase gráfica que le permita interactuar visualmente con el ordenador, lo que comúnmente llamamos escritorio. En los sistemas operativos comerciales, o de código cerrado, este entorno gráfico no se puede cambiar, aunque si personalizar. Por el contrario, Linux permite, no solamente cambiar la decoración, sino el edificio entero, es decir, todo el entorno gráfico. Por supuesto. eso no limita la posibilidad de que una vez instalado un entorno, no se pueda volver a cambiar por otro, es más pueden coexistir varios entornos gráficos y elegir en cual queremos trabajar al iniciar nuestra sesión.
Existen multitud de estos entornos, desde los más complejos y parecidos a los sistemas comerciales como Gnome o KDE, hasta los más minimalistas, hechos muchas veces por los mismos usuarios. Al igual que todo Linux, estos entornos de trabajo están hechos con la misma licencia de uso, por tanto gratuitos.
Que Linux disponga de diferentes entornos gráficos, es debido a la peculiar forma que tiene de tratar dicho entorno. En Linux los gráficos funcionan de forma cliente/servidor. Linux posee un potente sistema de programas llamado X-WINDOWS. Este sistema, originalmente diseñado para UNIX por el MIT (Instituto Tecnológido de Massachusetts) ,es un interprete de eventos y comandos. Este conjunto de programas interpreta los comandos y eventos que son enviados por los diferentes gestores de ventanas. No voy ha describir las ventajas de esta forma de trabajar en profundidad, pero solo os diré que gracias a este sistema, es posible tener el gestor de ventanas o escritorio en un ordenador, y el interprete en otro. Otra ventaja muy importante se este sistema, es que Linux no necesita un entorno gráfico para trabajar, puede operar en modo de texto. De hecho, si se produjese algún problema en el entorno gráfico, el sistema no se quedaría colgado.

Las distribuciones

Se entiende por distribución Linux, un conjunto de paquetes de software confeccionado para formar un conjunto estable junto al núcleo del sistema. Estas distribuciones de Linux está mantenidas y confeccionadas por empresas dedicadas al mantenimiento o negocio con Linux, y son distribuidas de forma gratuita por las mismas. Algunos de estas distribuciones se confeccionan expresamente para aplicaciones concretas, como servidores, multimedia, uso general, etc. Se diferencian principalmente, en el modo en que se instalan en un ordenador, la arquitectura de su árbol de ficheros, el programa de instalación y mantenimiento o el entorno gráfico en el que se apoyan. Por supuesto, en la imagen corporativa, la decoración del escritorio, para entendernos.
Puede que se preguntéis como es posible que siendo Linux gratuito haya negocio tras él. Pues bien, aquí entraremos en la tercera diferencia que tiene este sistema comparado con otros.

El negocio en Linux.

Las empresas que distribuyen sus distribuciones (valga la redundancia) , se caracterizan por ser a la vez empresas dedicadas al mantenimiento y desarrollo de sistemas. Para ellos es mucho más fácil trabajar sobre una distribución que conocen bien, porque la han desarrollado, que no sobre otros sistemas. Se puede deducir con esto, que su negocio no consiste en la venta de software, y no podía ser de otra manera, pues como he dicho antes, Linux es gratuito. Para que lo entendáis de una manera llana podemos hacer un símil: Digamos que si estas empresas fuesen cantantes, no ganarían dinero haciendo un disco y sentarse a recibir el dinero de la venta , sino que se dedicarían ha hacer conciertos en directo, que por cierto, es donde uno tiene que demostrar que uno sabe.
Tenéis que comprender, que muchos de los servidores web que visitáis actualmente, están soportados y mantenidos por estas empresas, por lo que entenderéis que no estamos hablando de un negocio pequeño, sino que mueve millones de euros cada año. Un negocio que a la vez, permite que exista un colectivo de usuarios que disfrutan de forma gratuita y libre de un software de mucha calidad y robustez.; y tiene que serlo, ya que no es lo mismo un fallo en un ordenador de un usuario, que un servidor web que suministra soporte a millones de usuarios.

El sistema de archivos de Linux

Para que la información se grabe en un disco duro de forma que luego se pueda leer, es necesario un sistema de archivos. En la actualidad, Linux, en la mayor parte de sus distribuciones utiliza EXT4 (filesystem Expleined) en su versión 4. No es mi intención meteros en detalles técnicos, pero no tengo ,más remedio.
Como he dicho, para almacenar la información en el disco duro es necesario un método, un orden que facilite posteriormente el acceso a la misma. Este método sigue una serie de patrones que tiene como objetivo: por un lado hacer que el acceso a la información sea lo más rápida posible, y por otro que al acumularse la información el disco no se convierta en un caos, lo que se llama fragmentación. La fragmentación en un disco hace disminuir su rendimiento, ya que las cabezas lectoras del disco, que son algo así como la mezcla de un brazo de un tocadiscos y un cabezal de un cinta de caset, tiene que ir de un lado a otro del disco para encontrar el sitio donde se encuentran los archivos fragmentados. Actualmente, el sistema más rápido y que menos fragmenta la información, según todos los test de velocidad, es EXT4. Además de ser más rápido, la forma en que se graba la información es compatible con versiones anteriores del procedimiento, es decir, EXT3 o EXT2. Esto es una gran ventaja a la ora de migrar de un sistema a otro, sin perder datos. El sistema de archivos se crea cuando se formatea la unidad de disco. Es entonces cuando se genera la estructura que denominamos sistema de archivos.
Cuando se instala Linux, dentro del sistema de archivos se crea un sistema de directorios, carpetas, para los profanos. Existe un estándar para Linux donde todo tiene su lugar. Esta organización es original del estándar UNIX, germen de Linux, sería este:


  •   Raíz del sistema de directorios.
  • /etc  Contiene los archivos de configuración de la mayoría de los programas.
  • /home  Contiene los archivos personales de los usuarios.
  • /bin   Contiene comandos básicos y muchos programas.
  • /dev  Contiene archivos simbólicos que representan partes del hardware, discos duros, memoria, etc.
  • /mnt  Contiene subdirectorios donde se montan otras particiones de disco duro, CDROMs, etc.
  • /tmp  Ficheros temporales o de recursos de programas.
  • /usr   Programas y librerías instalados con la distribución.
  • /usr/local Programas y librerías instalados por el administrador.
  • /sbin  Comandos administrativos.
  • /lib  Librerías varias y módulos del núcleo
  • /var  Datos varios como archivos de registro de actividad (log) de programas, bases de datos, contenidos del servidor web, copias de seguridad, etc.
  • /proc Información temporal sobre los procesos del sistema.

Como veréis todos van precedidos de la barra “/”, si quisiéramos acceder a cualquiera de estos directorios bajo comando, solo tendríamos que poner cd /home, Traducido, llévame al directorio home. Si quisiéramos ver su contenido dir /home. Lo que os muestro son dos comandos básicos de Linux, pero si queréis saber más sobre estos, podéis acceder a las miles de guías que existen por internet sobre estos comandos y sus extensiones.

Y hasta aquí he llegado por hoy, el siguiente capítulo lo dejaré para mostraros como Linux gestiona los permisos de los archivos y el concepto multitarea.