Visión general de un sistema GNU/Linux

GNU/Linux permite tener hasta 10 niveles de ejecución (runlevels) distintos, 0-9, pero normalmente solo algunos de estos niveles están definidos por defecto. El nivel de ejecución 0 se define como “sistema detenido (system halt)”. El nivel de ejecución 1 se define como “modo de usuario individual (single user mode)”. El nivel de ejecución 6 se define como “reinicio del sistema (system reboot)”. Los niveles de ejecución restantes dependen de como la distribución particular de GNU/Linux los haya definido, y varían significativamente entre distribuciones. Observando el contenido del archivo /etc/inittab podemos hacernos una idea de los niveles de ejecución preestablecidos en nuestro sistema y de como se encuentran definidos.

En el funcionamiento normal, init se asegura de que getty se encuentre trabajando para permitir que los demás usuarios puedan iniciar sesión, y también se encarga de adoptar procesos huérfanos (aquellos cuyo proceso padre murió; en UNIX todos los procesos deben estar en un árbol individual, y por esta razón los procesos huérfanos deben ser adoptados).

Al cerrar el sistema, es init quien se encarga de matar todos los procesos restantes, desmontar todos los sistemas de archivos, y por último detener el procesador, además de cualquier otra cosa que haya sido configurada para hacer.

INICIO DE SESIONES DESDE TERMINALES

El inicio de sesión desde terminales y la consola es suministrador por el programa getty. Init inicia una instancia independiente de getty por cada terminal en el que está permitido iniciar sesiones. Getty lee el nombre de usuario y ejecuta el programa login, el cual se encarga de leer la contraseña. Si el nombre de usuario y la contraseña son correctos, login ejecuta el interprete de comandos. Al finalizar el interprete de comandos, init se entera del suceso e inicia una nueva instancia de getty. El núcleo no tiene noción sobre los inicios de sesiones, esto es gestionado totalmente por los programas del sistema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *