You are on page 1of 34

30.09.

2020
доц., к.т.н. Вайганг Ганна
Олександрівна

Операційні
системи
Лекція 3-4
Функції, склад та
архітектура операційних
систем.
План лекції
1. Функціональні компоненти операційних систем
2. Склад операційних систем
3. Архітектури операційної системи
- Ядро і системнепрограмне забезпечення
- Привілейований режим і режим користувача
- Монолітна архітектура
- Багаторівнева архітектура
- Мікроядрова архітектура
- Архітектура ОС UNIX і Windows
- Об'єктна архітектура
1.Функціональні компоненти
операційних систем
Функції операційних систем.

Виділяють дві основні функції операційних систем:

• Операційна система як розширена машина

• Операційна система як менеджер ресурсів

• Керування процесами й потоками


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

Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).

Операційна система містить функції, котрі об’єднують набори команд читання\запису на


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

Приклад: для безпосереднього запису на жорсткий диск потрібно було б звертатися до


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

Виділення абстракцій дає змогу досягти апаратної незалежності прикладних програм, за


умови, що дане апаратне забезпечення підтримується операційною системою.
Операційна система як
менеджер ресурсів
Операційна система в якості менеджера ресурсів здійснює такі функції:

Керування оперативною пам'яттю (розподіл між процесами,


організація віртуальної пам'яті).
Керування доступом до даних зовнішніх носіїв (жорсткий диск,
оптичні диски тощо).
Мережеві операції.
Паралельне або псевдопаралельне виконання задач
(багатозадачність).
Організація надійних обчислень, що базується на розмежуванні
доступу до ресурсів (неможливості впливу одного процесу на перебіг
інших).
Організація взаємодії між процесами: обмін даними, синхронізація.
Захист самої системи, а також користувацьких даних і програм від дій
користувача або програм.
Розділення прав доступу (аутентифікація, авторизація).
Функціональні компоненти
операційних систем

Файлова система як принцип організації даних у вигляді файлів.


Файл – набір даних у файловій системі, доступ до яких здійснюється
за іменем.
Виділяють два рівні файлової системи:
Логічний рівень – визначає зовнішнє подання файлової системи як
сукупності файлів, виконання операцій над файлами.
Фізичний рівень – визначає принципи розміщення структур даних
файлової системи на певному пристрої.
Засоби мережної підтримки
Засоби убезпечення даних
Забезпечення надійності системи (захист даних від втрати у разі збоїв)
Захист від несанкціонованого доступу
Засоби взаємодії користувача з операційною системою:
Командний інтерпретатор – взаємодія з операційною системою
шляхом командної мови.
Графічний інтерфейс користувача – керування з допомогою вікон.
кнопок, меню.
Функціональні компоненти
мережевих ОС
Мережева операційна система -
операційна система з вбудованими
можливостями для роботи в
комп'ютерних мережах.

Мережева операційна система

Засоби управління
локальними ресурсами

Мережеві засоби

Підтримка: Серверна Клієнтська


мережевого обладнання; частина частина
мережевих протоколів;
протоколів маршрутизації; Транспортні засоби
фільтрації зв'язку;
доступу до віддалених ресурсів;
підтримку мережевих протоколів авторизації.
Основні функції ОС

 Керування процесами і потоками


 Керування пам'яттю
 Керування введенням-виведенням
 Керування файлами (файлові
системи)
 Мережна підтримка
 Безпека даних
 Інтерфейс користувача
2. Склад операційних систем.
Склад операційних систем

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


компонентів:
ядро операційної системи, що забезпечує розподіл та управління
ресурсами обчислювальної системи;
базовий набір прикладного програмного забезпечення, системні
бібліотеки та програми обслуговування.

Ядро системи — це набір функцій, структур даних та окремих


програмних модулів, які завантажуються в пам'ять комп'ютера при
завантаженні операційної системи та забезпечують три типи системних
сервісів:
управління введенням-виведенням інформації (підсистема вводу-
виводу ядра ОС);
управління оперативною пам'яттю (підсистема управління
оперативною пам'яттю ядра ОС);
управління процесами (підсистема управління процесами ядра ОС).
3. Архітектура операційних
систем
Базові поняття
 Архітектура операційної системи визначає набір і
структурну організацію компонентів, кожний з яких
відповідає за певні функції, а також порядок взаємодії
цих компонентів між собою та із зовнішнім середовищем.
 Фундаментальні можливості, які надають компоненти
ОС, становлять механізм (mechanism). Рішення щодо
використання цих можливостей визначають політику
(policy). Механізм може бути відокремленим від політики,
тоді компонент, що його реалізує, називають “вільним від
політики” (policy-free).
 Базові компоненти ОС, які відповідають за найважливіші
функції і виконуються у привілейованому режимі (і
зазвичай перебувають у пам'яті постійно), називають
ядром операційної системи (operating system kernel).
Ядро і системне
програмне забезпечення
 Ядро
 Виконується в привілейованому режимі
 Постійно перебуває в оперативній пам'яті
 Зазвичай виконує такі функції:
• Обробка переривань
• Керування пам'яттю
• Керування введенням/виведенням
 Системне програмне забезпечення
 Системні програми (утиліти)
• Командний інтерпретатор
• Програми резервного копіювання та відновлення даних
• Засоби діагностики та адміністрування
 Системні бібліотеки
Привілейований режим і
режим користувача
 Привілейований режим (режим ядра)
 Дозволяє втручатись в роботу будь-якої програми
(наприклад, для перемикання контекстів або для
розв'язання конфліктів)
 Режим користувача
 Не дозволяє критичні команди (зупинка системи,
перемикання контекстів, прямий доступ до пам'яті з
заданими межами та до пристроїв введення-виведення)
 Доступ до функцій ядра здійснюється через системні
виклики

 Необхідна апаратна підтримка з боку процесора


Типова архітектура ОС: ядро
у привілейованому режимі

Утиліти ОС Прикладні програми користувача

Режим користувача

Привілейований режим

Ядро
Архітектура ОС Novell
NetWare: ядро і прикладні
програми в одному режимі
Режим користувача

Привілейований режим

Завантажувані
модулі NLM
 Перевага – швидкодія Ядро
 Недолік – відсутній захист
NetWare — це мережева операційна система та набір мережевих протоколів, що
використовуються у цій системі для взаємодії з комп'ютерами-клієнтами, підключенними
до мережі. NetWare — це закрита операційна система, що використовує коперативну
багатозадачність для виконання різних служб на комп'ютерах з архітектурою Intel x86. В
основі мережевих протоколів системи лежить стек протоколів Xerox XNS. Зараз NetWare
підтримує протоколи TCP/IP та IPX/SPX.
Різні архітектури ОС
 Монолітні системи
 Усі компоненти знаходяться в ядрі
 Немає чіткої ієрархії компонентів
 Єдиний адресний простір ядра
 Багаторівневі системи
 Компоненти утворюють ієрархію рівнів (шарів)
 Кожний рівень спирається на функції попереднього рівня
 Мікроядрова архітектура
 Реалізація більшості функцій винесена за межі ядра у
прикладні сервери
 Прикладні сервери і програми користувача взаємодіють
шляхом обміну повідомленнями
 Ядро підтримує:
• управління адресним простором оперативної і віртуальної пам'яті
• управління процесами і потоками
• засоби міжпроцесної вдаємодії
Архітектура системи UNIX
(монолітне ядро)
Базові послуги
Прикладні
програми Системні послуги
init
cat inetd Мережа
vi routed
Ядро
getty Термінал
XDesktop
Користувачі lp
sh cc
Система друкування

Система розробки
Структура монолітного
ядра
Структура ядра Linux
Програми користувача

Рівень
Системні бібліотеки
користувача

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

Файлова підсистема
Планувальник

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

Керування
Підсистема пам’яттю
введення-виведення

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

Апаратне забезпечення Рівень


апаратури
Концепція багаторівневої
системи

Рівень k+1

Міжрівневий
f1 f2 інтерфейс

Рівень k
Структура ядра
багаторівневої системи
 Засоби апаратної
підтримки ОС
 Засоби абстрагування
від устаткування
(hardware abstraction
layer, HAL)
Устаткування
 Засоби, що реалізують
базові механізми ядра
 Засоби керування
ресурсами (менеджери
ресурсів)
 Інтерфейс системних
викликів
Мікроядрова архітектура
Утиліти ОС

Прикладні програми користувача

Сервери ОС

Режим користувача

Привілейований режим
Мікроядро
Розвиток концепції
мікроядра
 Гібридне ядро (Hybrid kernel) — гібрид мікроядра і монолітного
ядра
 Деякі “несуттєві” процеси запускаються у просторі ядра
 Як будь-який гібрид, комбінує як переваги, так і недоліки
 Приклад — Microsoft Windows

 Екзоядро (Exokernel) — подальша мінімізація мікроядра


 Надає лише функції взаємодії між процесами і безпечного виділення
ресурсів
 Не надає абстракції!
 Приклад — MIT Exokernel Operating System

 Наноядро (Nanokernel) — подальша (максимальна) мінімізація


мікроядра
 Виконує лише одне завдання — оброблення апаратних переривань
 Після оброблення переривання, надсилає результат прикладним
програмам, використовуючи той самий механізи переривань
 Приклад — VMware ESX Server (гіпервізор)
Вертикальна декомпозиція
архітектури ОС Windows
Прикладне програмне забезпечення

DLL

Непривілейовані Системні Зв’язок між


інструкції сервіси процесами

Режим
Захищені сервери /
користувача
Засоби адміністрування

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

Апаратне забезпечення
Службові Програми Програми
процеси Win32 POSIX

Бібліотека підсистеми Win32 Бібліотека підсистеми POSIX

Базові Процес підсистеми Win32 Процес підсистеми POSIX

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


Режим
користувача

ОС
Програмний інтерфейс виконавчої системи
Windows NT виведення
Режим ядра

підсистеми
Менеджер
введення-

Менеджер процесів

Довідковий монітор
віртуальної пам’яті

енергоспоживання
Менеджер об’єктів

графічна
виклику процедур

Віконна і
Засіб локального

Менеджер кеша

plug-and-play

конфігурації
Менеджер

Менеджер

Менеджер
Менеджер
і потоків

безпеки
пристроїв і
Драйвери

драйвери
Графічні
ФС

Мікроядро

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

Апаратне забезпечення
Об'єктна архітектура
(Windows)
 Імена об'єктів організовані в єдиний простір імен
 Об’єкти надають універсальний інтерфейс для доступу до
системних ресурсів
 Доступ до усіх об'єктів здійснюється однаково
 Після створення об'єкта, або після отримання доступу до
наявного, менеджер об'єктів повертає прикладній програмі
дескриптор об'єкта (object handle)
 Забезпечено захист ресурсів
 Кожну спробу доступу до об'єкта розглядає підсистема
захисту

Об'єкт має заголовок і тіло. Структура заголовка об'єкта:


 Ім'я об'єкта, його місце у просторі імен
 Дескриптор захисту
 Витрата квоти (ціна відкриття дескриптора об'єкта)
 Список процесів, що отримали доступ до дескрипторів
об'єкта
Висновки
• Виділяють дві основні функції операційних систем: розширена
машина та менеджер ресурсів.
• Складовими операційних систем є: ядро, системні бібліотеки та
програми обслуговування.
• Функціональні компоненти операційних систем: процес,
віртуальна пам’ять, компоненти керування введенням/виведенням,
файлова система, засоби мережної підтримки, засоби убезпечення
даних, засоби взаємодії користувача з операційною системою.
Операційна система як
менеджер ресурсів
Операційна система в якості менеджера ресурсів здійснює такі функції:

Керування оперативною пам'яттю (розподіл між процесами,


організація віртуальної пам'яті).
Керування доступом до даних зовнішніх носіїв (жорсткий диск,
оптичні диски тощо).
Мережеві операції.
Паралельне або псевдопаралельне виконання задач
(багатозадачність).
Організація надійних обчислень, що базується на розмежуванні
доступу до ресурсів (неможливості впливу одного процесу на перебіг
інших).
Організація взаємодії між процесами: обмін даними, синхронізація.
Захист самої системи, а також користувацьких даних і програм від дій
користувача або програм.
Розділення прав доступу (аутентифікація, авторизація).
Функціональні компоненти
операційних систем

Файлова система як принцип організації даних у вигляді файлів.


Файл – набір даних у файловій системі, доступ до яких здійснюється
за іменем.
Виділяють два рівні файлової системи:
Логічний рівень – визначає зовнішнє подання файлової системи як
сукупності файлів, виконання операцій над файлами.
Фізичний рівень – визначає принципи розміщення структур даних
файлової системи на певному пристрої.
Засоби мережної підтримки
Засоби убезпечення даних
Забезпечення надійності системи (захист даних від втрати у разі збоїв)
Захист від несанкціонованого доступу
Засоби взаємодії користувача з операційною системою:
Командний інтерпретатор – взаємодія з операційною системою
шляхом командної мови.
Графічний інтерфейс користувача – керування з допомогою вікон.
кнопок, меню.
Функціональні компоненти
мережевих ОС
Мережева операційна система -
операційна система з вбудованими
можливостями для роботи в
комп'ютерних мережах.

Мережева операційна система

Засоби управління
локальними ресурсами

Мережеві засоби

Підтримка: Серверна Клієнтська


мережевого обладнання; частина частина
мережевих протоколів;
протоколів маршрутизації; Транспортні засоби
фільтрації зв'язку;
доступу до віддалених ресурсів;
підтримку мережевих протоколів авторизації.
Висновки
• Операційна система – це програмне забезпечення, що реалізує
зв’язок між прикладними програмами та апаратними засобами
комп’ютера; забезпечує керування обчислювальним процесом та
організує взаємодію з користувачем.
• Виділяють дві основні функції операційних систем: розширена
машина та менеджер ресурсів.
• Складовими операційних систем є: ядро, системні бібліотеки та
програми обслуговування.
• Функціональні компоненти операційних систем: процес,
віртуальна пам’ять, компоненти керування введенням/виведенням,
файлова система, засоби мережної підтримки, засоби убезпечення
даних, засоби взаємодії користувача з операційною системою.
Література
Базова
1. Шеховцов В. А. Операційні системи.
Підручник. К.: Видавнича група BHV, 2005. –
576 с.
2. Таненбаум Э., Вудхалл А. Операционные
системы. Разработка и реализация. 3-е изд. —
СПб.: Питер, 2007. — 704 с: ил.
3. Олифер В.Г., Олифер Н.А. Сетевые
операционные системы. 2-е узд. — СПб.:
Питер, 2009.

Додаткова
Гордеев А.В. Операционные системы: Учебник
для вузов. 2-е изд.- СПб.: Питер, 2005.- 416с.
Столлингс В. Операционные системы. – М.:
Вильямс, 2008 – 848 с.

You might also like