Память – организация и управление

advertisement
Лекция. Память – организация и
управление
Организация памяти это способ представления и использования
основной памяти
Виды памяти
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
Основная идея – держать в памяти только те инструкции
программы, которые нужны в данный момент.
Download