Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори СПОС.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
145.46 Кб
Скачать
  1. Процес init. Файли /etc/inittab, /etc/rc.D/rc.Sysinit.

Init є батьком всіх процесів. Його головне завдання - створювати процеси за сценарієм з файлу / etc / inittab. У цьому файлі зазвичай містяться записи, що вказують init породити getty для кожної лінії, по якій користувачі можуть входити в систему. Він також контролює автономні процеси, необхідні будь-якій системі. Рівень виконання - програмна конфігурація системи, яка дозволяє існувати тільки заданій групі процесів. Процеси, що породжуються init на кожному з таких рівнів виконання, визначаються у файлі / etc / inittab. У процесі завантаження, після ініціалізації ядра, ядро ​​запускає / sbin / init як перший процес користувацького режиму. init відповідає за подальшу завантаження системи. Для цього він запускає так звані стартові скрипти, які виконують перевірку та монтування файлових систем, запуск необхідних демонів, налаштування ядра (у тому числі завантаження модулів ядра згідно встановленому обладнанню, настройку IP-адрес, таблиць маршрутизації та ін), запуск графічної оболонки і інші дії.

В операційних системах Unix / Linux за допомогою init можна змінити рівень ініціалізації. Рівень ініціалізації - ступінь завантаження операційної системи. Ось як відбувається ініціалізація системи: процес init запускається і аналізує файл / etc / inittab. Слід зазначити, що наведена тут система ініціалізації працює на системах Linux і Unix System V і вона дещо відрізняється від стилю ініціалізації системи в BSD-подібних системах.

За замовчуванням, в системі використано 7 рівнів ініціалізації:

0 - зупинка системи

1 - завантаження в режимі одного

2 - завантаження в многопользовательском режимі без підтримки мережі

3 - завантаження в многопользовательском режимі з підтримкою мережі

4 - не використовується

5 - завантаження в многопользовательском режимі з підтримкою мережі і графічного входу в систему

6 - перезавантаження

Набравши init n в терміналі (з правами суперкористувача), де n - номер рівня ініціалізації, можна переключитися в кожній з перерахованих вище рівнів.

Файл /etc/inittab id:5:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm -nodaemon

У першому рядку описаний термінал і його конфігурація за замовчуванням. Спочатку в цьому файлі описуються рівні ініціалізації. Потім ініціюються віртуальні консолі. Запис ініціалізації консолей складається з полів, розділених двокрапкою і виглядає наступним чином:

1 - порядковий номер консолі

2345 - номери рівнів ініціалізації, для яких консоль ініціалізується

respawn - цей параметр означає, що init повинен перезапустити обслуговуючий консоль процес після виходу з сеансу або в разі краху.

/ sbin / mingetty tty6 - програма (із зазначенням параметрів), яка обслуговуватиме консоль.

Таким чином, ви легко можете створити свій рівень ініціалізації (під номером 4 або 7, 8 ...), просто виправивши файл / etc / inittab і створивши необхідні посилання в каталозі / etc / rc.d / rc *. D