- •Кафедра комп'ютерної інженерії опорний конспект лекцій до дисципліни "Системне програмне забезпечення "
- •Тема1. Загальне уявлення про операційну систему
- •Першою системою, побудованою таким чином була проста пакетна система the, яку побудував Дейкстра і його студенти в 1968 році.
- •Модель клієнт-сервер і мікроядра
- •Об'єктно-орієнтований підхід
- •Класифікація ос
- •Тема 2. Файлова система fat
- •Файлова система типа fat
- •7 Головка0
- •Структура логічних дисків
- •Алгоритм визначення ланцюжка кластерів
- •Функції створення і доступу до об'єктів файлової системи
- •Порушення структури файлової системи
- •Тема 3. Файлова система ntfs
- •Базові поняття в ntfs
- •Характеристики ntfs
- •Додаткові можливості ntfs
- •Фізична організація файлової системи ntfs
- •Mft і його структура
- •Метафайли
- •Файли і потоки
- •Каталоги
- •Атрибути файлів і каталогів
- •Короткі імена
- •Алгоритм визначення номера запису mft відповідною файлу із заданим ім'ям
- •Алгоритм пошуку номера запису mft для поточного елементу шляху по каталогу, який описаний записом mft з заданим номером
- •Каталогу із заданим номером запису mft
- •Алгоритм визначення повного списку елементів в каталозі за вказаним шляхом
- •Алгоритм отримання списку файлів в заданому індексному записі
- •Заголовок індексного запису для атрибуту index_root
- •Заголовок індексного запису для атрибуту index_allocation
- •Тема 4 . Організація пам'яті реального режиму
- •Організація пам'яті реального режиму
- •Звільнення і виділення блоків
- •Тема 5. Організація доступу до пам'яті в захищеному режимі
- •Сегмент
- •Структура дескриптора сегменту
- •Атрибут 2
- •Розподіл пам'яті в Windows
Звільнення і виділення блоків
Існує дев'ять стратегій виділення блоків пам'яті, які базуються на 3-х базових стратегіях і фактично є реалізацією їх в різних адресних діапазонах.
Кожен вид стратегії діє у встановленому для нього діапазоні адресного простору пам'яті:
1,2 і 3-я стратегії діють в межах основної пам’яті.( від 0 до 640 Кbyte пам'яті);
4,5 і 6-а стратегії діють в межах від 640 Кbyte до 1 Мbyte пам'яті (область UMB);
7,8 і 9-а стратегії діють в межах від 0 до 1 Мbyte пам'яті.
Стратегії:
1) діє лише в межах основної пам'яті і виділяє блок пам'яті відповідного розміру починаючи з молодших адрес;
2) діє в тому ж діапазоні, але виділяє найбільш оптимальний блок виходячи з вказаного розміру;
3) виділяє будь-який відповідний за розміром блок що максимально наближається до кінця основної пам’яті;
4,5,6) алгоритми абсолютно ідентичні 1,2 і 3, але діють в діапазоні від кінця основної пам'яті. до 1 Мbyte пам'яті.
7,8,9) алгоритми абсолютно ідентичні 1,2 і 3-у, але на початку здійснюється спроба виділити блок в UMB, і якщо спроба була невдала, то дії повторюються ще раз, але вже в основній пам'яті. Якщо і цьому випадку отримано негативний результат, то видається системне повідомлення про відсутність необхідного обсягу пам'яті. Резервування пам'яті для будь-якої стратегії починається з об'єднання вільних блоків, що стоять, поруч в один блок
Алгоритм першої стратегії.
Шукаємо перший вільний блок, довжина якого не менше потрібного. Якщо довжина знайденого вільного блоку відрізняється від необхідної довжини блоку більш ніж на 1 параграф, тоді вільний блок розбивається на 2 блоки.
Перший відповідає блоку необхідної довжини і виходячи з цього в MCB вільного блоку коректуються відповідні поля : адреса власника, ім'я і розмір. Другий – вільний блок, довжина якого:
DL_NEW_FREE_BLOCK = DL_FREE_BLOCK – DL_IS – 1
Де DL_FREE_BLOCK – довжина знайденого вільного блоку
DL_IS – довжина резервованого блоку
1 – довжина MCB.
Якщо знайдений блок був останнім, то другому блоку необхідно привласнити маркер останнього блоку «Z», інакше маркер «М».
Алгоритм 2-ої стратегії, повторює 1 з корекцією на те, що зі всіх вільних блоків вибирається той, довжина якого ближче до потрібної. Алгоритм 3-ей стратегії повторює 1, але до розгляду береться відповідний вільний блок в самих старших адресах.
Звільнення
Вказується адреса блоку і звільнення зводиться до того, що в MCB в полі власника прописується значення «0».
Тема 5. Організація доступу до пам'яті в захищеному режимі
Поняття адресних областей
Логічна і фізична адресація
Перетворення логічної адреси у фізичний
Таблиці глобальних і локальних дескрипторів
Розподіл адресного простору в ОС
Менеджер віртуальної пам'яті
Організація доступу до пам'яті в захищеному режимі
У реальному режимі максимальний розмір пам'яті обмежений 1 Mbyte.
Починаючи з Мп80386 існує 3 різних адресних області (пам'яті): логічна, лінійна і фізична, і відповідно до цього три типи адрес логічні, фізичні і лінійні.
Логічна адреса складається з 2-х складових:
14
селектор
0 31
зсув
0
Максимальна логічна адреса адресує область до 246 = 64 Tbyte. Така віртуальна область доступна програмістові (214 * 232 = 246 = 64 Tbyte).
Пристрій сегментації перетворить логічну адресну область в 32-х розрядну лінійну адресну область. Якщо сторінковий пристрій недоступний, то 32-х розрядна лінійна адреса збігається з фізичною адресою. Сторінковий пристрій перетворить лінійну адресну область у фізичну адресну область.
Головна відмінність між реальним і захищеним режимом полягає в тому, як пристрій сегментації виконує перетворення логічної адреси в лінійний. У реальному режимі сегментуючий пристрій здійснює наступне:.