Hopp til innhold

Ядро операційної системи

Skip to content

Це машинний переклад тексту, який може містити помилки!

Коли ви зберігаєте файл, програмі потрібен доступ до сховища даних. Коли кілька програм працюють одночасно, їм потрібні як час процесора, так і пам’ять. Ядро операційної системи (ядро) — це частина операційної системи, яка керує такими ресурсами та надає програмам контрольований доступ до них.

Тут вам слід пояснити, яку функцію виконує ядро, а також відрізняти його від операційної системи в цілому та від інтерфейсу користувача.

Місце в серії: Це Частина 3 з циклу Операційна система. [[Операційна система Рівень 1 - Що таке операційна система|Частина 1]] пояснює загальну картину; [[Операційна система Рівень 2 - GUI і CLI|Частина 2]] демонструє інтерфейси користувача. Почніть звідти, якщо ці поняття для вас нові. Цю сторінку також використовують як основу для віртуалізації та контейнеризації у Vg2.

Ядро є частиною операційної системи

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

Операційна система містить більше, ніж лише ядро. Вона також має бібліотеки, системні служби та інструменти, які роблять систему придатною для використання та адміністрування. Командний інтерпретатор або графічний робочий стіл надають вам користувачівський інтерфейс до системи.

Тому ви можете прибрати робочий стіл з сервера Linux і все одно мати функціональну операційну систему. Ядро та інші необхідні компоненти системи досі присутні.

Що робить ядро?

Ресурс або завдання Що обробляє ядро
Процесор (ЦП) Розподіляє час процесора між процесами, тобто програмами, що виконуються.
Оперативна пам’ять (ОЗП) Керує областями пам’яті та захищає їх від несанкціонованого доступу з боку інших процесів.
Зберігання та пристрої Забезпечує доступ за допомогою, серед іншого, файлових систем і драйверів. Драйвер — це програмне забезпечення, яке керує певним типом пристрою.
Права Контролює багато запитів від програм щодо прав користувача та процесу.

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

Приклад: Ви зберігаєте текстовий файл

  1. Ви обираєте Зберегти у текстовому редакторі.
  2. Програма надсилає запит до операційної системи на запис даних у файл.
  3. Ядро обробляє запит, зокрема права та доступ через файлову систему і драйвер.
  4. Програма отримує повідомлення про результат і може відобразити успішність або невдачу збереження.

Той самий тип системного сервісу використовується незалежно від того, чи започатковано запит із графічної програми, чи з командного рядка. Графічний інтерфейс (GUI) і командний рядок (CLI) — це користувацькі інтерфейси; ядро керує системними ресурсами. Приклад спрощений: кешування та всі деталі запису на фізичний диск опущені.

Linux, Debian та Ubuntu: що є чим?

Linux — це назва ядра операційної системи. У побуті цю назву також використовують для позначення повних операционных систем на базі Linux. Дистрибутив Linux, наприклад Debian або Ubuntu, поєднує ядро Linux із бібліотеками, інструментами, програмою встановлення та системою пакетів.

Поняття Зв’язок з іншими компонентами
Ядро Linux Частина операційної системи на базі Linux.
Debian та Ubuntu Дистрибутиви, засновані на ядрі Linux. Вони можуть використовувати різні версії ядер і конфігурації.
GNOME та KDE Plasma Приклади графічних середовищ робочого столу. Їх можна встановити чи видалити без заміни самого ядра операційної системи.
Bash Командна оболонка, яка дозволяє вам виконувати команди. Це програма, а не ядро.

Перевірте Linux-машину, якщо у вас є така

У терміналі Linux ви можете отримати назву та версію запущеного ядра системи:

uname -s
uname -r

Перша команда має відображати Linux. Друга показує версію ядра саме на цьому комп’ютері; вона не обов’язково повинна збігатися із версією вашого однокласника/одногоднішника за курсом. Команди нічого не змінюють і не потребують привілеїв адміністратора (sudo).

Щоб дізнатись, яку дистрибуцію Linux ви використовуєте, перегляньте іншу інформацію:

cat /etc/os-release

Шукайте PRETTY_NAME, наприклад, назву, що містить Debian або Ubuntu. Версія ядра та версія дистрибутива — це різні дані. Використовуйте цей розділ для Linux; вам не потрібно встановлювати Linux, щоб виконати самодіагностику нижче.

Чому ядро з’являється у віртуальних машинах і контейнерах?

Віртуальна машина працює гостьовою операційною системою зі власним ядром. Контейнери Linux ділять ядро системи Linux, на якій вони виконуються. Коли Docker запускається всередині віртуальної машини Linux, контейнери ділять ядро віртуальної машини.

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

Перевірте своє пояснення

  1. Ви прибираєте GNOME з сервера Debian. Чи видалили ви також ядро? Обґрунтуйте свою відповідь.
  2. Дві програми одночасно записують файли. Яка частина керує доступом до системних ресурсів?
  3. uname -r та PRETTY_NAME показують різні номери версій. Чому обидва можуть бути правильними?

Перевірте відповідь: GNOME — це середовище робочого столу, і його вилучення само по собі не видаляє ядро. Ядро керує доступом програм до системних ресурсів разом із іншими підсистемами системи. uname -r показує версію ядра, тоді як PRETTY_NAME описує дистрибутив.

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

Джерела: Red Hat: Ядро Linux, Операційні системи з основою Linux та uname. Ілюстрацію намалювали для цього ресурсу.