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

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

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

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

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

До складу ядра входять функції, які вирішують внутрішньосистемні задачі організації обчислювального процесу, такі як перемикання контекстів, завантаження / розвантаження станиць, обробка переривань. Ці функції недоступні для додатків. Інший клас функцій ядра служить для підтримки додатків, створюючи для них так звану прикладну програмну середу. Додатки можуть звертатися до ядра з запитами - системними викликами - для виконання тих чи інших дій, наприклад для відкриття і читання файлу, виведення графічної інформації на дисплей, отримання системного часу і т. Д. Функції ядра, які можуть викликатися додатками, утворюють інтерфейс прикладного програмування - API.

Схожі статті