You are on page 1of 2

Arquitectura de GNU/Linux

Hoy hablaremos de algunos aspectos a tener en cuenta para entender cmo se organiza un sistema
operativo en general, y en particular, nuestro GNU/Linux.
l sistema operativo es, en s!, una inter"az de so"t#are $ue nos permite a nosotros, como humanos,
interactuar con los dispositivos de hard#are.
sta inter"az est% dividida en varias capas, cada una de las cuales tendr% una "uncionalidad
espec!"ica.
&nalicemos el siguiente diagrama'
l hard#are, como se ve, se encuentra en el centro de la "igura, y tenemos varias (capas( de
so"t#are $ue lo envuelven, siendo el operador externo $uien interact)a, desde a"uera, con todo el
es$uema.
l hard#are es el con*unto de dispositivos "!sicos del ordenador, ll%mese memoria ram,
almacenamiento secundario, discos, ssd, microprocesadores, puertos de comunicacin, etc.
El kernel Linux
+or su parte, el ,ernel del sistema es una capa de so"t#are $ue recubre al hard#are, y $ue contiene
muchas utilidades incorporadas. +rimero y principal, el ,ernel se comunica con el hard#are por
medio de controladores de dispositivos, o drivers. stos controladores son programados por los
propios "abricantes de los dispositivos, o, en su de"ecto, por programadores de Linux $ue realizan
ingenier!a inversa sobre dirvers privativos -como ser el caso de noveau para nvidia..
l ,ernel tambi/n brinda otras utilidades, $ue podr!an, a groso modo, englobarse en los siguientes
%reas'
&dministracin de memoria virtual
&dministracin de procesos
&dministracin de ntrada/0alida
&dministracin de red
1on estas caracter!sticas, nuestro ,ernel podr% plani"icar procesos en el proceasdor, gestionar
recursos de almacenamiento principal, como ser memoria 2&3, y espacio de intercambio -s#ap., y
gestionar las peticiones de entrada/salida con cual$uier dispositivo e inter"az de red.
El sistema operativo GNU
Una capa externa al ,ernel es la del propio sistema operativo, y sus aplicaciones. l sistema
operativo se compone, entre otras cosas, de utilidades como editores de texto -vi/vim, macs,
nano, ...., compiladores -G11., int/rprete de scripts -4ash, sh, rsh, python, ...., entre otras.
l sistema operativo es el encargado de brindar soporte a aplicaciones de usuario, mediante
int/rpretes de rdenes, como ser una shell de l!nea de comandos, o un entorno gr%"ico, ya sea un
entorno de escritorio completo, o simples administradores de ventanas.
La interfaz de llamadas al sistema
xiste un elemento intermedio entre el ,ernel Linux y el sistema GNU, $ue no "igura en la gr%"ica,
y $ue se denomina 5nter"az de llamadas al sistema, o (syscall(. sta inter"az, conocida como
+6057.8, provee al sistema operativo un &+5, o inter"az de programacin de aplicaciones, $ue no es
otra cosa $ue una serie de "unciones del ,ernel $ue pueden ser accedidas desde el sistema operativo
mediante llamadas. &s! es como el sistema operativo puede comunicarse con el ,ernel, enviarle
instrucciones, y recibir resultados.
La shell de usuario
0e unen, ba*o el concepto de shell de usuario, las aplicaciones de usuario comunes, como pa$uetes
de o"imatica, navegadores #eb, etc.
&$u! tenemos dos tipos de aplicaciones, a$uellas $ue corren por l!nea de comandos, como los
comandos comunes de linux, y la mayor parte de los servicios, y aplicaciones gr%"icas, $ue corren
sobre terminales gr%"icas montadas en un servidor gr%"ico llamado 0ervidor 7.
&s!, toda aplicacin $ue estemos e*ecutando, correr% en una terminal, ya sea de texto, o gr%"ica.