Co robi init na Ubuntu?


13

Wiem już, że initjest to magiczny program potrzebny do uruchamiania komputera i zarządzania poziomami działania, ale jaki jest jego prawdziwy cel?

Dlaczego w ogóle potrzebujemy init? Dlaczego bootloader nie może powiedzieć Upstart, które programy mają być uruchamiane, a które nie?

To pytanie w (późnej) odpowiedzi na moje pytanie Co by się stało, gdyby initzostało usunięte? pytanie.


initjest matką wszystkich procesów.
ctrl-alt-delor

Łatwiej jest napisać funkcjonalność initjako proces użytkownika niż napisać go w jądrze. Jeśli został napisany w jądrze, ktoś dodałby proces starterdziałający w przestrzeni użytkownika, co jest bardziej elastyczne. Powielając w ten sposób funkcjonalność. Dlatego najlepiej jest zachować jak najprostszą część jądra.
ctrl-alt-delor

man init > "What does init on Ubuntu do"i przeczytaj go w folderze domowym
αғsнιη

Odpowiedzi:


6

Zobacz instrukcję initdotyczącą systemów Unix .

To jest post z wpisu z Wikipedii nainit :

W systemach operacyjnych opartych na Uniksie init (skrót od inicjalizacji) jest pierwszym procesem uruchomionym podczas uruchamiania systemu komputerowego. Init jest procesem demona, który działa do momentu zamknięcia systemu. Jest bezpośrednim lub pośrednim przodkiem wszystkich innych procesów i automatycznie przyjmuje wszystkie osierocone procesy. Init jest uruchamiany przez jądro za pomocą zakodowanej nazwy pliku, a jeśli jądro nie będzie w stanie go uruchomić, spowoduje to panikę jądra. Init zwykle ma przypisany identyfikator procesu 1.

Projekt init różni się w systemach Unix, takich jak System III i System V, od funkcjonalności zapewnianej przez init w Research Unix i jego pochodnych BSD. Użycie w większości dystrybucji Linuksa jest w pewnym stopniu zgodne z Systemem V, ale niektóre dystrybucje, takie jak Slackware, używają stylu BSD, a inne, takie jak Gentoo, mają swoją własną, dostosowaną wersję.

Napisano kilka implementacji zastępczych init, próbując rozwiązać ograniczenia projektowe w standardowych wersjach. Należą do nich uruchomiono, Service Management Facility, systemd i Upstart, te ostatnie są używane przez Ubuntu i niektóre inne dystrybucje Linuksa.

Mam nadzieję, że to pomoże ci to wyjaśnić; to dużo czytania.


3

upstarti systemdinitsystemami. Zgodnie z konwencją (i być może innymi ograniczeniami) program jest nadal wywoływany init, niezależnie od tego, systemdczy upstartgra się w nim coś innego. Nie daj się zwieść nazwie procesu. PID1 nie jest już SysV init. Od dawna nie było Ubuntu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.