Операционные системы. Теория и практика. Замятин А.В. - 110 стр.

UptoLike

Составители: 

110
Для того чтобы компенсировать неэффективность правила FIFO,
была введена «буферизация» тех страниц, которые должны быть запи-
саны в файл подкачки на диск
10
или просто расформированы. Принцип
буферизации следующий. Прежде чем замещаемая страница действи-
тельно окажется во внешней памяти или просто расформированной, она
помечается как кандидат на выгрузку, если в следующий раз произойдет
обращение к странице, находящейся в таком «буфере», то страница ни-
куда не выгружается и уходит в конец списка FIFO. В противном случае
страница действительно выгружается, а на ее место в «буфер» попадает
следующий «кандидат». Величина такого «буфера» не может быть
большой, поэтому эффективность страничной реализации памяти в Win-
dows NT/2000/XP намного ниже, чем в других ОС, и явление пробуксов-
ки проявляется даже при относительно большом объеме ОП.
В ряде ОС с пакетным режимом работы для борьбы с пробуксовкой
используется метод «рабочего множества». Рабочее множество это
множество «активных» страниц задачи за некоторый интервал Т, то есть
тех страниц, к которым было обращение за этот интервал времени. Ре-
ально количество активных страниц задачи (за интервал Т) все время
изменяется, и это естественно, но, тем не менее, для каждой задачи
можно определить среднее количество ее активных страниц. Это коли-
чество и есть рабочее множество задачи. Ряд наблюдений за исполнени-
ем множества различных программ показали, что даже если интервал Т
равен времени выполнения всей работы, то размер рабочего множества
часто существенно меньше, чем общее число страниц программы. Та-
ким образом, если ОС может определить рабочие множества испол-
няющихся задач, то для предотвращения пробуксовки достаточно пла-
нировать на выполнение только такое количество задач, чтобы сумма их
рабочих множеств не превышала возможностей системы.
Как и в случае с сегментным способом организации виртуальной
памяти, страничный механизм приводит к тому, что без специальных
аппаратных средств он существенно замедляет работу вычислительной
системы, поэтому используют различные походы к повышению эффек-
тивности использования таблиц страниц. Например, одним из примеров
эффективного механизма кэширования является ассоциативный кэш.
Именно такой ассоциативный кэш и создан в 32-разрядных микропро-
цессорах i80x86. Начиная с i80386, который поддерживает страничный
способ распределения памяти, в этих микропроцессорах имеется кэш на
32 страничных дескриптора. Поскольку размер страницы в этих микро-
процессорах равен 4 Кбайт, возможно быстрое обращение к памяти раз-
10
В системе Windows NT/2000/XP файл с выгруженными виртуальными страницами носит название
PageFile.sys.