Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

127
Vistas
¿Cuál es el primer proceso que inicia un núcleo Linux típico?

Busqué en Internet cuál es el primer proceso que se ejecuta al iniciar el sistema.

Encontré dos respuestas que son init y sched . ¿Qué es realmente?

¿Cuál se ejecuta primero? sched proceso programado o proceso de init ?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Por lo general, es el proceso de init , cuya ruta está codificada en el propio núcleo. init realiza funciones de muy bajo nivel, como iniciar upstart en el caso de Ubuntu (anterior a 15.40) o systemd en el caso de Ubuntu 15.04 y posteriores, Arch, Fedora y otros, que cargan los procesos y la configuración restantes. Tenga en cuenta que el sistema no termina de iniciarse cuando se ejecuta init ; ese es un error común. De hecho, init configura su pantalla de inicio de sesión y otras tareas relacionadas. Aquí hay una página de WikiPedia en init : https://en.wikipedia.org/wiki/Linux_startup_process#SysV_init

Init es el padre de todos los procesos. Su función principal es crear procesos a partir de un script almacenado en el archivo /etc/inittab. Este archivo generalmente tiene entradas que hacen que init genere gettys en cada línea en la que los usuarios pueden iniciar sesión. También controla los procesos autónomos requeridos por cualquier sistema en particular. Un nivel de ejecución es una configuración de software del sistema que permite que solo exista un grupo seleccionado de procesos. Los procesos generados por init para cada uno de estos niveles de ejecución se definen en el archivo /etc/inittab.

Sin embargo, el kernel de Linux inicia el programador pero no está en el espacio de usuario, que es lo que la mayoría de la gente asocia como el hogar de un proceso. Además, el Bourne Shell ( /bin/sh ) se puede sustituir si falta el init o no se puede llamar. En teoría, también puede sustituirlo por cualquier ejecutable utilizando la opción de arranque del kernel de Linux init=*some path here* .

over 4 years ago · Santiago Trujillo Denunciar

0

Está programado, según Linux 3.13 start kernel() primero llama a sched () y ejecuta el primer proceso de espacio de usuario init, es decir , rest_init() crea un subproceso del kernel que pasa otra función kernel_init() como punto de entrada y el kernel queda inactivo a menos que se le llame.

 start_kernel() { ... sched_init(); rest_init(); calls function kernel_init(); }
over 4 years ago · Santiago Trujillo Denunciar

0

El núcleo tiene al menos un proceso ejecutable, que se conoce como tarea inactiva, intercambiador, init_task y sched. Son diferentes nombres de un mismo proceso cuyo pid es 0 . Este init_task es una variable global del kernel, por lo que tiene una dirección fija, puede verlo desde System.map mediante el comando grep 'D init_task' /boot/System.map-* . La dirección no cambiará a menos que vuelva a compilar el núcleo.

El programa init cuyo pid es 1, generado por init_task(pid 0). En Ubuntu, el programa init es el demonio de gestión de procesos Upstart, mientras que en otros sistemas podría ser systemd. La dirección de init cambiaba cada vez que se reiniciaba el sistema.

Entonces, el proceso 0 se ejecuta primero, luego genera el proceso 1.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda