Структура операційної системи UNIX
На структурному рівні операційна система має вигляд дворівневої моделі (рис. 13.3). На першому рівні, у центрі операційної системи, міститься ядро, що безпосередньо взаємодіє з апаратною частиною комп’ютера. Функціонально розташовуючись між апаратною частиною і прикладними програмами, ядро забезпечує необхідну незалежність операційної системи від апаратури. Ядро надає прикладним програмам набір сервісів, до яких належать: операції введення-виведення (відкриття, читання і запис файлів та керування ними), створення процесів і керування ними, їх синхронізація, операції міжпроцесорної взаємодії. Всі прикладні програми запитують сервіси ядра стандартно, використовуючи для цього механізм системних викликів.
Другий рівень складають системні і прикладні програми або задачі. Незважаючи на зовнішню відмінність прикладних програм, схеми їхньої взаємодії з ядром є однаковими. Ядро виконує базові функції операційної системи: створює процеси і керує ними, розподіляє пам’ять і забезпечує доступ до файлів та периферійних пристроїв. Взаємодія прикладних задач з ядром відбувається за допомогою стандартного інтерфейсу системних викликів. Інтерфейс системних викликів — це набір сервісів ядра, який визначає формат запитів на них. Процес запитує сервіс за допомогою системного виклику певної процедури ядра, схожого на звичайний виклик бібліотечної функції. Ядро від імені процесу виконує запит і повертає процесу потрібні дані. Структура ядра зображена на рис. 13.4.
Рис. 13.3. Структура операційної системи UNIX
Ядро складається з трьох основних підсистем, а саме: файлової, керування процесами і пам’яттю, введення-виведення.
Файлова підсистема забезпечує уніфікований інтерфейс доступу до даних, розташованих на дискових накопичувачах, і до периферійних пристроїв. Ті самі функції можуть використовуватись як під час читання або запису даних на диск, так і у разі виведення тексту на принтер або термінал. Файлова підсистема контролює права доступу до файлів, виконує операції розміщення і вилучення файлів, а також виконує запис-читання вмісту файлів. Оскільки більшість прикладних функцій здійснюється через інтерфейс файлової системи (у тому числі й доступ до периферійних пристроїв), права доступу до файлів визначають привілеї користувача у системі. Файлова підсистема забезпечує перенаправлення запитів, адресованих периферійним пристроям, що відповідають модулям підсистеми введення-виведення.
Рис. 13.4. Структура ядра UNIX
Керування процесами та їх взаємодія між собою здійснюється за допомогою підсистеми керування процесами, яка контролює:
· створення і видалення процесів;
· розподіл системних ресурсів між процесами;
· синхронізацію процесів;
· міжпроцесорну взаємодію.
Загалом, кількість активних процесів перевищує кількість процесорів комп’ютера, але у кожний конкретний момент часу на кожному процесорі може виконуватися тільки один процес. Операційна система керує доступом процесів до обчислювальних ресурсів, створюючи відчуття одночасного виконання кількох задач. Спеціальна процедура ядра, що називається планувальником процесів (scheduler), усуває конфлікти між процесами у конкуренції за системні ресурси (процесор, пам’ять, пристрої введення-виведення). Планувальник запускає процес на виконання, не дозволяючи окремому процесу монопольно використовувати системні ресурсі.
Дата добавления: 2015-08-11; просмотров: 835;