Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

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

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

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

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

3. Накладные расходы на то, чтобы определить, какие странницы следует передавать в основную память, минимальны. Стратегии вталкивания с упреждением могут потребовать значительных дополнительных затрат процессорного времени.

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

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

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

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

Метод подкачки страниц с опережением характеризуется следующими преимуществами:

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

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

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