Linux es realmente el componente principal del sistema operativo, es el verdadero encargado de administrar los recursos del sistema, el núcleo. Este componente se encarga de ir planificando la ejecución de las distintas tareas y les concede cierto tiempo de procesador, memoria, acceso al disco duro y otros subsistemas, etc.
A modo comparativo el kernel de Windows es kernel32.dll, pero el sistema operativo integra el Panel de Control, el bloc de notas, defragmentador, Internet Explorer, etcétera. Decir "estoy usando Linux" viene a ser lo mismo que "estoy usando kernel32.dll" en lugar de "estoy usando Windows", de ahí que los más puristas hagan hincapié en el error.
Habiendo aprendido de qué vamos a hablar ahora toca entrar en materia, ¿qué lenguaje de programación es usado en el kernel de Linux y en GNU/Linux? Vayamos por partes:
1. Kernel y drivers de dispositivos: Tanto los drivers como el kernel funcionan en un nivel realmente bajo de operaciones en el ordenador. Para escribir el kernel del sistema operativo y acceder a las propiedades del hardware tales como los ciclos de la memoria, buses de entrada/salida, etc., se necesita un lenguaje que pueda comunicarse con el hardware con potencia. El kernel Linux hace uso del lenguaje C (aunque en realidad no se trate de un lenguaje de bajo nivel) con una pequeña parte en lenguaje ensamblador.
2. Librerías y utilidades: Las librerías y utilidades básicas del sistema tales como mkdir, chmod, chown, head, tail, chroot, uptime, users también están escritas en lenguaje C.
3. Gestores de paquetes y programas de configuración: Los gestores de paquetes tales como yum, apt, dpkg, etcétera, también están escritos en C, que como veis es la estrella absoluta de los componentes "base" de un sistema GNU/Linux.
4. Entornos de Escritorio y gestores de ventanas: La mayoría de gente usa un entorno de escritorio, y es que a día de hoy poco queda sólo en interfaz de línea de comandos. Los gestores de ventanas tales como metacity, kwin están desarrollados en C y requieren gcc para ser compilados. El entorno de escritorio, iconos, ventalas, barras de herramientas, etc, están basados en librerías específicas (Qt para KDE, GTK+ para GNOME) y hacen uso del lenguaje mayoritario, C.
5. Aplicaciones gráficas de usuario: Este es el punto donde entran en juego una gran cantidad de lenguajes de programación, dado que básicamente es la capa más alta. Tenemos una gran variedad: C, Python, Java, Perl y otros. Hay librerías GTK+, Tcl/Tk, Qt que son un frontend gráfico a tareas que corren por detrás en línea de comando.
Fuente: MyComputer
- Visto: 923