Cosa fa init su Ubuntu?


13

So già che initè il programma magico necessario per avviare il computer e gestire i runlevel, ma qual è il suo scopo reale?

Perché abbiamo anche bisogno initin primo luogo? Perché il bootloader non può dire a Upstart quali programmi eseguire e non eseguire?

Questa domanda nella (tardiva) risposta al mio Che cosa accadrebbe se initfosse cancellato? domanda.


initè la madre di tutti i processi.
ctrl-alt-delor

È più facile scrivere la funzionalità di initcome processo utente che scriverla nel kernel. Se fosse scritto nel kernel, qualcuno aggiungerebbe un processo starterche verrebbe eseguito nello spazio utente, che è più flessibile. Duplicando così la funzionalità. Pertanto è meglio mantenere la parte del kernel il più semplice possibile.
ctrl-alt-delor

man init > "What does init on Ubuntu do"e leggilo nella cartella home
αғsнιη,

Risposte:


6

Consultare il manuale per i initsistemi Unix .

Questo è un post dalla voce di Wikipedia suinit :

Nei sistemi operativi basati su Unix, init (abbreviazione di inizializzazione) è il primo processo avviato durante l'avvio del sistema informatico. Init è un processo daemon che continua a essere eseguito fino allo spegnimento del sistema. È l'antenato diretto o indiretto di tutti gli altri processi e adotta automaticamente tutti i processi orfani. Init viene avviato dal kernel usando un nome di file hardcoded e se il kernel non è in grado di avviarlo, si verificherà un panico del kernel. Inizialmente viene generalmente assegnato l'identificatore del processo 1.

La progettazione di init è divergente nei sistemi Unix come System III e System V, dalle funzionalità fornite da init in Research Unix e dai suoi derivati ​​BSD. L'utilizzo sulla maggior parte delle distribuzioni Linux è in qualche modo compatibile con System V, ma alcune distribuzioni, come Slackware, utilizzano uno stile BSD e altre, come Gentoo, hanno una propria versione personalizzata.

Diverse implementazioni di sostituzione sost sono state scritte nel tentativo di affrontare i limiti di progettazione nelle versioni standard. Questi includono launchd, Service Management Facility, systemd e Upstart, quest'ultimo utilizzato da Ubuntu e alcune altre distribuzioni Linux.

Spero che questo ti aiuti a spiegartelo; è molta lettura.


3

upstarte systemdsono initsistemi. Per convenzione (e forse altri vincoli), il programma viene ancora chiamato init, indipendentemente dal fatto che systemdo upstarto qualcos'altro sia in gioco. Non lasciarti ingannare dal nome del processo. PID1 non è più SysV init. Non è stato per un po 'di tempo su Ubuntu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.