• правило LRU (Least Recently Used — дольше других неиспользуемый);
• правило LFU (Least Frequently Used — реже других используемый);
• случайный (random) выбор сегмента.
Преимущества метода:
1) можно размещать программу в памяти не целиком, а «по мере необходимости»;
2) некоторые программные модули могут быть разделяемыми.
Недостатки:
1) для доступа к искомой ячейке памяти приходится тратить много времени;
2) фрагментация;
3) много памяти и процессорного времени теряется на размещение и обработку дескрипторных таблиц.
Пример использования сегментного способа — операционная система OS/2 первого поколения
Страничный способ
? Оперативная память разбивается на физические страницы, а программа — на виртуальные страницы (размер их совпадает). Часть виртуальных страниц задачи размещается в оперативной памяти, а часть — во внешней. Обычно место во внешней памяти, в качестве которой в абсолютном большинстве случаев выступают накопители на магнитных дисках называют файлом подкачки, или страничным файлом (paging file). Иногда этот файл называют swap-файлом.
? Не поместившиеся страницы размещаются во внешней памяти, которая в данном случае служит расширением оперативной.
Для каждой задачи имеется таблица страниц для трансляции адресных пространств. Для описания каждой страницы диспетчер памяти операционной системы заводит соответствующий дескриптор.
? По номеру виртуальной страницы в таблице дескрипторов страниц текущей задачи находится соответствующий элемент (дескриптор).
? Если бит присутствия имеет единичное значение, значит данная страница размещена в оперативной, а не во внешней памяти, и мы в дескрипторе имеем номер физической страницы, отведенной под данную виртуальную.
? Если же бит присутствия равен нулю, то в дескрипторе мы будем иметь адрес виртуальной страницы, расположенной во внешней памяти.
? При обращении к виртуальной странице, не оказавшейся в данный момент в опepaтивной памяти, возникает прерывание, и управление передается диспетчеру памяти, который должен найти свободное место. Обычно предоставляется первая же свободная страница. Если свободной физической страницы нет, то диспетчер памяти по одной из вышеупомянутых дисциплин замещения (LRU, LFU, FIFO, случайный доступ) определит страницу, подлежащую расформированию или сохранению во внешней памяти.
? Пробуксовка — это ситуация, при которой загрузка нужной страницы вызывает перемещение во внешнюю память той страницы, с которой мы работаем.
? Рабочее множество – это множество «активных» страниц задачи (страниц, к которым было обращение за определенный интервал времени), которые не подлежат выгрузке.
? Достоинство страничного способа – минимальная фрагментация. Недостатки:
1) страничная трансляция виртуальной памяти требует существенных накладных расходов;
2) программы разбиваются на страницы случайно, без учета логических взаимосвязей.
Операционные системы, среды и оболочки
• правило LRU (Least Recently Used — дольше других неиспользуемый);
• правило LFU (Least Frequently Used — реже других используемый);
• случайный (random) выбор сегмента.
Преимущества метода:
1) можно размещать программу в памяти не целиком, а «по мере необходимости»;
2) некоторые программные модули могут быть разделяемыми.
Недостатки:
1) для доступа к искомой ячейке памяти приходится тратить много времени;
2) фрагментация;
3) много памяти и процессорного времени теряется на размещение и обработку дескрипторных таблиц.
Пример использования сегментного способа — операционная система OS/2 первого поколения
Страничный способ
? Оперативная память разбивается на физические страницы, а программа — на виртуальные страницы (размер их совпадает). Часть виртуальных страниц задачи размещается в оперативной памяти, а часть — во внешней. Обычно место во внешней памяти, в качестве которой в абсолютном большинстве случаев выступают накопители на магнитных дисках называют файлом подкачки, или страничным файлом (paging file). Иногда этот файл называют swap-файлом.
? Не поместившиеся страницы размещаются во внешней памяти, которая в данном случае служит расширением оперативной.
Для каждой задачи имеется таблица страниц для трансляции адресных пространств. Для описания каждой страницы диспетчер памяти операционной системы заводит соответствующий дескриптор.
? По номеру виртуальной страницы в таблице дескрипторов страниц текущей задачи находится соответствующий элемент (дескриптор).
? Если бит присутствия имеет единичное значение, значит данная страница размещена в оперативной, а не во внешней памяти, и мы в дескрипторе имеем номер физической страницы, отведенной под данную виртуальную.
? Если же бит присутствия равен нулю, то в дескрипторе мы будем иметь адрес виртуальной страницы, расположенной во внешней памяти.
? При обращении к виртуальной странице, не оказавшейся в данный момент в опepaтивной памяти, возникает прерывание, и управление передается диспетчеру памяти, который должен найти свободное место. Обычно предоставляется первая же свободная страница. Если свободной физической страницы нет, то диспетчер памяти по одной из вышеупомянутых дисциплин замещения (LRU, LFU, FIFO, случайный доступ) определит страницу, подлежащую расформированию или сохранению во внешней памяти.
? Пробуксовка — это ситуация, при которой загрузка нужной страницы вызывает перемещение во внешнюю память той страницы, с которой мы работаем.
? Рабочее множество – это множество «активных» страниц задачи (страниц, к которым было обращение за определенный интервал времени), которые не подлежат выгрузке.
? Достоинство страничного способа – минимальная фрагментация. Недостатки:
1) страничная трансляция виртуальной памяти требует существенных накладных расходов;
2) программы разбиваются на страницы случайно, без учета логических взаимосвязей.
Сегментно-страничный способ
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37