# Índice de la Charla - Filosofía Te lo montas tu... Es importante conocer las partes de un SO de Linux. - Partes de un SO: - Kernel (linux, linux-zen) - Coreutils (GNU Core utils, uutils) - Bootloader (grub, systemd-boot, limine) - Init System (systemd, runit, openrc, dinit) - Network Manager (NetworkManager, iwd) - Administrador de Paquetes (pacman) - Repositorios (core, extra, kde-testing, custom) - AUR (como un pseudo-repositorio alternativo) - GUI - DE - GNOME / KDE - WM(xorg): - i3 - xmonad - Compositor(wayland): - sway - Hyprland - Niri - Display Manager - GDM / SSDM - lidm - Notif daemon, sudo, etc - Mencion de la wiki - Forks de Arch (artix, black arch, alarm, cachyos, nyarch) - Instalación (que es el iso) ::: note
NOTE
boot loaderque se encarga de arrancar un SO al encender el ordenador. También pueden ser
boot managers, que además ofrecen menús y opciones para configurar que SO arrancar si hay varios o incluso con que opciones. - Cuando linux arranca, aunque tenga programas instalados, alguien tiene que decidir que ejecutar y que no, no tiene sentido que se ejecute
mkdiral arrancar. A esto se le llama el
init, que es el programa que se ejecuta al arrancar y se encarga de arrancar los
serviciosen su orden correcto, como configurar el teclado, arrancar el
daemonde red, etc, y mostrarnos nuestra interfaz de usuario cuando todo esté listo. Dejar
daemonun poco en el aire y desarrollarlo en NetworkManager como ejemplo. ::: ::: note
NOTE
todo en uno, pero hay paquetes para cosas mas pequeñas,
iwdcon
wpa_supplicantpara configurar wifi solo, etc. Incluso combinaciones, hacer que
NetworkManageruse solo
iwdpara configurar el wifi, o que use
dnsmasqpara
cachede DNS, etc. ::: --- # Filosofía > Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes. > Arch strives to keep its packages as close to the original upstream software as possible. > —
solo funciona, pero arch te obliga a entender como funciona tu ordenador. Como estudiantes de informática y teleco estudiamos sobre los ordenadores, y usar una distribución como arch es una manera muy buena de probar cosas nuevas y aprender por el camino como funciona uno. # Partes de un SO ## Kernel El kernel es la parte más baja y central de un sitema operativo. Se encarga de manjear los procesos y ofrecerles servicios para reservar memoria, trabajar con un sistema de archivos, abstraer los periféricos con una interfaz común, etc. Arch soporta oficialmente linux, pero tecnicamente podrías instalar cualquier implementación similar a linux. Existen incluso varias versiones de linux con distintas modificaciones. Las más conocidas son `linux-lts`, `linux-zen` o `linux-hardened`. Pero CachyOS también ofrece sus propios
mix.
boot loaderque se encarga de cargar el kernel y ejecutarlo adecuadamente al arrancar el ordenador. Además, muchos de estos
bootloadersofrecen menus antes de arrancar el kernel para seleccionar el sistema en casos de multiboot o configurar las opciones con las que arranca ell kernel. En este caso se les considera un
boot manager. ## Init System Una vez el kernel arranca, este tiene programas instalados y esta listo para ofrecer sus servicios, pero no puede ejecutar cualquier cosa como `mkdir`. Entones se usa un init system, que consiste simplemente en el primer programa que linux ejecuta al arrancar el ordenador (por defecto se busca en `/sbin/init`). El trabajo de un init system completo es el de iniciar todas las partes del sistema adecuadas, llamadas
servicios. Estos servicios pueden ser programas simples que configuren el teclado, o programas que se mantienen activos de fondo, como el
daemonde red. El orden también es muy importante, la interfaz gráfica también se considera un servicio que solo se puede ejecutar cuando el resto de servicios previos han terminado de ejecutarse adecuadamente. No tiene mostrar la interfaz de inicio de sesión si el teclado no está preparado. ##
*Daemons*de red Un daemon es simplemente un programa que se mantiene ejecutando de fondo, normalmente manejados por el init system como un servicio. El ejemplo más claro son los *daemons* de red, estos procesos se mantienen activos de fondo buscando las redes disponibles y decidiendo constantemente si deben conectarse, desconectarse, o que hacer.