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