Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
всі білети.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
696 Кб
Скачать
☆

Архітектура операційних систем. Ядро системи. Привілейований режим і режим користувача.

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

До найважливіших функцій ОС, виконання яких звичайно покладають на ядро, належать обробка переривань, керування пам’яттю, керування введенням-виведенням. До надійності та продуктивності ядра висувають підвищені вимоги.

Основною характерною ознакою ядра є те, що воно виконується у привілейованому режимі. Розглянемо особливості цього режиму.

Для забезпечення ефективного керування ресурсами комп’ютера ОС повинна мати певні привілеї щодо прикладних програм. Треба, щоб прикладні програми не втручалися в роботу ОС, і водночас ОС повинна мати можливість втрутитися в роботу будь-якої програми, наприклад для перемикання процесора або роз0в’язання конфлікту в боротьбі за ресурси. Для реалізації таких привілеїв потрібна апаратна підтримка: процесор має підтримувати принаймні два режими роботи — привілейований і режим користувача.У режимі користувача недопусти- мі команди, які є критичними для роботи системи (перемикання задач, звертання до пам’яті за заданими межами, доступ до пристроїв введення-виведення тощо).

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

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

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

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

В ІЖІХ-системах образ процесу містить такі компоненти:

♦ керуючий блок процесу;

♦ код програми, яку виконує процес;

♦ стек процесу, де зберігаються тимчасові дані (параметри процедур, повернені

значення, локальні змінні тощо);

♦ глобальні дані, спільні для всього процесу.

Для кожного компонента образу процесу виділяють окрему ділянку пам'яті.

Міжпроцесова взаємодія на основі інтерфейсу файлової системи. Файли, що відображаються у пам'ять.

Інтерфейс відображуваної пам’яті POSIX

Відображення файлів у нам’ять відбувається за допомогою спеціального системного виклику; у POSIX такий виклик визначений як mmapO. Він призводить до того, що у визначену частину адресного прос тору процесу відображають заданий файл або його частину. Після виконання цього системного виклику доступ до такої пам’яті спричинятиме прямий доступ до вмісту цього файла (читання пам’яті аналогічне до читання із файла, її зміна аналогічна до зміни файла). Перед використанням цього виклику файл має бути відкритий.Особливості реалізації відображуваної пам’яті

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

Переваги й недоліки відображуваної пам’яті

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

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

Робота із відображуваними файлами може бути реалізована ефективніше. Це пов’язано з тим, що:

для роботи з ними достатньо виконати один системний виклик (mmap() або MapViewOfFileO), а далі працювати із ділянкою пам’яті в адресному просторі процесу; водночас для відкриття файла, читання, записування тощо потрібно виконувати окремі системні виклики;

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

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

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

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 7