You are on page 1of 16

Лекція 3.

Архітектура операційних систем.


Лекція 3.
Архітектура операційних систем.
План лекції.

1. Архітектура системи UNIX.


2. Архітектура системи Linux.
3. Архітектура системи Windows.
4. Архітектура системи Android.
1. Архітектура операційної
системи UNIX (базова)
Програми користувача Режим
користувача

Системні бібліотеки

Інтерфейс системних викликів Режим ядра

Міжпроцесорна
Файлова підсистема взаємодія
Підсистема
керування Планувальник
процесами
Буферний кеш Керування пам’
пам’яттю

Підсистема
введення-виведення

Драйвери символьних Драйвери блокових


пристроїв пристроїв

Засоби керування апаратурою

Режим
Апаратне забезпечення апаратури
Архітектура операційної системи UNIX
Компоненти режиму ядра
1. Підсистема керування процесами – контролює створення та вилучення
процесів, розподілення системних ресурсів між ними, міжпроцесову взаємодію,
керування пам’яттю.

2. Файлова підсистема – забезпечує єдиний інтерфейс доступу до даних,


розташованих на дискових накопичувачах та до периферійних пристроїв,
контролює права доступу до файлів.
!!! В UNIX-подібних
UNIX-подібних системах одні і ті самі системні виклики використовують як для обміну
даними з диском, так і для виведення на термінал або принтер (програма працює з принтером
як з файлом).

3. Підсистема введення-виведення – виконує запити файлової підсистеми.


Символьні пристрої – файли цих пристроїв потрібно зчитувати/записувати послідовно,
потоками символів. (принтер, модем)
Блокові пристрої – допускають прямий доступ до будь-якої ділянки файлу. (диск)

4. Інтерфейс системних викликів – обов’язково має містити визначений


стандартом POSIX мінімальний набір функцій для управління процесами, файловою
системою, правами користувачів, системним часом.

Стандарт POSIX (Portable Operating System) розроблений інститутом IEEE для забезпечення
сумісності усіх UNIX-подібних систем.
2. Архітектура операційної
системи Linux
В ОС Linux можна виділити три основні частини:
Планувальник
процесів

Менеджер пам’яті
Ядро Віртуальна файлова
система

Драйвери пристроїв

Мережний інтефейс

Підсистема міжпроцесорної
взаємодії

Системні - стандартний набір функцій для використання у прикладних


бібліотеки програмах

Системні - прикладні програми, які виконують спеціалізовані задачі


утиліти
Архітектура операційної системи Linux
Компоненти режиму ядра:

1. Планувальник процесів - відповідає за реалізацію багатозадачності


(робота з таймером, створення та завершення процесів та ін.)

2. Менеджер пам’яті - виділяє адресний простір для кожного процесу та


реалізує підтримку віртуальної пам’яті.

3. Віртуальна файлова система - надає універсальний інтерфейс взаємодії


з різними файловими системами та пристроями введення-виведення.

4. Драйвери пристроїв - забезпечують роботу з периферійними


пристроями.
5. Мережний інтефейс - забезпечує доступ до мережних протоколів та
драйверів мережних пристроїв.

6. Підсистема міжпроцесорної взаємодії - забезпечує обмін даними між


процесами.
Головні компоненти ядра Linux
Головні компоненти ядра Linux
Основні функціональні компоненти ядра:
Менеджер пам'яті – організація адресного простору і віртуальної пам'яті.
Планувальник процесів ‒ реалізує підтримку багатозадачності в
операційній системі: робота з таймером, створення процесів, завершення процесів і ін.
Міжпроцесова взаємодія ‒ механізми, що забезпечують обмін даними між
процесами.
Віртуальна файлова система ‒ інтерфейс взаємодії з різними файловими системами
та пристроями введення/виведення. Забезпечує доступ до драйверів пристроїв, що
забезпечують безпосередню роботу з периферійними пристроями.
Мережний інтерфейс ‒ забезпечує доступ до реалізації мережних протоколів і
драйверів мережних пристроїв.
В Linux підтримується так звана концепція модулів ядра, тобто комплекс незалежних
блоків. Ці блоки володіють, по-перше, динамічним зв’язуванням, при якому на вимогу
завантажуються у пам'ять і вивантажуються з неї окремі секції коду. Такі секції
(модулі) виконуються у привілейованому режимі. І, по-друге, стековою організацією,
при якій модулі організовані у вигляді певної ієрархічної структури.
3. Архітектура операційної
системи Windows
Програми користувача Режим
користувача

Бібліотека системного інтерфейсу

Режим ядра
Ядро NTOS.

Диспетчер Диспетчер
Графічні Диспетчер Диспетчер Менеджер
введення- процесів і
драйвери об’єктів кеша конфігурації
виведення потоків

Засіб
Диспетчер Менеджер
Драйвери локального Файлова Диспетчер
віртуальної енерго-
пристроїв виклику система безпеки
пам’
пам’яті споживання
процедур

Виконавчий рівень NTOS

Рівень абстрагування від апаратури (HAL)

Режим
Апаратне забезпечення апаратури
Архітектура операційної системи Windows
Компоненти режиму ядра.
1. Рівень абстрагування від устаткування (Hardware Abstraction
Layer, HAL). (hal.dll)
Завданням цього рівня є “приховати” залежні від апаратури команди для
роботи з регістрами процесора, пам’яттю, системним таймером та іншим
обладнанням, надаючи ядру системи та драйверам набір незалежних від
комп’ютера служб (процедур та макросів).
2. Ядро (ntoskrnl.exe) має два рівні:
1) Рівень ядра, котрий здійснює
- диспетчирезацію пасток, виключень, переривань,
- планування та синхронізацію процесів;

2) Виконавчий рівень – набір компонентів (диспетчерів), відповідальних за


найважливіші служби ОС.
Архітектура операційної системи Windows
Складові виконавчого рівня ядра:
1.Диспетчер об’єктів – відповідає за розподіл ресурсів у системі, підтримуючи їхнє
універсальне подання через об’єкти.
2.Диспетчер введення-виведення:
а) Реалізує єдиний інтерфейс для драйверів пристроїв,
б) Містить засоби Plug and Play.
в) Керує енергоспоживанням (економний режим для ноутбуків).

3. Диспетчер процесів і потоків – створює та завершує процеси та потоки, розподіляє для


них ресурси.
4. Диспетчер вітруальної пам’яті.
5. Диспетчер кешу – оптимізує продуктивність читання/запису у файловій системі.
6. Диспетчер конфігурації – компонент, що підтримку роботи з реєстром. Реєстр містить
конфігураційні файли для системи та прикладних програм.
7. Засіб для локального виклику процедур – забезпечує механізм зв’язку між процесами.

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


компонентами виконавчого рівня ядра.
Архітектура операційної системи Windows
Компоненти режиму користувача.
1. Бібліотека системного інтерфейсу. (ntdll.dll)
Надає набір функцій, кожній з яких відповідає функція режиму ядра. Використовуються підсистемами
середовища.
2. Підсистеми середовища.
Надають прикладним програмам доступ до служб операційної системи, реалізуючи інтерфейс
прикладного програмування – Application Programming Interface, API. У MS Windows це Win32 API (Win64 API
- сучасна).
До Win API входять компоненти:
• процес підсистеми (csrss.exe), котрий відповідає за реалізацію консольного введення-виведення,
створення та знищення процесів,
• бібліотеки функцій Win API. Найчастіше функції містяться у файлах kernel32.dll, user32.dll,
gdi32.dll.
3. Системні процеси.
• Менеджер сесій (Session manager, smss.exe). Запускається першим і запускає процес реєстрації
в системі.
• Процес реєстрації в системі (winlogon.exe) відповідає за допуск користувача в систему.
• Диспетчер керування службами (services.exe) відповідає за запуск служб планувальника задач,
журналу подій, відновлення системи, служби баз даних та веб-сервісів.
4. Прикладні програми.
Архітектура програмного забезпечення
Android
Архітектура програмного забезпечення
Android
Android визначається як програмний стек, який включає модифіковану версію ядра
Linux, проміжне програмне забезпечення і ключові програми.
Applications – рівень додатків;
Applications Framework – рівень спеціалізованих бібліотек для додатків;
System Libraries – системні бібліотекі;
Android Runtime – середовище виконання Android-додатків з їх компіляцією під час установки;
Linux Kernel – ядро ОС Linux.
Додатки. Всі додатки, з якими користувач взаємодіє безпосередньо є частиною рівня додатків.
Сюди входить основний набір додатків загального призначення, таких як поштовий клієнт,
програма SMS, календар, карти, браузер, контакти та інші додатки, які зазвичай використовуються
на будь-якому мобільному пристрої. Додатки зазвичай реалізуються на Java. Основна мета
архітектури Android з відкритим вихідним кодом полягає в тому, щоб полегшити розробникам
реалізацію нових додатків для конкретних пристроїв і конкретних вимог кінцевого
користувача.
Приклади типів базових додатків на платформі Android: Google Keep – нотатки та списки; Facebook,
WhatsApp Messenger, Instagram; Google Новини; Microsoft Word: правка документів та загальний
доступ; Google Документи та ін.
Висновки
•Операційна система UNIX є прикладом реалізації багаторівневої
архітектури.
•Операційна система Linux має монолітну архітектуру.
•Архітектура операційної системи Windows не належить до стандартних
типів. Вона має риси архітектури системи з мікроядром та багаторівневої
архітектури.
•Android визначається як програмний стек, який включає модифіковану
версію ядра Linux, проміжне програмне забезпечення і ключові програми.
Література:
1. Шеховцов В. А. Операційні системи. – К.: BHV, 2005 . -
576 с.
2. Таненбаум. Э. Современные операционные системы.2-е
изд. – СПб.: Питер, 2002. – 1040 с.

You might also like