Память является ключевым ресурсом в вычислительных системах, требующим тщательного управления для обеспечения эффективности и производительности. Важные аспекты управления памятью включают отображение адресного пространства процессов на физическую память, учет свободной и занятой памяти, выгрузку процессов во внешнюю память и контроль доступа к адресам.
Связывание логического адреса из оператора программы с физическим осуществляется до начала выполнения оператора или в момент его выполнения на шагах
Этап выполнения
Этап загрузки
Этап компиляции
Процессор и ОС должны быть способны отобразить ссылки в коде программы в реальные физические адреса, соответствующие текущему расположению программы в основной памяти
Логическая память
Совокупность всех логических адресов называется логическим (виртуальным) адресным пространством
Большинство современных ОС поддерживают сегментную организацию памяти
Сегмент – область памяти определенного назначения, внутри которой поддерживается линейная адресация
Схема выделения памяти программам называется сегментацией
Иерархия компьютерной памяти
Эффективность иерархической системы обусловлена свойством локальности
Это концепция построения взаимосвязи классов разных уровней компьютерной памяти на основе иерархической структуры
Физическая организация памяти компьютера
Вторичная память (диски)
используется в качестве расширения основной памяти
имеет существенно большую емкость
является энергонезависимой
Основная память
Схемы управления памятью
Сегментная и сегментно-страничная организация памяти
Страничная память
Схемы с переменными разделами
Динамическое распределение. Свопинг
Оверлейная структура
Схемы с фиксированными разделами
Простейшие схемы управления памятью
Чтобы обеспечить эффективный контроль использования памяти, ОС должна выполнять следующие функции
учет свободной и занятой памяти
выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места
контроль доступа к адресным пространствам процессов
распределение памяти между конкурирующими процессами
отображение адресного пространства процесса на конкретные области физической памяти
Алгоритмы замещения страниц
Глобальные алгоритмы
Локальные алгоритмы
Виртуальная память
Впервые она была реализована в 1959 г. на компьютере "Атлас", разработанном в Манчестерском университете.
Проблема размещения в памяти больших программ, размер которых превышает объем доступной ОП, решается с помощью организации структур с перекрытием, предполагающей активное участие программиста
В какой раздел помещать процесс?
Стратегия наименее подходящего (Worst fit)
При помещении в самый большой раздел в нем остается достаточно места для возможного размещения еще одного процесса
Стратегия наиболее подходящего (Best fit)
Процесс помещается в тот раздел, где после его загрузки останется меньше всего свободного места
Стратегия первого подходящего (First fit)
Процесс помещается в первый подходящий по размеру раздел
Память (storage, memory) является важнейшим ресурсом, требующим тщательного управления