¿En qué podemos ayudarte?
Componentes primordiales de GNU/Linux
Un sistema operativo GNU/Linux suele presentarse en diversas distribuciones pero en general se conforma principalmente por el kernel de Linux más un conjunto de programas y herramientas para el manejo de archivos, administración de usuarios y gestores de paquetes, entre otros.
Los componentes primordiales para una distribución de Linux son:
- El kernel de Linux.
-
- Del alemán que significa núcleo y su nombre es Linux. Es la parte fundamental del sistema operativo, desarrollado por Linus Tovals.
- Puede administrar todos los dispositivos, brindar una interfaz de usuario y contiener la lista de todos los dispositivos conectados.
- Un sistema operativo con núcleo monolítico, concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo. Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor.
- El hecho de que Linux no fuera desarrollado siguiendo el diseño de un micronúcleo (diseño que, en aquella época, era considerado el más apropiado para un núcleo por muchos teóricos informáticos) fue asunto de una famosa y acalorada discusión entre Linus Torvalds y Andy Tanenbaum.
- A diferencia de los núcleos monolíticos tradicionales, los micronúcleos tienen la cualidad de que pueden carga los controladores y extensiones al núcleo de forma más sencilla, sin importar que el sistema esté funcionando.
- Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0, con acceso no restringido al hardware, aunque algunos se ejecutan en espacio de usuario. A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para mejorar el soporte de Multiprocesamiento Simétrico.
- Aplicaciones libres genéricas, como son LibreOffice, Inkscape, X Windows System, Gimp.
- Las aplicaciones libres se reconocen por conocer el código fuente y que puedes modificar y adaptar conforme a las licencias LGPL y GPL.
- Aplicaciones propietarias, controladores para tarjetas gráficas Nvidia o ATI, maltego, Opera Web Browser.
- Es todo programa al cual no se tiene acceso al código fuente pues respeta la licencia de derecho intelectual del autor.
- Soporte a servicios para uso comercial, comunidad, domestico, empresarial, entre otros.
- Ya que el uso de GNU/Linux es muy amplio por su cantidad de programas, existen fallos por el mal uso del equipo y se puede resolver contratando una empresa dedicada a soporte del sistema operativo o en su defecto la gran comunidad puede ayudar usando foros.
- Manuales de programas, de instrucciones, de configuración, de desarrollo, por mencionar algunos.
- Todos los programas que se pueden instalar en una distribución son agregados con manuales que ayudan a su uso adecuado y una gran cantidad de información de configuraciones disponible por las paginas oficiales de las distribuciones y foros de la comunidad.
- Gestores de paquetes dedicados a cada distribución de Linux, entre ellas utilerías de configuración por mencionar algunas (yum, apt, zypper).
- Los gestores de paquetes se encargan de integrar al equipo el software necesario para el usuario, pues se dedican a actualizar sus repositorios (paginas web donde pueden descargar los paquetes), descargar los paquetes (conjunto de archivos que además de tener programas también contienen manuales, archivos de configuración para el gestor y dependencias) e integrar sus dependencias (son conjunto de programas u otros paquetes necesarios para el óptimo funcionamiento del paquete de interés).
-
También existe un estándar para la ubicación de carpetas conocido como árbol de directorios, es de importancia puesto que ayuda para la compatibilidad entre distribuciones.
Directorio | Descripción o archivos almacenados |
---|---|
/ | Raíz. |
/boot | Información del arranque. |
/dev | Dispositivos. |
/bin | Programas de uso común los puede usar todo el mundo. |
/sbin | Comandos de uso restringidos. |
/lib | Bibliotecas «dll», bibliotecas del sistema para las aplicaciones. |
/lib/modules | Drivers, directorios que tiene números y versiones de kernel. |
/usr | Todos los archivos de solo lectura y relativos a las utilidades de usuario. |
/usr/bin | Aplicaciones de uso común. |
/usr/games | Juegos. |
/usr/include | Contiene las cabeceras de C y C++. |
/usr/lib | Contiene las bibliotecas de nuestros programas. |
/usr/sbin | Aplicaciones de uso restringido. |
/usr/share | Contiene archivos los archivos de datos independientes de la arquitectura, de solo lectura. |
/usr/src | Contiene los códigos fuente de nuestros programas. |
/etc | Configuración de todo el sistema. |
/var | Variables, datos variables del sistema. |
/var/log | Importante para los Sysadmin pues muestra usuarios , etc., son notificaciones. |
/var/cache | Contiene los archivos destinado a los datos en caché de las aplicaciones. |
/var/apt | Aplicaciones que se instalan en el sistema. |
/home | Almacena los directorios personales de los usuarios del sistema. |
/root | Administrador del sistema. |
/tmp | Temporales, se guardan archivos para uso rápido y descartar, se borra al reiniciar. |
/proc | Procesos. |
/sys | Tareas de procesamiento de memoria. |
/mnt | Punto de montaje externo del sistema. |
/media | Punto de montaje externo del sistema. |
Se puede encontrar diversas distribuciones de Linux en el mercado, cada una dirigida a un mercado diferente y por ello integran diversos paquetes dedicados a las más distintas tareas.