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