Лекция. Память – организация и управление Организация памяти это способ представления и использования основной памяти Виды памяти CPU Registers Cash L1 Instruction L2 Data L3 DRAM Memory On other nodes UMA NUMA Flash Disk Flash Flash HDD ZIP Network ….. Store buffer Способы организации основной памяти (DRAM) •Однопрограммные системы •Мультипрограммные системы с фиксированными разделами с трансляцией и загрузкой в абсолютных адресах •Мультипрограммные системы с фиксированными разделами с трансляцией и загрузкой перемещаемых модулей •Мультипрограммные системы с переменными разделами •Системы со свопингом (SWAP) • • • • • Основные функции системы управления памятью (Memory Manager) отображение адресного пространства процесса на конкретные области физической памяти (размещение); распределение памяти между конкурирующими процессами (выборка); контроль доступа к адресным пространствам процессов; выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места (замещение); учет свободной и занятой памяти. Выборка – когда загружать очередной процесс (или часть его кода) в память - по запросу - с упреждением Размещение – куда загрузить выбранный кусок кода (блок) - первый подходящий (быстро!) - наиболее подходящий (минимизация потерь!) - наименее подходящий (утилизация остатков!) Замещение – что надо убрать из памяти если нет места для загрузки очередного блока - «старейший» блок - наименее часто используемый - тот, к которому дольше не было обращений - тот, к которому дольше не будет обращений (идеал!) Однопрограммные системы Защита области памяти процесса Free Rg (bottom) User task Rg (top) ОС Регистры границ Free User (overlay) User (resident) ОС User task User (ovl 1) User (ovl 2) User (resident) User task User (ovl N) Схема с фиксированными разделами Трансляция и загрузка в абсолютных адресах (раздельные очереди процессов) 3 1 Раздел 3 2 1 Раздел 2 2 1 Раздел 1 ОС Free !!! ОС Плюсы: простота организации работы, высокая скорость загрузки Минусы: число одновременно загруженных процессов ограничено и не зависит от занимаемой ими памяти; переход в свободный раздел невозможен. Схема с фиксированными разделами Трансляция и загрузка перемещаемых модулей (общая очередь процессов) Раздел 3 Раздел 2 Раздел 1 ОС Плюс: простое управление очередью. Минус: сложный загрузчик. Схема с переменными разделами Процесс 1 Процесс 1 Процесс 1 Процесс 2 Процесс 3 ОС Free ОС ОС ОС - неиспользуемая память Стратегии выбора разделов: • first fit - первый подходящий по размеру • best fit - наиболее подходящий по размеру • worst fit - наименее подходящий по размеру Плюс: эффективное использование памяти Минус: необходимость периодической дефрагментации. Схема со свопингом (swap) 1 User 2 3 ОС I II III IV Proc 3 Proc 3 Proc 3 Proc 1 Proc 2 Proc 2 Proc 5 Proc 5 Proc 1 Proc 4 Proc 4 Proc 4 ОС ОС ОС ОС 4 5 Input HDD Swap File Основная идея – держать в памяти только те инструкции программы, которые нужны в данный момент.