Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция 5
УПРАВЛЕНИЕ ПАМЯТЬЮ
Оперативная память
• Ключевые моменты управления памятью:
– Память без использования абстракций
– Адресное пространство
– Виртуальная память
– Алгоритмы замещения страниц
Организация памяти
Проблема перемещения
Адресное пространство
• Адресное пространство – набор адресов, который
м.б. использован процессом для обращения к
памяти
– у каждого процесса свое независимое АП
– адрес 0x2A в одном процессе соответствует иному
физическому месту, чем адрес 0x2A в другом процессе
• Аналогии:
–
–
–
–
телефонные номера (0000000-9999999)
порты ввода-вывода CPU x86 (0-16383)
адреса IPv4 (0.0.0.0-255.255.255.255)
доменные имена в зоне .com (все строки от 2 до 63 символов из
букв, цифр и дефисов, заканчивающиеся на .com)
Базовый и ограничительный
регистры
Нехватка места в ОЗУ
• Два основных подхода:
– Своппинг
– Виртуальная память
Своппинг
Управление свободной памятью
• С помощью битовых матриц
• С помощью связанных списков
Виртуальная память
Диспетчер памяти (MMU)
Работа диспетчера памяти
Быстрое преобразование адреса
• Буфер быстрого преобразования адреса
(Translation Lookaside Buffer, TLB) –
устройство на основе ассоциативной
памяти внутри диспетчера памяти (MMU).
Таблицы страниц для больших
объемов памяти
• Многоуровневые
таблицы страниц
Таблицы страниц для больших
объемов памяти
• Инвертированные таблицы страниц
Оптимальный алгоритм замещения
страниц
• Для каждой страницы известно количество
команд, которые должны быть выполнены
до следующего обращения к странице
• Удаляем страницу, обращение к которой
произойдет позже всего
– Подсчет количества команд до следующего
обращения к странице на практике не
реализуем
Исключение не использовавшейся
недавно страницы
• NRU, Not Recently Used
• Статистика востребованности страниц:
– бит R: устанавливается при каждом обращении к странице
(чтение или запись);
– бит M: устанавливается при записи на страницу.
• По прерыванию таймера бит R сбрасывается
• Категории страниц:
– Класс 0: в последнее время не было ни обращений, ни
модификаций
– Класс 1: обращений в последнее время не было, но страница
модифицирована
– Класс 2: в последнее время были обращения, но
модификаций не было
– Класс 3: в последнее время были и обращения, и
модификации
Первой пришла, первой ушла
• FIFO, First In First Out
• ОС ведет список страниц, находящихся в
памяти
• Новые загружаемые страницы помещаются в
конец списка
• При возникновении ошибки отсутствия
страницы, удаляется страница из начала
списка
– Не эффективен, т.к. не учитывает востребованность
страниц
Алгоритм «второй шанс»
Алгоритм «часы»
Алгоритм замещения наименее
востребованной страницы
• LRU, Least Recently Used
• Алгоритм «старения»:
Алгоритм «рабочий набор»
Алгоритм WSClock
Алгоритм WSClock
Сравнение алгоритмов