Provided by: manpages-es_4.27.0-1_all bug

NOMBRE

       inicio - Proceso de inicio de sistemas basados en la versión 4 de System V de Unix

DESCRIPCIÓN

       El  proceso  de  incio  (o  "secuencia  de  inicio") varía en ciertos detalles entre sistemas, pero puede
       dividirse en varias etapas en base al componente que lo controle:

       (1)  hardware

       (2)  cargador de inicio del sistema operativo

       (3)  núcleo

       (4)  proceso base en espacio de usuario (init e inittab)

       (5)  scripts de inicio

       A continuación se describe cada uno de ellos con mayor detalle.

   Hardware
       Después de pulsar el botón de encendido o el botón reset, se pasa el control a un programa almacenado  en
       memoria  de  sólo  lectura (normalmente PROM). Por razones históricas de los PC, a este programa se suele
       denominar BIOS.

       Este programa normalmente hace una autocomprobación básica del equipo y accede a la  memoria  no  volátil
       para  leer parámetros adicionales. En el PC, esta memoria es de tipo CMOS con respaldo de batería, por lo
       que la mayoría de la gente se refiere a ella como CMOS, aunque  fuera  del  mundo  del  PC  se  le  llama
       usualmente nvram (non-volatile ram, RAM no volátil).

       La  cantidad  de  parámetros  almacenados  en  la  NVRAM varía entre sistemas, pero debería -como mínimo-
       definir qué dispositivo puede proporcionar un cargador para el sistema operativo o en cuales  se  debería
       comprobar  si existe uno. Este dispositivo se conoce como dispositivo de inicio. Durante la primera etapa
       de inicio (hardware) se carga  el  cargador  del  sistema  operativo  desde  una  posición  definida  del
       dispositivo de inicio y luego se le transfiere el control.

       Nota:  El  dispositivo  desde  el  que  se  cargará el sistema operativo puede estar acoplado al equipo a
              través de una red, en cuyo caso los detalles para el inicio  se  darán  mediante  protocolos  como
              DHCP, TFTP, PXE, Etherboot, etc...

   Cargador de inicio del sistema operativo
       La  principal  tarea  del cargador de inicio es localizar el núcleo, cargarlo y ejecutarlo. La mayoría de
       cargadores de  inicio  permiten  un  uso  interactivo,  para  poder  especificar  un  núcleo  alternativo
       (posiblemente  una copia de seguridad en caso de que el último núcleo compilado no funcione) y para pasar
       parámetros opcionales al núcleo.

       Tradicionalmente, en los PC, el cargador del SO está localizado en el primer sector  del  dispositivo  de
       inicio - es el llamado MBR (Master Boot Record).

       En  la  mayoría  de  los  sistemas, este cargador de inicio está limitado en base a varias restricciones.
       Incluso en sistemas que no son PC hay algunas limitaciones al tamaño y complejidad del cargador, así que,
       la limitación de tamaño del MBR en los PC (512 bytes  incluyendo  la  tabla  de  particiones)  hace  casi
       imposible introducir un cargador de inicio completo dentro de él.

       La  mayoría  de  sistemas operativos dividen la tarea de iniciarse entre un cargador de inicio primario y
       otro  secundario;  éste  último  puede  estar  localizado  dentro  dentro  de  otra  partición  mayor  de
       almacenamiento permanente como por ejemplo una partición de disco.

       En linux, el cargador de inicio suele ser grub(8) (una alternativa a lilo(8).

   Núcleo
       Una  vez que se carga el núcleo, éste inicializa diversos componentes del equipo y del sistema operativo.
       Cada porción de software responsable de esta tarea se suele considerar un controlador o driver para dicho
       componente. El núcleo arranca el intercambiador de memoria virtual (es  un  proceso  del  núcleo  llamado
       "kswapd" en los núcleos recientes de Linux) y monta el sistema de archivos raíz: /.

       Algunos de los parámetros que se le pueden pasar al núcleo están relacionados con estas actividades (p.e:
       puede  sobreescribir  el sistema de archivos raíz por defecto). Para más información sobre los parámetros
       del núcleo Linux consulte bootparam(7).

       Después de esto, el núcleo creará el primer proceso en espacio de usuario al que asigna  como  número  de
       PID (ID de proceso) el número 1. Tradicionalmente, este proceso ejecuta el programa /sbin/init, pasándole
       cualquier parámetro que no haya podido ser manejado por el núcleo.

   Proceso base en espacio de usuario
       Nota:  La siguiente descripción es de aplicación en sistemas operativos basados en la versión 4 de System
              V  de  UNIX.  Muchos  sistemas ampliamente utiizados adoptaron un sistema relacionado pero con una
              base diferente conocido como systemd(1) en el  cual  el  proceso  de  inicio  se  describe  en  su
              bootup(7) asociado.

       Cuando  se  inicia /sbin/init, éste lee /etc/inittab en busca de instrucciones. En este archivo se define
       qué debe ejecutarse según el nivel de ejecución permitiendo  al  administrador  del  sistema  definir  el
       entorno  para  ciertos  usos  de  forma  sencilla. Cada nivel de ejecución está asociado a un conjunto de
       servicios. Por ejemplo: el nivel de ejecución S es el modo monousuario y el nivel de ejecución 2  implica
       la ejecución de la mayoría de servicios de red.

       El  administrador  puede  modificar  el  nivel  de  ejecución  actual  mediante init(1) y ver el que está
       actualmente en ejecución con runlevel(8).

       Sin embargo, puesto que no es conveniente gestionar los servicios individuales editando directamente este
       archivo, /etc/inittab solamente lanza un conjunto de scripts que son los que realmente arrancan/paran los
       servicios individuales.

   Scripts de inicio
       Nota:  La siguiente descripción se aplica a los sistemas basados en la versión  de  Unix  System  V.  Sin
              embargo,  algunos  sistemas  ampliamente  usados  (Slackware  Linux,  FreeBSD, OpenBSD) tienen una
              estructura para los scripts de inicio algo diferente.

       Para cada servicio gestionado (mail, nfs server, cron,  etc.)  hay  un  único  script  de  inicialización
       ubicado  en un directorio específico (/etc/init.d en la mayoría de versiones de Linux). Cada uno de estos
       scripts acepta como único argumento la palabra 'start' (haciendo que se inicie el servicio) y la  palabra
       'stop'  (hace  que  se  detenga). También podrán aceptar otros argumentos a conveniencia como por ejemplo
       'restart' que hace que se detenga y se vuelva a iniciar,  'status'  que  muestra  el  estado  en  que  se
       encuentra  el  servicio, etc... Si se ejecuta sin ningún argumento, se listan todas las posibilidades que
       ofrece.

   Directorios de ejecución en orden
       Para conseguir que ciertos scripts se inicien o se paren en diferentes niveles de ejecución y en un orden
       concreto,  se  crearon  los  directorios  de  ejecución  en  orden.  Se   encuentran   habitualmente   en
       /etc/rc[0-6S].d.  En cada uno de estos directorios hay enlaces (normalmente simbólicos) a los scripts que
       se encuentran en el directorio /etc/init.d.

       Un script principal (normalmente /etc/rc) se invoca desde inittab(5) y es el  encargado  de  invocar  los
       scripts  de servicios a través de los enlaces de los directorios de ejecución en orden. Todos los enlaces
       cuyo nombre comienza con 'S' son invocados con el argumento 'start' (por tanto, iniciando  el  servicio).
       Todos  los  enlaces que comienzan con 'K' son invocados con el argumento 'stop' (por tanto, deteniendo el
       servicio).

       Para establecer el orden de inico o parada dentro de un mismo nivel de  ejecución,  los  nombres  de  los
       enlaces  contienen  números  de  orden.  Además,  para  hacer  los  nombres  más  claros,  éstos terminan
       habitualmente con el nombre del servicio al que se refieren. Ejemplo:  el  enlace  /etc/rc2.d/S80sendmail
       lanza   el   servicio  sendmail  en  el  nivel  de  ejecución  2.  Esto  ocurriría  después  de  ejecutar
       /etc/rc2.d/S12syslog pero antes de ejecutar /etc/rc2.d/S90xfs.

       Para gestionar el orden de inicio y los niveles de ejecución,  tenemos  que  manejar  estos  enlaces.  En
       muchos sistemas, existen herramientas para facilitaresta tarea (p.ej: chkconfig(8)).

   Configuración de inicio
       Una  aplicación que proporciona un servicio suele denominarse demonio. Normalmente, los demonios lanzados
       pueden recibir opciones y parámetros en la línea de órdenes de  manera  opcional.  Para  permitir  a  los
       administradores  de  sistemas  cambiar estos parámetros sin editar los scripts de inicio, se utilizan los
       archivos de configuración. Éstos  están  localizados  en  un  directorio  específico  (/etc/sysconfig  en
       sistemas RedHat antiguos) y son utilizados por los scripts de inicio.

       En  versiones  antiguas de Unix, estos archivos contenían las opciones de línea de órdenes reales para un
       demonios, pero en sistemas Linux modernos (y también en HP-UX), tan solo contienen variables de la shell.
       Los scripts de inicio en /etc/init.d leen e incluyen sus archivos de configuración y usan los valores  de
       las variables.

ARCHIVOS

       /etc/init.d/, /etc/rc[S0-6].d/, /etc/sysconfig/

VÉASE TAMBIÉN

       init(1), systemd(1), inittab(5), bootparam(7), bootup(7), runlevel(8), shutdown(8)

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es>
       y Marcos Fouces <marcos@debian.org>

       Esta  traducción  es  documentación  libre;  lea  la GNU General Public License Version 3 o posterior con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta página  del  manual,  envíe  un  correo  electrónico  a
       debian-l10n-spanish@lists.debian.org.

Páginas de Manual de Linux 6.9.1                   2 Mayo 2024                                           boot(7)