Що робить init на Ubuntu?


13

Я вже знаю, що initце чарівна програма, яка потрібна для завантаження комп'ютера та керування рівнями, але яка реальна мета?

Чому ми взагалі потрібні initв першу чергу? Чому завантажувач не може сказати Upstart, які програми запускати, а не запускати?

Це запитання у (пізній) відповіді на мою відповідь Що буде, якщо initїї видалити? питання.


initє матір'ю всіх процесів.
ctrl-alt-delor

Простіше написати функціональність initяк користувальницький процес, ніж записати його в ядро. Якщо це де написано в ядрі, то хтось додав би процес, starterякий би запускався в просторі користувача, тобто більш гнучким. Таким чином, дублюється функціональність. Тому найкраще зберегти частину ядра максимально просто.
ctrl-alt-delor

man init > "What does init on Ubuntu do"і прочитати його в домашній папці
αғsnιη

Відповіді:


6

Дивіться посібник із initпо роботі з системами Unix .

Це повідомлення з запису Вікіпедії наinit :

У комп'ютерних операційних системах на базі Unix init (короткий для ініціалізації) - це перший процес, розпочатий під час завантаження комп'ютерної системи. Init - це демон-процес, який триває до тих пір, поки система не вимкнеться. Він є прямим або опосередкованим предком усіх інших процесів і автоматично приймає всі осиротілі процеси. Init запускається ядром за допомогою жорстко закодованого імені файлу, і якщо ядро ​​не в змозі його запустити, виникла паніка ядра. Init, як правило, присвоюється ідентифікатору 1 процесу.

Конструкція init відрізнялася в таких системах Unix, як System III і System V, від функціоналу, який надає init в Research Unix та його похідних BSD. Використання у більшості дистрибутивів Linux дещо сумісне з System V, але деякі дистрибутиви, такі як Slackware, використовують BSD-стиль та інші, наприклад, Gentoo, мають власну індивідуальну версію.

Кілька реалізацій заміни init було написано з спробою вирішити обмеження дизайну в стандартних версіях. До них відносяться запуск, механізм управління послугами, systemd та Upstart, останні використовуються Ubuntu та деякі інші дистрибутиви Linux.

Сподіваюся, що це допомагає пояснити це вам; це багато читати.


3

upstartі systemdє initсистемами. За угодою (і , можливо , інших обмежень), програма по - , як і раніше називається init, незалежно від того , systemdчи upstartабо що - то ще в грі. Не дозволяйте назвати процес обдурити вас. PID1 вже не є SysV init. На Ubuntu це не було давно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.