Cтраница 3
В рабочем наборе хранятся номера страниц, к которым обращались из программы в течение предыдущих t секунд, где t - переменный параметр. Память может одновременно использоваться несколькими программами. Алгоритм замещения, использующий рабочий набор, замещает только те страницы, номера которых отсутствуют в рабочем наборе. [31]
Если затребованный лист не найден, его необходимо ввести в основную память. Если в основной памяти для него есть место, то никаких вопросов не возникает. Различные стратегии выбора называются алгоритмами замещения листа. Цель такого алгоритма - минимизировать листание, заменяя те листы, которые не принадлежат текущим окрестностям всех активных программ и которые, следовательно, имеют наименьшую вероятность быть вызванными в ближайшем будущем. Если количество листов, которые должны скоро быть вызваны, слишком велико, чтобы поместиться всем вместе, то задача листания становится трудноразрешимой. [32]
Подкачка страниц работает лучше, когда в системе существует достаточное количество свободных страничных блоков, которые можно затребовать при страничном прерывании. Если все страничные блоки заполнены и, более того, изменялись, перед загрузкой новой страницы сначала нужно записать старую на диск. Чтобы обеспечить обильный запас свободных блоков, во многих системах со страничной организацией памяти работает фоновый процесс, называемый страничным демоном, который большую часть времени спит, но периодически просыпается и проверяет состояние памяти. Если свободно слишком мало блоков, страничный демон начинает выбирать страницыдая удаления их из памяти, используя определенный алгоритм замещения. Если эти стпаницы изменялись со времени загрузки, они записываются на диск. [33]
Подкачка страниц работает лучше, когда в системе существует достаточное количество свободных страничных блоков, которые можно затребовать при страничном прерывании. Если все страничные блоки заполнены и, более того, изменялись, перед загрузкой новой страницы сначала нужно записать старую на диск. Чтобы обеспечить обильный запас свободных блоков, во многих системах со страничной организацией памяти работает фоновый процесс, называемый страничным демоном, который большую часть времени спит, но периодически просыпается и проверяет состояние памяти. Если свободно слишком мало блоков, страничный демон начинает выбирать страницы для удаления их из памяти, используя определенный алгоритм замещения. Если эти страницы изменялись со времени загрузки, они записываются на диск. [34]
Во втором случае происходит обращение к странице, отсутствующей в памяти верхнего уровня. Эта ситуация называется страничным сбоем, так как программа не может дальше выполняться, пока нужная страница qt не будет переписана из памяти нижнего уровня в память верхнего уровня, что сопряжено с потерями времени. Поскольку в памяти верхнего уровня нет свободного места, из нее приходится удалять некоторую страницу vt, с тем чтобы на ее место можно было поместить страницу qt - Если во время пребывания страницы о / в памяти верхнего уровня в нее производилась запись, эта страница при замещении должна переписываться в память нижнего уровня. Такая процедура называется процессом замещения страниц, а правило, по которому при возникновении страничного сбоя выбирается страница vt & St для удаления из памяти верхнего уровня - алгоритмом замещения. [35]
Работу двухуровневого иерархического ГОЗУ можно кратко описать следующим образом. Если требуемая страница информации имеется в буферном ЗУ, происходит обращение процессора к той матрице буфера, которая хранит данную страницу. При этом корректируется приоритетность страниц на выбывание из буфера. Если запрашиваемой страницы в буфере нет, то в соответствии с принятым алгоритмом замещения проводится удаление из буфера некоторой страницы в память формирователя страниц. Требуемая страница информации считывается из оптического ЗУ на матрицу фотоприемников, после чего переписывается в освободившееся место буфера и принимает некоторое, заданное алгоритмом замещения, значение приоритета. Процессор возобновляет работу с буферным ЗУ, а тем временем проводится оптическое стирание в основном ЗУ по адресу страницы, выбывшей из буфера, и по окончании установки фотоклапанов формирователя страниц - последующая оптическая запись этой страницы. На этом цикл обращения к оптическому ЗУ заканчивается. Если очередное обращение к оптическому ЗУ происходит в момент, когда предыдущий цикл не закончен, система ждет его окончания, после чего организуется новый цикл обращения. [36]