Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основные функции системы управления памятью (Memory Manager)



• отображение адресного пространства процесса на конкретные области физической памяти (размещение);

• распределение памяти между конкурирующими процессами (выборка);

• контроль доступа к адресным пространствам процессов;

• выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места (замещение);

• учет свободной и занятой памяти.

№17 Организация оперативной памяти. Основные способы.

Организация памяти это способ представления и использования основной памяти

Способы организации основной памяти (DRAM)

• Однопрограммные системы

• Мультипрограммные системы с фиксированными разделами с трансляцией и загрузкой в абсолютных адресах

• Мультипрограммные системы с фиксированными разделами с трансляцией и загрузкой перемещаемых модулей

• Мультипрограммные системы с переменными разделами

• Системы со свопингом (SWAP)

№18 Организация оперативной памяти. Системы со свопингом.

Организация памяти это способ представления и использования основной памяти

Способы организации основной памяти (DRAM)

Свопинг

Один из механизмов реализации виртуальной памяти, при котором отдельные запущенные процессы (обычно неактивные) перемещаются из ОЗУ на жёсткий диск, освобождая ОЗУ для загрузки других процессов. Основное отличие этого механизма от страничного заключается в том, что процессы перемещаются между ОЗУ и жестким диском целиком, поэтому иногда некоторые процессы могут полностью отсутствовать в ОЗУ. При наступлении условий активизации процесса он возвращается диспетчером памяти в ОЗУ. Существуют различные алгоритмы выбора процессов на загрузку и выгрузку, а также различные способы выделения оперативной и дисковой памяти загружаемому процессу.

Мультипрограммные системы с фиксированными разделами и переменными разделами требуют, чтобы задание оставалось в памяти до момента завершения. При свопинге задание можно «вталкивать» до завершения во внешнюю память.

Основная идея – держать в памяти только те инструкции программы, которые нужны в данный момент.

№19. Виды памяти вычислительных систем.

           
   
 
 
 
   


Различают два основных вида памяти — внутреннюю и внешнюю.

В состав внутренней памяти входят оперативная память, кэш-память и специальная память.

Внешняя память (ВЗУ) предназначена для длительного хранения программ и данных, и целостность её содержимого не зависит от того, включен или выключен компьютер. В отличие от оперативной памяти, внешняя память не имеет прямой связи с процессором.

В состав внешней памяти компьютера входят:

накопители на жёстких магнитных дисках;

накопители на гибких магнитных дисках;

накопители на компакт-дисках;

накопители на магнитной ленте (стримеры);

накопители на магнитно-оптических дисках;

№20 Виртуальная память, назначение, основные проблемы. Методы организации.

Виртуальная память – организация памяти, которая позволяет процессу адресовать пространство памяти намного большее, чем имеется в системе.

Основная проблема

Процесс работает с виртуальными адресами V, а процессор с реальными R. Необходимо уметь быстро преобразовывать V в R.

1. Преобразование каждого адреса V в реальный R. Совершенно нереальный механизм.
Таблица преобразований займет всю память и вытеснит процесс. Если ее попытаться хранить во внешней памяти, то скорость работы процесса очень существенно снизится.

2. Преобразование блока виртуальных адресов V в блок реальных адресов R.
Реальный механизм. Таблица преобразований компактна и может храниться в КЭШ.
Требует двухкомпонентного адреса
V(S,d)
Где S – номер блока, а d смещение от начала блока

Методы организации виртуальной памяти:

1) СТРАНИЧНАЯ – все блоки одинаковые по размеру

2) СЕГМЕНТНАЯ – все блоки разные по размеру

3) СЕГМЕНТНО-СТРАНИЧНАЯ – все сегменты разные по размеру, но состоят из целого числа одинаковых блоков

№21 Задачи менеджера виртуальной памяти.

Менеджер виртуальной памяти (далее просто «менеджер памяти») — часть операционной системы, благодаря которой можно адресовать память большую, чем объем физической памяти (ОЗУ).

Основные задачи:

1)Подкачка – когда и какую страницу из ВМ перевести в ОЗУ

По запросу

Достоинства:

- самый дешевый вариант (низкие накладные расходы)

- исключает ненужные подкачки

Недостатки:

- простой процесса в ожидании нужного набора страниц

С упреждением

Достоинства:

- при правильном предсказании увеличение производительности

- при «большом» ОЗУ снижается урон от промаха

Недостатки:

- любит ОЗУ

- некоторое увеличение накладных расходов

2)Выталкивание - какую страницу можно «убрать» из ОЗУ

1. Принцип оптимальности.

Надо выталкивать ту страницу, к которой дольше всего не будет обращений. Как это можно определить? Никак!

Стратегия не реализуется.

2. Выталкивание случайной страницы.

Достоинство: быстрое решение с маленькими накладными расходами.

Недостатки: может возрасти частота прерываний (выталкиваем нужную страницу).

Используется крайне редко.

3)Размещение – куда поместить загружаемую в ОЗУ страницу

Куда разместить страницу?

Если есть свободное место в ОЗУ, то используем его.

Если все занято, то решаем задачу замещения или выталкивания.

№22 Страничная организация виртуальной памяти.

В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему страницы памяти). Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Операционная система преобразует виртуальный адрес в физический, при необходимости подгружая страницу с жёсткого диска в оперативную память. При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти (исключения существуют, однако они не касаются той части, которая отвечает за использование файла подкачки).

В семействе операционных систем Microsoft Windows место для хранения страниц на жёстких дисках должно быть выделено заранее. Пользователь может положиться на автоматический механизм или самостоятельно указать размер области виртуальной памяти на каждом из разделов диска. На указанных разделах операционной системой создаётся файл pagefile.sys требуемого размера, который и хранит «сброшенные» из оперативной памяти страницы.

№23 Сегментная организация виртуальной памяти.

Механизм организации виртуальной памяти, при котором виртуальное пространство делится на части произвольного размера — сегменты. Этот механизм позволяет, к примеру, разбить данные процесса на логические блоки.[1] Для каждого сегмента, как и для страницы, могут быть назначены права доступа к нему пользователя и его процессов. При загрузке процесса часть сегментов помещается в оперативную память (при этом для каждого из этих сегментов операционная система подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в оперативной памяти несмежные участки. Во время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре. Система с сегментной организацией функционирует аналогично системе со страничной организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический. Кроме того, при обращении к памяти проверяется, разрешен ли доступ требуемого типа к данному сегменту.

Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

№24 Сегментно-страничная организация виртуальной памяти.

При сегментно-страничной организации виртуальной памяти происходит двухуровневая трансляция виртуального адреса в физический. В этом случае виртуальный адрес состоит из трех полей: номера сегмента виртуальной памяти, номера страницы внутри сегмента и смещения внутри страницы. Соответственно, используются две таблицы отображения - таблица сегментов, связывающая номер сегмента с таблицей страниц, и отдельная таблица страниц для каждого сегмента.

Сегментно-страничная организация виртуальной памяти позволяла совместно использовать одни и те же сегменты данных и программного кода в виртуальной памяти разных задач (для каждой виртуальной памяти существовала отдельная таблица сегментов, но для совместно используемых сегментов поддерживались общие таблицы страниц).

№25 Концепция локальности и теория рабочего множества.

Если процесс перешел в фазу «взрослый», в памяти надо держать страницы относящиеся к его «рабочему множеству».

Локальность (по Деннингу) бывает:

Временная – процесс может вернуться к текущей ячейке,

т.к. в программе присутствуют циклы.

Пространственная – процесс переходит к следующей ячейке

благодаря своей последовательной структуре.

 
 


Некоторые выводы:

1. Чем меньше размер страницы, тем больше объем Page Table

2. Чем больше объем страницы, тем больше доля «лишней» информации

3. Чем больше объем страницы, тем быстрее пройдет загрузка программы

4. Чем меньше объем страницы, тем легче составить «правильное» рабочее множество.

Оптимальны страницы относительно небольшого объема – 1 килобайт

№26 Стратегии решения задачи замещения страниц при управлении виртуальной памятью.

1. Принцип оптимальности.

Надо выталкивать ту страницу, к которой дольше всего не будет обращений. Как это можно определить? Никак!

Стратегия не реализуется.

2. Выталкивание случайной страницы.

Достоинство: быстрое решение с маленькими накладными расходами.

Недостатки: может возрасти частота прерываний (выталкиваем нужную страницу).

Используется крайне редко.

3. Принцип FIFO. (первая партия на приход — первая в расход first in, first out)

Красивое решение, обоснования нет.

Достоинство: достаточно быстрое решение.

Недостатки: возможна т.н. аномалия FIFO.

Используется достаточно часто.

4. Выталкивание дольше всего не использовавшейся страницы.

LRU (Least Recently Used)

Достоинство: временной анализ.

Недостатки: - накладные расходы на поддержку временных меток

- смотрит назад, а не вперед.

Используется достаточно редко.

5. Выталкивание реже всего использовавшейся страницы.

LFU (Least Frequently Used)

Будем считать число обращений к странице на заданном интервале.

Достоинство: временной анализ.

Недостатки: - накладные расходы на поддержку временных меток;

- можно вытолкнуть «свежую» страницу;

- трудно вытолкнуть «заслуженного ветерана», страницу которая сразу набрала много обращений

Используется достаточно редко.

6. Выталкивание не использовавшейся в последнее время страницы.

NUR (Not Used Recently)

Будем периодически обновлять счетчик обращений.

Достоинство: устраняем недостаток LFU.

Недостатки:- можно вытолкнуть «свежую» страницу;

- Используется достаточно редко.





Дата публикования: 2015-02-03; Прочитано: 1066 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.015 с)...