Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС часть 1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.23 Mб
Скачать

5.5 Принцип локальности

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

На основе заключения свойства локальности сформулирована теория рабочего множества. Рабочее множество – подмножество страниц, к которым процесс активно обращается. Для обеспечения эффективного выполнения программы необходимо, чтобы её рабочее множество находилось в первичной памяти. В противном случае может возникнуть режим чрезмерно интенсивной подкачки страниц. Во время работы процесса его рабочие множества динамически меняются. Иногда происходят резкие изменения. Выделение основной памяти при управлении памятью на основе рабочих множеств можно представить следующим образом:

2

4

1

3

Рабочие множества время

К - количество страниц первичной памяти выделенных данному процессу.

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

5.6 Стратегии вталкивания страниц

Подкачка страниц по запросу

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

  • Путь, который выберет программа при своём выполнении точно предсказать невозможно, поэтому любая попытка заранее загрузить страницы в память может оказаться неудачной.

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

  • Накладные расходы на то, чтобы определить, какие страницы следует загружать – минимальны.

Подкачка страниц с упреждением

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

Преимущества:

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

  • Если находить правильное решение можно при относительно малых затратах, то выполнение процесса можно значительно ускорить, не замедляя при этом работы других активных процессов.

  • Т.к. аппаратура вычислительных машин всё более дешевеет, то последствия неоптимальных решений становятся менее серьёзными. Возможность приобретения дополнительной памяти облегчает реализацию упреждающей подкачки.