Способи оплати Abuse

Завдання, які виконує ядро Linux

08.11.2022, 22:03

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

Основні функціональні завдання ядра Linux

Однак завдання ядра не зводяться лише до того, щоб обробляти переривання. Також воно включає керуючі програми пристроїв. Драйвери необхідні для обробки сигналів, що надходять із пристроїв. Їм відводиться більша частина ядра. Частина знаходиться у вигляді бінарних файлів. Версія ядра без закритих драйверів це Linux-libre, на практиці використати не так просто, адже зібрати PC на основі комплектуючих тільки з відкритими драйверами не завжди вдасться.

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

З боку програмного забезпечення користувача це виглядає як фізичне обладнання з різницею, що процесор і RAM спілкуються не безпосередньо, а за допомогою системних викликів. У каталозі /dev знаходяться символьні та блокові посилання для периферійних пристроїв. Відмінна риса блокових посилань - вони працюють тільки з блоками встановленого розміру.

Незважаючи на контроль ядром усіх процесів, саме воно нічого не робить, воно потребує призначеного для користувача програмного забезпечення і виконуваних цим програмним забезпеченням процесів. Серед базових програма потрібно відзначити утиліти GNU: без них складно уявити будь-який дистрибутив Linux. Як приклад - командна оболонка Bash, що дає змогу вводити команди в консолі.