
- •Раздел 4. Управление памятью в операционных системах
- •4.1. Классификация способов организации памяти
- •4.2. Управление физической памятью
- •4.2.1. Однозадачные системы
- •4.2.1.1. Простые и оверлейные системы
- •4.2.1.2. Сегментация памяти
- •4.2.1.3. Блочная организация памяти
- •4.2.1.4. Стратегии управления памятью (введение)
- •4.2.2. Многозадачные системы
- •4.2.2.1. Фиксированные разделы (неперемещаемые программы)
- •4.2.2.2. Фиксированные разделы (перемещаемые программы)
- •4.2.2.3. Переменные разделы
- •4.2.2.4. Свопинг
- •4.3.1. Общая характеристика виртуальной памяти
- •4.3.1.1. Определения виртуальной памяти и иерархия видов памяти
- •4.3.1.2. Особенности виртуальной памяти
- •4.3.1.3. Механизм отображения виртуальных адресов в физические
- •4.3.2. Страничная организация виртуальной памяти
- •4.3.2.1. Одноуровневая страничная организация
- •4.3.2.2. Двухуровневая страничная организация
- •4.3.2.3. Совместное использование страниц процессами
- •4.3.3. Сегментная организация виртуальной памяти
- •4.3.3.1. Одноуровневая сегментная организация
- •4.3.3.2. Комбинированная сегментно-страничная организация (вместе с таблицей процессов)
- •4.3.4. Стратегии управления виртуальной памятью
- •4.3.4.1. Главные задачи управления виртуальной памятью
- •4.3.4.2. Стратегии решения второй главной задачи
- •4. Выталкивание дольше всех не использовавшейся страницы
- •4.3.4.4. Стратегии выталкивания с переменным распределением
- •4.4. Управление памятью в современных ос
- •4.4.1. Архитектура управления памятью
- •4.4.2. Защита памяти
- •4.4.4. Совместное использование памяти
- •4.4.4.1. Способы совместного использования памяти
- •4.4.4.2. Пример реализации разделяемой памяти в Win32
- •Закрытие объекта:
4.2.2.2. Фиксированные разделы (перемещаемые программы)
Для устранения недостатка, связанного с жестким закреплением программ за разделами, программы транслируются как перемещаемые и поэтому могут загружаться в любой подходящий раздел.
Вопрос (
--------------------- ----------
| ЦП | | ОС |
|-------------------| ----------
||Регистр границы 1||-- | Р1 |<--
|-------------------| ->---------- |
|-------------------| | Р2 | | ----- Одна
||Регистр границы 2||-- | |<----||| очередь
|-------------------| ->---------- | ----- ко всем
--------------------- | | | разделам
ЦП выполняет задание | Р3 |<-|
раздела 2 ----------
)Вопрос
Защита памяти осуществляется использованием двух регистров границ - верхней и нижней границ.
4.2.2.3. Переменные разделы
В системе с переменными разделами каждой задаче предоставляется столько памяти, сколько ей требуется, и задачи находятся в памяти до завершения.
Вопрос (
----------- При завершении задачи в памяти
| ОС | Очередь задач появляется «дыра».
----------- -----------
| Т1 |<--Т5|Т6|Т7| Существует два способа устранения
| | ----------- этого недостатка:
----------- - слияние дыр;
| Т2 | - сборка мусора.
-----------
| Т3 | Сборка мусора - серьезная проблема, т. к.
| | - задачи должны быть перемещаемыми;
----------- - задачи должны приостанавливаться во время
| Т4 | перемещения.
|---------|
|своб.обл.|
|---------|
)Вопрос
Вопрос (
----------- ----------- -----------
| ОС | | ОС | | ОС |
----------- ----------- -----------
| Т1 | | Т1 | | Т1 |
| | | | | |
----------- ----------- -----------
|/////////| |/////////| | Т4 |
----------- Слияние |/////////| -----------
|/////////| дыр |/////////| Сборка |/////////|
|/////////| |/////////| мусора |/////////|
----------- ----------- |/////////|
| Т4 | | Т4 | |/////////|
----------- ----------- |/////////|
|/////////| |/////////| |/////////|
----------- ----------- -----------
)Вопрос
4.2.2.4. Свопинг
Мы уже рассмотрели с вами мультипрограммирование с разделением времени. Такое же мультипрограммирование можно рассмотреть и относительно памяти машины.
В мультипрограммировании с разделением времени программа снимается с процессора по прерыванию от таймера или по запросу примитива ядра.
В мультипрограммировании с разделением памяти программа не только снимается с процессора, но и выгружается из памяти. А с диска загружается новая программа для выполнения в течение следующего кванта времени. Это и есть свопинг.
Вопрос (
----------
| ОС | Образы задач, хранящиеся на диске.
---------- ---------- ---------- ----------
|Область | | А | | В | | С |
|свопинга| | | | | | |
| | | | | | |--------|
| | |--------| | |
| | |--------|
----------
)Вопрос
Недостатком свопинга является наличие потерь времени на перезагрузку задач с диска.
Недостаток устраняют путем частичной перезагрузки только изменяющейся части программы. На практике такой частью является область данных программы.
4.3. Управление виртуальной памятью