- •Операційні системи та мережі ЕОМ
- •Апаратний захист адресів пам’яті
- •Апаратний захист пам’яті з теговою архітектурою (tagged architecture)
- •Апаратний захист
- •Захист процесора
- •Архітектура ОС
- •Основні компоненти ОС
- •Управління процесами
- •Управління процесами: семафори (E.W. Dijkstra, 1966)
- •Управління процесами: монітори (Sir Tony Hoare, 1974)
Операційні системи та мережі ЕОМ
Operating Systems
and Networking
Лекція 5
Апаратний захист адресів пам’яті
2
Апаратний захист пам’яті з теговою архітектурою (tagged architecture)
МВК “Эльбрус”, Burroughs 6700/7700
Кожне слово пам’яті має тег – інформацію про тип данних, який зберігається в данному слові
Структура адресного слова (дескриптора – descriptor): тег (“адресна інформації”); адреса початку масиву; довжина масиву; біти захисту
Формування та зміна декриптора можлива тільки методами ОС в привілейованому режимі
В операції a[i] апаратно провіряється, що індекс і не виходить за межі масиву а.
3
Апаратний захист
При виконанні в привілейованому режимі ОС має необмежений доступ як до пам’яті монітора, так і до пам’яті користувача
Команди запису значень в реєстри base і limit – привілейовані
В системах з теговою архітектурой – тільки привілейована команда може сформувати новий дескриптор на область пам’яті, або змінити поле в дескрипторі (наприклад, адрес початку або довжину)
4
Захист процесора
Таймер перериває процесор через вказаний період часу, щоб упевнитися, що ОС зберігає управління
Значення таймера зменшується через кожний квант процесорного часу(clock tick).
Коли значення таймера стає рівним нулю, коли відбувається переривання.
Таймер в основному використовується для реалізації режиму розділення по часу (time sharing).
Таймер використовується також для знаходження поточного часу.
Команда запису значення в таймер - привілейована.
5
Архітектура ОС
Компоненти системи
Сервіси (служби) системи
Системні виклики
Системні програми
Структура системи
Віртуальні машини
Проектування і реалізація системи
Генерація системи
6
Основні компоненти ОС
Управління процесами
Управління основною пам’яттю
Управління файлами
Управління системою вводу-виводу
Управління зовнішньою пам’яттю
Підтримка мереж (networking)
Системи захисту (protection)
Система підтримки командного інтерпритатора (Windows: MS DOS Prompt; UNIX: shells – sh, csh, ksh, bash, etc.)
7
Управління процесами
Процес (process) – це програма при її виконанні. Для процеса потрібно ряд ресурсів, включаючи час процесора, пам’ять, файли, пристрої вводу-виводу, мережеві пристрої.
Зазвичай при створенні процесу для нього створюється новий простір віртуальної памяті (але: для lightweight process – створюється тільки стек)
ОС відповідає за наступні дії, пов’язані з управлінням процесами:
Створення і видалення процесів
Зупинка і продовження процесів
Забезпечення механізмів для:
Синхронізації процесів (семафори, монітори і тд.)
Взаємодія процесів (умовні змінні, події, рандеву і тд.)
8
Управління процесами: семафори (E.W. Dijkstra, 1966)
Двійковий семафор – змінна S, яка може знаходитись в двох станах: “відкрито” и “закрито”
Операції над S - “семафорні лапки”: P(S) – закрити, V(S) – відкрити
При спробі закрити вже закритий семафор відбувається переривання, і ОС добавляє цей процес в чергу до закритого семафору
Операція V(S) активізує перший в черзі до S процес, який успішно закінчує операцію P(S)
Синхронізація по ресурсам: P(S); critical_section; V(S);
Операції P и V – атомарні (atomic) для інших процесів
9
Управління процесами: монітори (Sir Tony Hoare, 1974)
Монітор – багатовхідний модуль М, в якому позначені загальні для процесів данні D (сховані) і (абстрактні) операції P1, … PN над цими данними (у вигляді процедур)
В кожен момент не більше ніж один із паралельних процесів може визвати будь-яку із операцій:
M.Pi (X, Y, …)
Виклик кожної операції монітора є атомарним (як і в операції над семефором)
Монітор – ще один механізм синхронізації процесів по ресурсам
Монітори включені Ч. Хоаром в розроблену ним мову Concurrent Pascal (Pascal + конструкція “monitor”) для паралельного прогрaмування і розробки ОС
10
Q & A
Питання та відповіді
11
