El desarrollo del kernel del Linux, que es el corazón del
sistema operativo, está en constante desarrollo y se encuentra
soportado por una multitud de programadores comunicados a través
de Internet bajo la coordinación de Linus Torvald; sin embargo,
como el mismo lo reconoce, las versiones actuales de kernel,
sólo tienen de un 5 a 10 por ciento de su propiedad. Esto
garantiza que el futuro del Linux no dependa de una sola
persona, sino más bien de un grupo abierto de desarrolladores a
nivel mundial.
De la misma manera que el Unix,
el Linux se puede
dividir generalmente en cuatro componentes principales: el
núcleo(kernel), el shell, el sistema de
archivos y las utilidades. El núcleo es el programa medular que
ejecuta programas y gestiona dispositivos de hardware tales como
los discos y las
impresoras. El
shell proporciona una interfaz para el usuario. Recibe órdenes del usuario y las
envía al núcleo para ser ejecutadas. El sistema de
archivos, organiza la forma en que se almacenan los archivos en
dispositivos de almacenamiento
tales como los discos. Los archivos están organizados en
directorios. Cada directorio puede contener un número cualquiera
de subdirectorios, cada uno de los cuales puede a su vez,
contener otros archivos.
El núcleo, el shell y el
sistema de archivos forman en conjunto la
estructura
básica del sistema operativo. Con
estos tres elementos puede ejecutar programas, gestionar
archivos e interactuar con el sistema. Además, Linux cuenta con
unos programas de software llamados utilidades que han pasado a
ser considerados como características estándar del sistema. Las
utilidades son programas especializados, tales como editores,
compiladores y programas de
comunicaciones, que
realizan
operaciones de
computación estándar.
Incluso uno mismo puede crear sus propias utilidades
Linux contiene un
gran número de utilidades. Algunas efectúan operaciones
sencillas: otras son programas complejos con sus propios juegos
de órdenes. Para empezar, muchas utilidades de pueden clasificar
en tres amplias categorías: editores, filtros y programas de
comunicaciones. También hay utilidades que efectúan operaciones
con archivos y administración de programas.
Como una alternativa a la interfaz de la línea de ordenes, Linux proporciona
una interfaz gráfica de usuario (GUI) llamada X-Windows que
cuenta con varios administradores de ventana que puede utilizar.
Un administrador de ventana trabaja de forma muy parecida a los
GUI de Windows y del
Mac, posee ventanas iconos y menús, todos ellos gestionados por
medio del ratón.
Dos de los administradores de programas más populares son el
Free Virtual Window Manager y el Open Look Window Managger,
además de los administradores de ventanas X-Windows también
utiliza un administrador de archivos y uno de programas.
El sistema de
archivos de Linux
organiza los archivos en directorios, de forma similar al DOS.
Todo el sistema
de archivos de Linux
es un gran conjunto interconectado de directorios que están
organizado en una
estructura jerárquica de árbol.
Linux posee un
gran número de utilidades que se pueden clasificar en tres
categorías: editores, filtros y programas de comunicaciones. Y a
diferencia de otros sistemas operativos se distribuye de forma
gratuita bajo una licencia publica de GNU de la Free Software
Foundation (Fundación de programas libres) lo que básicamente
significa que puede ser copiado libremente, cambiado y
distribuido dejando siempre disponible el código fuente.
El software de Linux
es frecuentemente desarrollado por varios usuarios que deciden
trabajar conjuntamente en un proyecto. Una vez que se ha
completado se instala en una localización ftp de Internet.
Cualquier usuario de
Linux puede acceder a la localización y descargar el
software.
El shell proporciona una interfaz
entre el núcleo y el usuario. Se puede describir como un
intérprete: interpreta las órdenes que introduce el usuario y
las envía al núcleo. La interfaz del shell es muy
sencilla. Normalmente consiste en un inductor desde el que se
teclea una orden y después se pulsa enter. En cierta forma, se
está tecleando una orden en una línea. A menudo, esta línea se
conoce como la línea de órdenes.
Como una alternativa a la interfaz de la línea de órdenes, Linux proporciona
una interfaz gráfica de usuario(GUI) llamada X-Windows, que
cuenta con varios administradores de ventanas que puede
utilizar. Dos de los administradores de ventanas más populares
son el Free Virtual Window Manager (fvwm) y el Open Look Window
Manager (olwm).
Aunque un administrador de ventanas constituye una interfaz
flexible y vistosa, hay que tener presente que tan solo es un
añadido al shell. El administrador de ventanas simplemente le
pasa al shell las órdenes que recibe, éste las interpreta y las
envía de nuevo al núcleo, para ser ejecutadas.
A lo largo de los años se han hido desarrollando varios tipos de
diferentes de shell. En la actualidad, hay tres shells
principales: Bourne, Korn y C-shell. El shell Bourne fue
desarrollado en el
Laboratorio Bell para
el sistemaV. El C-shell fue desarrollado para la versión BSD del Unix. El
shell Korn es una mejora y ampliación del shell Bourne. Linux usa
versiones mejoradas o de
dominio público de
estos shells: el shell Bourne Again, el TC-shell y el shell
Korn. Una ves que inicie su sistema Linux, se
encontrará en el shell Bourne Again; donde se podrá acceder a
los demás.