
- •Особливості апаратних платформ
- •Особливості областей використання
- •Особливості методів побудови
- •Моделі операційних систем
- •Стратегії планування процеcу. Основні поняття планування процесів
- •4.3 Планування в інтерактивних системах
- •Адресний простір процесу
- •Розподіл пам'яті розділами змінної величини тобто динамічними розділами.
- •Переміщувані розділи
- •Методи розподілу пам'яті з використанням дискового простору Поняття віртуальної пам'яті
- •Сторінковий розподіл
- •Сегментний розподіл
- •Сторінково-сегментний розподіл
- •1 Алгоритми заміщення сторінок
- •2. Алгоритм nru (Not Recently Used - сторінка, що не використалася останнім часом)
- •3. Алгоритм fifo (перша прибула - перша вивантажена)
- •5. Алгоритм "годинник"
- •6. Алгоритм lru (Least Recently Used - що використалася найрідше)
- •8. Алгоритм wsClock
- •Устрій віртуальної пам'яті
- •Структура мережної операційної системи
- •Модель osi. Основна термінологія
- •Передача даних у мережі
- •Поясніть принцип розподілу мережених адрес.
- •Перелічіть класи мереж.
- •Поясніть призначення та принцип дії транспортних протоколів.
- •Основні характеристики файлової системи fat
- •Фундамент fat32
- •Деталі форматування
- •Стабільність файлової системи
- •Основа ntfs
- •Основні характеристики
- •Структура розділу
- •Метафайли
- •Файли і каталоги
- •Конфіденційність і схоронність даних
- •Файли необхідні для успішного завантаження Windows 2000/хр
- •Захист системи, від несанкціонованого відновлення паролю
1 Алгоритми заміщення сторінок
Ідеальний алгоритм полягає в тому, що б вивантажувати ту сторінку, яка буде запитана пізніше за всіх.
Але цей алгоритм не здійснимо, оскільки не можна знати яку сторінку коли запитають. Можна лише набрати статистику використання.
2. Алгоритм nru (Not Recently Used - сторінка, що не використалася останнім часом)
Використовуються біти звернення (R-Referenced) і зміни (M-Modified) в таблиці сторінок.
При зверненні біт R виставляється в 1, через деякий час ОС не переведе його в 0.
M переводиться в 0, тільки після запису на диск.
Завдяки цим бітам можна одержати 4-ре класу сторінок:
1. не було звернень і змін (R=0, M=0)
2. не було звернень, була зміна (R=0, M=1)
3. було звернення, не було змін (R=1, M=0)
4. було звернень і змін (R=1, M=1)
3. Алгоритм fifo (перша прибула - перша вивантажена)
Недолік полягає в тому, що найбільш часто запрошувана сторінка може бути вивантажена.
4. Алгоритм "друга спроба"
Подібний FIFO, але якщо R=1, то сторінка переводиться в кінець черги, якщо R=0, то сторінка вивантажується.
5. Алгоритм "годинник"
Щоб уникнути переміщення сторінок за списком, можна використовувати покажчик, який переміщається за списком.
6. Алгоритм lru (Least Recently Used - що використалася найрідше)
Перший метод:
Щоб реалізувати цей алгоритм, можна підтримувати список, в якому вибудовувати сторінки по кількості використання. Ця реалізація дуже дорога.
Другий метод:
У таблиці сторінок додається запис - лічильник звернень до сторінки. Чим менше значення лічильника, тим рідше вона використовувалася.
7. Алгоритм "робочий набір"
Заміщення сторінок за запитом - коли сторінки завантажуються на вимогу, а не наперед, тобто процес уривається і чекає завантаження сторінки.
Буксування - коли кожну наступну сторінку доводиться процесу завантажувати в пам'ять.
Щоб не відбувалося частих переривань, бажано щоб часто запрошувані сторінки завантажувалися наперед, а інші підвантажувалися з потреби.
Робочий набір - безліч сторінок (к), яку процес використовував до моменту часу (t). Тобто можна записати функцію w(к,t).
Тобто робочий набір виходить в насичення, значення w(к,t) в режимі насичення може служити для робочого набору, який необхідно завантажувати до запуску процесу.
Алгоритм полягає в тому, щоб визначити робочий набір, знайти і вивантажити сторінку яка не входить в робочий набір.
Цей алгоритм можна реалізувати записуючи, при кожному зверненні до пам'яті, номер сторінки в спеціальний регістр, що зрушується, потім віддалялися б дублюючі сторінки. Але це дорого.
У принципі можна використовувати безліч сторінок до яких звертався процес за останніми t секунд.
Поточний віртуальний час (Tv) - час роботи процесора, який реально використовував процес.
Час останнього використання (Told) - поточний час при R=1, тобто всі сторінки перевіряються на R=1, і якщо та той поточний час записується в це поле.
Тепер можна обчислити вік сторінки (не оновлення) Tv-Told, і порівняти з t, якщо більше, то сторінка не входить в робочий набір, і сторінку можна вивантажувати.
Виходить три варіанти:
якщо R=1, той поточний час запам'ятовується в полі час останнього використання
якщо R=0 і вік > t, то сторінка віддаляється
якщо R=0 і вік =< t, то ця сторінка входить в робочий набір