Схемы распределения памяти
Распределение памяти
Статическое распределение Один процесс в памяти
Статическое распределение Схема с фиксированными разделами
Динамическое распределение Схема с переменными разделами
Динамическое распределение Страничная память
Динамическое распределение Сегментная память
Динамическое распределение Странично-сегментная память
Вопросы?
133.97K

Схемы распределения памяти. (Тема 13)

1. Схемы распределения памяти

СХЕМЫ
РАСПРЕДЕЛЕНИЯ
ПАМЯТИ
Курс лекций
«Системное программное обеспечение»
«System Software»
«Операционные системы»
для студентов специальностей АСОИ и ИИ
Павел Кочурко
доцент кафедры ИИТ, к.т.н.

2. Распределение памяти

• Статическое
2GiB
• Динамическое
Process 2
Nlog
RAM
Nphys
Process 1
Nlog
0
Nphys

3. Статическое распределение Один процесс в памяти

2GiB
Всё физическое адресное
пространство отведено одному
логическому адресному
пространству
Process
RAM A
Nlog
Nphys
0
+: простота, не нужна трансляция
адреса, Nlog=Nphys
-: не подходит для многозадачных
систем

4. Статическое распределение Схема с фиксированными разделами

Process 4
RAM
Process 3
Process 2
Process 1
Память заранее разбивается на
разделы, которые потом не изменяются
В каждый раздел – по одному процессу
+: простота
-: количество процессов в системе
ограничено количеством разделов;
размер логического адресного
пространства не может быть больше
физического раздела;
внутренняя фрагментация

5. Динамическое распределение Схема с переменными разделами

Process 8
Process 7
Process 6
Process 5
RAM
Process 4
Process 3
Process 2
Process 1
Best Fit
Память заранее не разбивается,
процессы размещаются друг за
другом.
Выгружаясь, они освобождают
разделы произвольного размера.
Лучшая стратегия размещения:
Worst Fit
Process 9
с т.з. экономии памяти – Best Fit
с т.з. производительности – 1st Fit
First Fit
+: нет ограничения количества
процессов в системе
-: размер логического
пространства ограничен
размером свободного раздела;
внешняя фрагментация

6. Динамическое распределение Страничная память

d
d
Nphys
p
Nlog
RAM
f
Nlog=p:d
Физическая память
разбивается на фреймы
Логическая – на страницы
того же размера
Любая страница – в любой
свободный фрейм
Nlog=p:d f:d Nphys
+: минимизация
фрагментации; нет
ограничений на размер и
количество процессов
-: усложнение схемы
трансляции; отсутствие
осмысленности разбиения
логического пространства на
страницы и невозможность
разных прав доступа к
разным фреймам процесса

7. Динамическое распределение Сегментная память

stack
d
d
shared data
shared code
Nphys
s
Nlog
data
code
RAM
S
stack
data
code
Nlog=s:d
Физическое пространство
не разбивается,
логическое – по смыслу на
сегменты произвольного
размера
Сегменты размещаются в
любых свободных местах
физического
+: осмысленность
разбиения к разным
сегментам можно иметь
разный доступ
-: фрагментация;
необходимость стратегии
размещения; ограничения,
аналогичные «схеме с
переменными разделами»

8. Динамическое распределение Странично-сегментная память

d
stack
shared data
d
p
f
shared code
s
data
code
Nlog
RAM
Nphys
stack
data
code
Nlog=s:p:d
Физическая память
разбивается на фреймы
Логическая на сегменты
Каждый сегмент
разбивается на страницы,
которые размещаются в
фреймах
+:осмысленность
разбиения сочетается с
отсутствием
фрагментации и
ограничений
-:усложнение процесса
трансляции

9. Вопросы?

ВОПРОСЫ?
http://iit.bstu.by/ss
English     Русский Правила