Доставка
Доставка сигналу відбувається після того, як ядро від імені процесу викликає системну процедуру issig (), яка перевіряє, чи існують які очікують доставки сигнали, адресовані даному процесу. Процедура issig () викликається ядром в трьох випадках:
· Безпосередньо перед поверненням з режиму ядра в користувацький режим після обробки системного виклику або переривання.
· Безпосередньо перед переходом процесу в стан сну з пріоритетом, що допускає переривання сигналом.
· Відразу ж після пробудження після сну з пріоритетом, що допускає переривання сигналом.
Якщо процедура issig () виявляє очікування доставки сигналу, ядро викликає функцію доставки сигналу, яке виконує дію за умовчанням або викликає спеціальну функцію sendsig (), що запускає обробник сигналу, зареєстрований процесом. Функція sendsig () повертає процес в користувальницький режим, передає управління обробникові сигналу, а потім відновлює контекст процесу для продовження перерваного сигналом виконання.
У Unix є 31 тип сигналів, які можна розділити на групи:
· сигнали, пов'язані з обладнанням, такі як: сигнали про помилки на шинах передачі даних, помилки при виконанні арифметичних операцій, помилках доступу до пам'яті т.п.;
· сигнали, пов'язані з програмними подіями: сигнал завершення процесу, сигнали від інтервального таймера, сигнали, якими процеси обмінюються між собою і т.п.;
· сигнали, пов'язані з уведенням-висновком, що сигналізують про події в потоках вводу-виводу;
· сигнали управління завданнями: призупинення та пуску процесів у групі, сигнали про події в процесі-нащадку і т.п.;
· сигнали управління ресурсами, що повідомляють про перевищення процесом лімітів використання ресурсів;
· сигнали про події на легковагих процесах, оброблювані модулями бібліотеки ниток.
Наприклад:
Тип сповіщення:
SIGCHLD Дочірній процес завершений або зупинений
Тип управління:
SIGKILL Безумовне завершення
SIGSTOP Зупинка виконання процесу
Тип виключення:
SIGBUSН неправильне звернення до фізичної пам’яті
23. Основні можливості та функції базового інтерфейсу управління потоками.
Потоком називають набір послідовно виконуваних команд процесора, які використовують загальний адресний простір процесу.
Властивості потоків:
1) Неможливість паралельного виконання будь-яких частин потоків
2) Потік завжди є частиною певного процесу, або належить деякому процесу
3) Процесорний час розподіляється безпосередньо між потоками, а не між процесами
24. Порядок створення та завершення потоків.
Особливості створення потоків
П отоки створюють у рамках вже існуючого адресного простору (конкретного процесу або, можливо, ядра системи). Існує кілька ситуацій, у яких може бути створений новий потік.
Якщо процес створюється за допомогою системного виклику f o r k O, після розподілу адресного простору автоматично створюється потік усередині цього
процесу Можна створювати потоки з коду користувача за допомогою відповідного системного виклику. У багатьох ОС є спеціальні потоки, які створює ядро системи
Під час створення потоку система повинна виконати такі дії.
1. Створити структури даних, які відображають потік в ОС.
2. Виділити пам'ять під стек потоку.
3. Встановити лічильник команд процесора на початок коду, який буде виконуватися в потоці; цей код називають процедурою або функцією потоку, покажчик на таку процедуру передають у системний виклик створення потоку.
Особливості завершення потоків
Під час завершення потоку його ресурси вивільняються (насамперед, стек); ця операція звичайно виконується швидше, ніж завершення процесу. Потік може бути завершений, коли керування дійде до кінця процедури потоку; є також спеціальні системні виклики, призначені для дострокового припинення виконання потоків.
Як і процеси, потоки можуть виконуватися синхронно й асинхронно. Потік, створивши інший потік, може призупинити своє виконання до його завершення.
Таке очікування називають приєднанням потоків. Після завершення приєднаного потоку потік, який очікував його завершення, може дістати статус виконання
25. Організація взаємодії між потоками.
26. Порівняння процесів та потоків з позиції концепції багатопотокового виконання.
27. Оперування ідентифікаторами потоків.
28. Основні можливості та функції базового інтерфейсу введення/виведення.
29. Сутність моделі файлового введення/виведення.
Базовою моделлю системи введення / виводу UNIX є послідовність байт, доступ до яких може здійснюватися як послідовно, так і в у довільному порядку. У типовому користувальницькому процесі UNIX немає таких понять, як методи доступу або керуючі блоки. Одним із головних завдань ОС є забезпечення обміну даними між додатками і периферійними пристроями комп'ютера. Взагалі кажучи, заради виконання цього завдання і були розроблені перші системні програми, які послужили прототипами операційних систем. У сучасній ОС функції обміну даними з периферійними пристроями виконує підсистема вводу-виводу. Клієнтами цієї підсистеми є не тільки користувачі і додатки, але і деякі компоненти самої ОС, яким потрібне отримання системних даних або їх вививоди.Основними компонентами підсистеми вводу-виводу є драйвери, керуючы зовнішніми пристроями, і файлова система.Користувальницький додаток функціонує в спеціальному режимі (щодо апаратного забезпечення), званому 'user mode' - користувацький режим. У межах цього режиму код додатку обмежений виконанням «нешкідливих» інструкцій. Інструкції апаратного введення / виводу також не можуть бути виконані кодом користувацького режиму.
Підсистема управління зовнішніми пристроями, яка називається також підсистемою введення-виводу, виконує роль інтерфейсу до всіх пристроїв, підключених до комп'ютера.
Програма, що управляє конкретною моделлю зовнішнього пристрою і що враховує всі його особливості, зазвичай називається драйвером цього пристрою (від англійського drive — управляти, вести).
30. Принципи застосування базового інтерфейсу введення/виведення. Порядок роботи з файлом.
Інтерфейс введення-виведення вимагає управління процесором кожного пристрою. Інтерфейс повинен мати відповідну логіку для інтерпретації адреси пристрою, що генерується процесором. Встановлення контакту повинно бути реалізовано інтерфейсом за допомогою відповідних команд типу (ЗАЙНЯТИЙ, ГОТОВИЙ, ЖДУ), щоб процесор міг взаємодіяти з пристроєм вводу-виводу через інтерфейс. Якщо існує необхідність передачі різних форматів даних, то інтерфейс повинен уміти конвертувати послідовні (впорядковані) дані в паралельну форму і навпаки. Повинна бути можливість для генерації переривань і відповідних типів чисел для подальшої обробки процесором (при необхідності). Комп'ютер, що використовує введення-виведення з розподілом пам'яті, звертається до апаратного забезпечення за допомогою читання і запису в певні осередки пам'яті, використовуючи ті ж самі інструкції мови асемблера, які комп'ютер зазвичай використовує при зверненні до пам'яті.
Операційні системи сімейства UNIX надають користувачеві широкий спектр команд для роботи з файлами і каталогами. Їх сильною стороною є можливість використання їх у простій формі щодо групи файлів і каталогів, які відповідають певним вимогам. Наприклад видалити групу файлів відповідаючих певним критеріям або змінити їм усім імена за певним шаблоном.
31. Основні можливості та функції стандартної бібліотеки введення/виведення.
Традиційною для ОС UNIX бібліотекою функцій більш високого рівня, ніж бібліотека системних викликів, є, так звана, стандартна бібліотека вводу / виводу (stdio). Основний набір функцій цієї бібліотеки служить для виконання файлових операцій з буферизацією даних в пам'яті користувача процесу. Бібліотека введення / виводу фактично стандартизована дуже давно, і їй можна безпечно користуватися в будь-якій операційній середовищі. Зокрема, одноманітні бібліотеки введення / виводу підтримуються у всіх сучасних реалізаціях системи програмування мови Сі, виконаних не в середовищі ОС UNIX (включаючи реалізації в середовищі MS-DOS).
stdio.h (від англ. standard input/output header - стандартний заголовний файл введення/виведення) заголовний файл стандартної бібліотеки мови Сі, що містить визначення макросів, констант та оголошення функцій і типів, що використовуються для різних операцій стандартного введення і виведення. Функції-члени функції, оголошені в stdio.h у загальному випадку можуть бути розділені на дві категорії: функції для операцій з файлами і функції для операцій введення-виведення.
32. Принципи застосування стандартної бібліотеки введення/виведення. Порядок роботи з файлом.
Традиційною для ОС UNIX бібліотекою функцій більш високого рівня, ніж бібліотека системних викликів, є, так звана, стандартна бібліотека вводу / виводу stdio. Оголошується #include <stdio.h>.
Додаткові можливості введення-виведення залежать від операційної системи, але ці функції забезпечують єдиний інтерфейс.Відповідні описи містяться в stdio.h.
Функції stdio заводять індикатор помилок для кожного файлу, на який вказує покажчик fp, для запису туди інформації про помилки введення-виведення, пов'язаних з даним файлом або потоком. Використовуйте ferror для з'ясування значення цього індикатора.
#include <stdio.h>
int ferror(FILE *fp);
Якщо певний fp файл або потік відкритий, то fclose закриває його, попередньо записавши всі оброблювані дані (викликавши fflush (fp)).fclose повертає 0, якщо він був виконаний успішно (включаючи випадок, коли fp - NULL або не відкритий файл); інакше повертається EOF.
#include <stdio.h>
int fclose(FILE *fp);
fopen ініціалізує структури даних, необхідних для читання або запису файлу. Ім'я файлу визначається рядком в file, а тип доступу до файлу - рядком у mode.Інша функція _fopen_r є повторно-входимость аналогом. Додатковий аргумент reent - покажчик на структуру, яка містить інформацію для забезпечення повторної входимость.
#include <stdio.h>
FILE *fopen(const char *file, const char *mode);
FILE *_fopen_r(void *reent, const char *file, const char *mode);
Операційні системи сімейства UNIX надають користувачеві широкий спектр команд для роботи з файлами і каталогами. Їх сильною стороною є можливість використання їх у простій формі щодо групи файлів і каталогів, які відповідають певним вимогам. Наприклад видалити групу файлів відповідаючих певним критеріям або змінити їм усім імена за певним шаблоном.
33. Поняття файлу. Типи файлів. Дані та метадані файлу.
Файли – можна визначити як доступні користувачам та прикладним програмам віртуальні сховища даних. Фізично файли відображаються на певні ресурси комп’ютерних систем, найчастіше на певні області дискового простору.
Файли є зручним та поширеним способом віртуалізації ресурсів комп’ютерної системи, а також виконують роль уніфікованих точок доступу до цих ресурсів. Файли завжди мають імена за якими користувач і прикладні програми можуть до них звертатися.
Зазвичай ОС дозволяє працювати з декількома типами файлів. В Unix подібних ОС є 6 типів файлів:
1. Звичайні файли – призначені для довготривалого зберігання будь-яких даних. Зазвичай представляють певну область довготривалої пам’яті.
2. Каталоги – є вузловими точками імен файлів.
3. Символічні зв’язки – точки доступу до окремих файлів.
4. Файли пристроїв – точки доступу до певних пристроїв(принтер,сканер, певний розділ диска)
5. Іменовані канали – це точки доступу до системних засобів локального обміну даними між задачами.
6. Сокети – призначені для взаємодії між процесами.
Дані файлу – це інформація, яка міститься в файлі.
Метадані файлу – це кількість жорстких зв’язків між файлом та атрибутами.
Метадані описують характеристики файлу, наприклад, власників,права доступу, тип і розмір файлу, а також містять покажчики на фактичне розташування даних файлу. Метадані файлу зберігаються в структурі inode. Метадані дозволяють операційній системі виконувати операції, замовлені прикладною задачею: відкрити файл, прочитати або записати дані, створити або видалити файл. Зокрема, метадані містять покажчики на дискові блоки збереження даних файлу. Назва файлу у файловій системі є покажчиком на його метадані, в той час як метадані не містять покажчика на ім'я файлу.
34. Особливості застосування базового інтерфейсу та стандартної бібліотеки введення/виведення.
Базовий інтерфейс введення-виведення в Unix базується на файловій моделі. Файлові операції можуть стосуватись як даних, так і метаданих файлу.
Базовий інтерфейс введення-виведення підтримує 2 способи організаціх файлових операцій:
- Контекстний – операції над окремим файлом виконуються в загальному випадку серіями. Кожна серія починається операцією відкриття файлу і закінчується операцією з закриття файлу. Під час відкриття файлу виконується трансляція його імені, розміщення в системній пам'яті його метаданих, ініціалізація параметрів сеансу роботи з файлом і авторизація всіх подальших операцій. Під час операції закриття звільняється вся пам'ять, яка була виділена в ході відкриття файлу. Контекстно завжди виконується читання з файлу і запис до файлу.
- Безконтекстний – передбачає неявне виконання дій, які виконуються при відкритті і закритті файлу.
Організація робот з файлами у вигляді сеансів дозволяє прискорити виконання файлових операцій, коли вони виконуються серіями.
Функції стандартної бібліотеки введення/виведення забезпечують введення/виведення і більш зручний стиль програмування. Для використання функцій цієї бібліотеки в програму потрібно включити файл заголовків <stdio.h>.
Замість використання файлового дескриптора бібліотека визначає покажчик на спеціальну структуру даних (структура FILE), що називається потоком або файловим покажчиком. Стандартні потоки введення / виведення позначаються символічними іменами stdout, stderr відповідно для потоків введення, виведення та повідомлень про помилки.
Основною перевагою функцій бібліотеки є буферизація
введення/виведення, що дозволяє мінімізувати число системних викликів read (2).
Бібліотека надає три типи буферизації:
1. Повна буферизація. У цьому випадку операція читання або запису завершується після того, як буде заповнений буфер введення / виводу.
2. Построкова буферизація. У цьому випадку бібліотека виконує фактичне введення / виведення (тобто виробляє системні виклики read (2) або построково при виявленні кінця рядка.
3. Відсутність буферизації. У цьому випадку бібліотека не виробляє ніякої буферизації, фактично є лише програмною оболонкою системних викликів. При цьому досягаються мінімальні затримки операцій читання і запису, необхідні, наприклад, при виведенні повідомлень про помилки.
35. Загальні концепції синхронізації задач.
Задача – це динамічний об’єкт, який виникає в комп’ютерній системі після того, як користувач ОС вирішує запустити систему на виконання.
Запущена на виконання програма породжує в системі один або більше процесів (або задач). Синхронізація необхідна для координації порядку виконання паралельних задач.
Сутність концепції багатопотокового виконання:
1. Традиційні послідовні задачі розбиваються на потоки, які виконуються паралельно. Після такого розбиття послідовна задача стає процесом у сенсі концепції багатопотокового виконання;
2. Потоки можуть спільно використовувати ресурси, які надані процесу і частинами якого вони є.
Синхронізація задач (процесів) – це приведення двох або декількох процесів або потоків до такого їхнього протікання, коли певні стадії різних процесів здійснюються в певному порядку, або одночасно, для уникнення конкуренції потоків або взаємного блокування. Синхронізація дозволяє контролювати виконання потоків і процесів.
Властивості процесів в концепції багатопотокового виконання:
- процес завжди складається принаймні з одного потоку;
- процесорний час не надається процесам безпосередньо, інші ресурси (пам’ять) можуть надаватись;
- процесорний час розподіляється між потоками.
Властивості потоків в концепції багатопотокового виконання:
- неможливість паралельного виконання будь-яких частин потоків;
- потік завжди є частиною певного процесу, або належить певному процесу;
- процесорний час розподіляється безпосередньо між потоками, а не між процесами.
Синхронізація необхідна в будь-яких випадках, коли процесам, що паралельно виконуються необхідно взаємодіяти. Для її організації використовуються засоби міжпроцесорної взаємодії. Серед найбільш часто використовуваних засобів - сигнали і повідомлення, семафори, канали, пам'ять, що спільно використовується.
36. Сутність проблеми змагань між задачами. Умови виникнення змагань. Критичний код, критичний ресурс.
Запущена на виконання програма породжує в системі один або більше процесів (або задач). Процеси в UNIX невід'ємно пов'язані з двома найважливішими ресурсами системи - процесором і оперативною пам'яттю. Як правило, цих ресурсів ніколи не буває багато, і в операційній системі відбувається активна конкурентна боротьба за право володіння процесором і пам'яттю.
Планування процесів в UNIX засноване на пріоритеті процесу. Змагання між процесами виникають, коли планувальнику необхідно розподілити системні ресурси між процесами та визначити пріоритет кожного процесу.
Планувальник процесів, вирішує конфлікти між процесами в конкуренції за системні ресурси (процесор, пам'ять, пристрої введення / виведення). Планувальник запускає процес на виконання, стежачи за тим, щоб процес монопольно не захопив системні ресурси, що розділяються між усіма.
Планувальник завжди вибирає процес з найвищим пріоритетом. Пріоритет процесу не є фіксованим і динамічно змінюється системою в залежності від використання обчислювальних ресурсів, часу очікування запуску і поточного стану процесу. Якщо процес готовий до запуску і має найвищий пріоритет, планувальник призупинить виконання поточного процесу (з більш низьким пріоритетом), навіть якщо останній не "використав" свій тимчасовий квант.
Критичний ресурс - це ресурс, який дає обслуговування тільки одного процесу за один раз. Якщо кілька процесів хочуть використовувати критичний ресурс в режимі поділу, то їм слід синхронізувати свої дії, щоб ресурс завжди знаходився в розпорядженні не більше, ніж одного з них. Такими ресурсами можуть бути як зовнішній пристрій, так і якась змінна, значення якої може змінюватися різними процесами.
Критичний ділянку коду, або хот-спот (від англ. Hot spot - «гаряче місце» або «гаряча точка») - ділянка коду в програмі, виконання якого займає тривалий час у порівнянні з його розмірами або, що те ж саме, на нього припадає істотна частка виконаних інструкцій.
37. Загальні відомості про інтерфейси користувача ОС.
Інтерфейс – засоби та сукупність команд операційної системи для здійснення діяльності користувачами щодо опрацювання інформації засобами обчислювальної системи.
У сучасних операційних найбільш поширеними є:
— інтерфейс командного рядка дозволяє користувачеві набирати команди на клавіатурі після системного запрошення, що розташоване у рядку введення. Монітор працює в текстовому режимі.
— графічний інтерфейс користувача забезпечує уведення команд операційної системи за допомогою виконання дій з візуальним представленням об'єктів ОС. Файли, каталоги, команди, програми користувача представляються у вигляді значків (піктограм), меню, кнопок, вікон. Для задання команд використовується маніпулятор "мишка", "трекбол".
Командний рядок
Найпершим способом забезпечення управління обчислювальною системою був інтерфейс командного рядка. При цій технології, як єдиний спосіб введення інформації від людини до комп'ютера використовується клавіатура, а комп'ютер виводить інформацію за допомогою алфавітно-цифрового дисплея (монітора). Таку комбінацію (монітор + клавіатура) стали називати терміналом або консоллю. Команди набираються в командному рядкові, що являє собою символ запрошення і миготливий прямокутник - курсор
Графічний інтерфейс
Ідея використання графічного інтерфейсу користувача зародилася в середині 70-х років, коли в дослідницькому центрі Xerox Palo Alto Research Center (PARC) була розроблена концепція візуального інтерфейсу. Передумовою появи графічного інтерфейсу з'явилося зменшення часу реакції комп'ютера на введену команду, зумовлене зростанням потужності центрального процесора, та додаткового обладнання. Перша система з графічним інтерфейсом 8010 Star Information System групи PARC з'явилася за чотири місяці до виходу у світ першого персонального комп'ютера фірми IBM у 1981 році. На перших етапах візуальний інтерфейс використовувався тільки для прикладного програмного забезпечення: текстовий редактор, електронні таблиці. Зростання попиту на обчислювальну техніку змусило розробників ОС використовувати засоби візуального управління в операційних системах: спочатку на комп'ютерах Atari і Apple Macintosh, а потім і на IBM-сумісних комп'ютерах.
Паралельно з розробкою графічних інтерфейсів для ОС проходив процес уніфікації використання клавіатури і мишки прикладними програмами. Злиття цих двох тенденцій привело до створення користувацького інтерфейсу, за допомогою якого, при мінімальних затратах часу і засобів на перенавчання, можна працювати з будь-якими програмними продуктами.
Основною концепцією сучасних графічних інтерфейсів є подання компонентів операційної системи (файл, каталог, програма) у вигляді візуальних графічних об'єктів, що мають певні властивості, команди операційній системи відображаються як зміна властивостей об'єктів.
38. Порівняння графічного інтерфейсу та інтерфейсу командного рядка.
Операційна система є найбільш використовуваною середовищем для командного рядка. З її допомогою реалізуються багато завдань, а в деяких ОС користувач може працювати з нею навіть частіше, ніж з графічним інтерфейсом.
Виділяють такі переваги використання командного рядка:
- невелике число натиснень для виклику будь-якої команди;
- практично миттєве звернення до команд різних виконуваних файлів;
- можливість автоматизації будь завдання за допомогою shell script або пакетних файлів;
- управління програмами, в яких відсутній графічний інтерфейс;
- віддалене з'єднання з комп'ютером з мінімальними затратами трафіку;
- велика місткість тексту на сторінці в порівнянні з графічним інтерфейсом.
До мінусів командного рядка можна віднести:
- недружнього для користувачів, які звикли працювати з графічним інтерфейсом;
- затруднительность введення довгих команд при відсутності автоматичного доповнення;
- відсутність "аналогового" типу вводу.
Графічні інтерфейси володіють рядом переваг:
1. Їх відносно просто вивчити і використовувати. Користувачі, що не мають досвіду роботи з комп'ютером, можуть легко і швидко навчитися працювати з графічним інтерфейсом.
2. Кожна програма виконується в своєму вікні (екрані). Можна перемикатися з однієї програми в іншу, не втрачаючи при цьому дані, отримані в ході виконання програм.
3. Режим повноекранного відображення вікон дає можливість прямого доступу до будь-якого місця екрану.
39. Приклади графічних середовищ користувача. Організація текстового сеансу роботи користувача.
Графічне середовище користувача — середовище між комп'ютером і його користувачем, що використовує піктограми, меню, і вказівний засіб для вибору функцій та виконання команд. Зазвичай, можливе відкриття більше, ніж одного вікна на одному екрані.
ГСК — система засобів для взаємодії користувача з комп'ютером, заснована на представленні всіх доступних користувачеві системних об'єктів і функцій у вигляді графічних компонентів екрану (вікон, значків, меню, кнопок, списків і т. п.). При цьому, на відміну від середовища командного рядка, користувач має довільний доступ (за допомогою клавіатури або пристрою координатного введення типу «миша») до всіх видимих екранних об'єктів.
Можна виділити наступні види ГСК:
· простий: типові екранні форми та стандартні елементи інтерфейсу, забезпечувані самої підсистемою ГСК;
· істинно-графічний, двовимірний: нестандартні елементи інтерфейсу та оригінальні метафори, реалізовані власними засобами програми або сторонньої бібліотекою;
· тривимірний
Текстовий режим роботи користувача в ОС Linux.
Під текстовим режимом розуміють введення команд користувачем лише з командного рядка, для чого їх потрібно спочатку набрати на клавіатурі. Прикладом
консольної команди для запуску програми менеджера файлів МС є mc.
Розглянемо три варіанти запуску сеансу роботи ОС Linux у текстовому режимі:
• реєстрація у текстовому режимі (Session — Failsave);
• використання спеціальних програм-емуляторів терміналу;
• переведення на іншу віртуальну консоль.
Щоб запустити текстовий режим з графічної оболонки, потрібно за допомогою пункту меню Виконати ввести назву відповідної програми, наприклад, xterm,
konsole тощо. Програма konsole є стандартною для KDE.
В ОС Linux реалізована можливість одночасної роботи на одному комп'ютері декількох користувачів — це багатокористувацька система. Завдяки концепції
віртуальних консолей користувачам не потрібно кожного разу перереєстровуватись.
Для переходу на консоль з номером n слід натиснути Ctrl + Alt + Fn. Під час переходу на іншу консоль користувач автоматично потрапляє у текстовий режим, де
необхідно увести свій логін (localhost login) та пароль (Password). Після закінчення сеансу роботи потрібно виконати логоф, увівши команду logout. Для повернення у
графічну оболонку треба натиснути Alt + F8.
Загальний порядок завантаження ОС. Ланцюгове завантаження.
Завантаження операційної системи — це багатокроковий процес запуску комп'ютера.
ЕТАПИ ЗАГРУЗКИ ОС UNIX^
Досистемний завантажувач
Визначає (можливо, за допомогою користувача), з якого пристрою буде йти завантаження, завантажити звідти спеціальну програму-завантажувач і запустити її.
Завантажувач першого рівня
Його завдання: визначити, де на диску знаходиться завантажувач другого рівня, завантажити його в пам'ять і передати йому управління.
Завантажувач другого рівня
вторинний завантажувач читає образ ядра в певну адресу пам'яті і передає туди управління.
Ініціалізація ядра операційної системи
Першим ділом ядро займається визначенням параметрів обчислювальної підсистеми комп'ютера: з'ясовує тип і швидкодія центрального процесора, обсяг оперативної пам'яті, об'єм і структуру кеш-пам'яті; робить припущення про архітектуру комп'ютера в цілому і багато іншого.
На наступному кроці ядро визначає склад і архітектуру всього апаратного наповнення комп'ютера: тип і параметри шин передачі даних і пристроїв управління ними (контролерів), список зовнішніх пристроїв, доступних по шинах, налаштування цих пристроїв - діапазон портів вводу-виводу, адреса ПЗУ, займане апаратне переривання, номер каналу прямого доступу до пам'яті і т.п
Процес init
З цього моменту операційна система забезпечує повноцінну функціональність всім виконуваного процесу. В UNIX Перший запускає процесом є init, про який сказано в наступному розділі.
Linux Loader - це стандартний завантажувач, який входить до складу Unix-систем, у тому числі і практично всіх дистрибутивів Linux. З його допомогою можна завантажувати операційні системи, що відносяться не тільки до сімейства Unix, але і Windows. Більшість сучасних дистрибутивів Linux при установці LILO самостійно внесуть інші операційні системи до списку завантаження, а стару MBR (Master Boot Record, основний завантажувальний запис) диска, на який він встановлюється, дбайливо збережуть у резервному файлі. Безпосередньо LILO завантажує тільки Linux, решта ОС запускаються методом ланцюгової завантаження, тобто LILO передає цю задачу їх власним завантажувачу.