Операційні системи

Процес завантаження Linux

Процес завантаження Linux являє собою дії, за допомогою яких приводяться у стан готовності операційні системи на основі Linux. При завантаженні комп'ютера відбувається послідовна передача управління від BIOS до завантажувача, а від нього - до ядра. Потім ядро запускає планувальник (для реалізації багатозадачності) і виконує програму init (яка налаштовує користувацьке середовище і дозволяє здійснювати взаємодію з користувачем і вхід в систему), після чого ядро переходить в стан бездіяльності до тих пір, поки не отримає зовнішній виклик. Основні етапи завантаження:

BIOS виконує завантажувальні кроки, спеціальні для даного апаратного забезпечення. Коли всі пристрої розпізнані й правильно запущені, BIOS передає управління завантажувачу, який часто пропонує користувачеві меню з доступними варіантами завантаження. Потім він завантажує ядро, яке розпаковується в пам'ять, налаштовує системні функції, такі як робота необхідного обладнання та управління сторінками пам'яті, після чого робить виклик start_kernel ().

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

Планувальник починає більш ефективно управляти системою, в той час як ядро переходить до бездіяльності. Процес init виконує необхідні сценарії, які налаштовують всі служби і структури, які не відносяться до рівня ядра, в результаті чого буде створено користувальницьке середовище, і користувачеві буде наданий екран входу в систему. Коли відбувається завершення роботи, init викликається для керованого закриття програм користувацького рівня, теж згідно сценаріями. Після цього init закривається, а ядро виробляє своє власне завершення роботи.