Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

¿En qué lenguajes está programado GNU/Linux?

Leemos en MuyComputer que el sistema operativo GNU/Linux -a menudo denominado tan sólo como Linux, que es el nombre del núcleo del SO- hace uso de un buen número de lenguajes de programación en sus distintos componentes. ¿Cuáles son esos lenguajes? Cada tipo de recurso parece tener ciertas preferencias, y es que hay lenguajes más adecuados para unas cosas. Obviamente el lenguaje de programación C sigue siendo la base, pero hay mucho más implicados.

Para comenzar es conveniente aclarar el apartado de la nomenclatura que muchos medios utilizan (y utilizamos, probablemente por comodidad) a la hora de hablar de este sistema operativo. Linux es realmente es kernel del sistema operativo GNU/Linux, del cual existen literalmente cientos de versiones en forma de distribuciones, cada una con un kernel Linux y una serie de componentes adicionales que las caracterizan.

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.

Advertencia, desplázate para continuar leyendo

39 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Microsoft ha anunciado la publicación de .NET 7, la nueva versión de su archiconcido framework con el que se pueden hacer aplicaciones que abarcan...

Actualidad

systemd 252 fue publicado el día de Halloween con una serie de novedades importantes. Este componente, que es definido como init, un gestor de...

Actualidad

Sony sorprendió a propios y extraños cuando anunció que estaba trabajando en un driver oficial para el DualSense, el controlador de PlaySation 5, con...

Actualidad

Linux es un proyecto gigantesco con aproximadamente treinta millones de líneas de código si es que no tiene más, así que su desarrollo y...