6.Віртуальна пам’ять. Сторінкова організація пам’яті.
Більшість систем віртуальної пам’яті використовують техніку, яку називають сторінкова організація пам’яті. На будь-якому комп’ютері існує множина адрес в пам’яті, до яких може звернутись програма. Коли програма використовує наступну інструкцію MOV REG, 1000 вона робить це для того, щоб скопіювати вміст пам’яті за адресою 1000 в REG або навпаки в залежності від ПК. Адреси можуть формуватись з використанням індексації, базових регістрів, сегментних регістрів та іншими шляхами. Ці програмно-формовані адреси називаються віртуальними і вони формують віртуальний адресний простір.
На комп’ютері без віртуальної пам’яті віртуальні адреси подаються безпосередньо на шину пам’яті і викликаються для читання чи запису слова в фізичній пам’яті з цією адресою. Коли використовується віртуальна пам’ять, то віртуальні адреси не передаються на пряму шиною пам’яті. Замість цього вони передаються диспетчеру пам’яті, який відображає віртуальні адреси на фізичні адреси пам’яті (рис.6.3).
Центральний процесор надає віртуальні адреси диспетчеру пам’яті.
Рис.6.3. Розміщення і функції диспетчера пам’яті
Тут диспетчер пам’яті показано як частину процесора тому, що на сучасних комп’ютерах саме так. Але логічно він міг би бути окремо, так як це було раніше.
Простір віртуальних адрес поділено на одиниці, які називають сторінками. Відповідні одиниці в фізичній пам’яті називаються сторінковими блоками. Номер сторінки використовується в якості індексу в таблиці сторінок, що видає номер сторінкового блоку, який відповідає віртуальній сторінці. В фактичному апаратному забезпеченні сторінки які присутні в пам’яті відслідковуються за допомогою біта присутності (відсутності).
Багато комп’ютерів використовують багаторівневу таблицю сторінок. Це робиться з метою постійного зберігання в пам’яті всіх таблиць сторінок.
Сучасні комп’ютери містять невеликий апаратний пристрій, що служить для відображення віртуальних адрес в фізичні без проходження таблиці сторінок (буфер швидкого перетворення адреси або асоціативна пам’ять).
- Лекція 1. Вступ до операційних систем.
- 1.Поняття про операційні системи та їх місце в загальній структурі комп’ютера.
- 2. Основні функції операційної системи : розширення можливостей комп’ютера та керування його ресурсами.
- 3. Історія операційних систем.
- Лекція 2. Структура операційної системи.
- Таблиця 2.1
- Екзоядро
- Модель клієнт-сервер
- Лекція 3. Концепція процесу
- Лекція 4. Потоки в операційних системах.
- 3. Міжпроцесна взаємодія.
- 4.Примітиви міжпроцесної взаємодії.
- 5.Семафори та їх використання.
- 6.Поняття м’ютекса.
- 7.Поняття моніторів.
- 8.Поняття про бар’єри.
- 9.Поняття про системи передачі повідомлень.
- Лекція 5. Взаємоблокування.
- 2.Умови та моделювання взаємоблокувань.
- 3.Виявлення та усунення взаємоблокувань.
- 4.Уникнення взаємоблокувань при наявності декількох ресурсів кожного типу.
- 6. Уникнення взаємоблокувань.
- 7. Алгоритм банкіра для одного та декількох видів ресурсів.
- 8. Уникнення взаємоблокувань шляхом порушення умов їх здійснення
- Лекція 6. Основні поняття керування пам’яттю.
- 1.Однозадачна система без підкачки на диск.
- 2.Багатозадачність з фіксованими розділами
- 3.Поняття про підкачку даних.
- 5.Віртуальна пам’ять. Основні поняття.
- 6.Віртуальна пам’ять. Сторінкова організація пам’яті.
- 7.Характеристика основних алгоритмів заміщення сторінок.
- Лекція 7. Принципи роботи апаратури введення-виведення.
- 1.Пристрої введення-виведення.
- 2.Переривання персональної кс.
- Лекція 8.
- Лекція 9.
- Лекція 10. Файли та їх властивості.
- 1.Поняття файлової системи.
- 2.Іменування файлів.
- 3.Структура файлу.
- 4.Типи файлів.
- 5.Доступ до файлів. Атрибути файла.
- 6.Файли, відображувані на адресній простір памяті.
- 7.Каталоги.
- Лекція 11. Реалізація файлової системи.
- 1.Структура файлової системи.
- 2.Реалізація файлів.
- 3.Реалізація каталогів.
- Лекція 12 Планування в системах з одним процесором.
- 1.Поняття про планування.
- 2.Типи планування процесора.
- 3.Планування вводу-виводу.
- Лекція 13. Критерії планування.
- 1.Критерії короткотривалого планування.
- 2.Використання пріоритетів.
- 3.Альтернтитвні стратегії планування
- Лекція 14. Стратегії планування.
- 1.Стратегія планування „першим прийшов – першим обслуговується”.
- 2.Стратегія”кругове планування” .
- 4.Вибір самого короткого процесу.
- 5.Стртегія найменшого часу, що залишився.
- 7.Зниження пріорітету.
- Лекція 15. Багатопроцесорне планування і планування реального часу.
- 1. Класифікація багатопроцесорних систем.
- 3.Задачі планування в багатопроцесорній системі.
- 4. Планування процесів.
- 5.Планування потоків.
- Лекція 16. Основні підходи до планування потоків.
- 1.Розділення навантаження.
- 2.Бригадне планування.
- 3.Призначення процесорів.
- 4.Динамічне планування.
- Лекція 17. Планування реального часу.
- Лекція 18.
- 4. Парадигми.
- 5. Реалізація операційної системи
- Лекція 19. Операційні системи типу unix.
- 1.Історичні відомості про операційні системи типу unix.
- 2.Загальна архітектура системи unix.
- 3.Сучасні системи unix.
- 4.Історія виникнення операційної системи Linux.
- 5.Модульна структура операційної системи Linux.
- 6.Традиційне планування unix.
- Лекція 20. Характеристики операційної системи Windows 2000.
- 1. Історія виникнення Windows.
- Лекція 21. Особливості архітектури Windows xp.
- 1. Основні компоненти Windows xp.