Lection 3
.doc-
дольше всего не использовавшаяся страница,
-
первая попавшаяся страница,
-
страница, к которой в последнее время было меньше всего обращений.
После того, как выбрана страница, которая должна покинуть оперативную память, анализируется ее признак модификации (из таблицы страниц). Если выталкиваемая страница с момента загрузки была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, то она может быть просто уничтожена, то есть соответствующая физическая страница объявляется свободной.
В ОС Windows файлы могут отображаться напрямую на области виртуального адресного пространства. После того как файл отображен на адресное пространство, он может читаться и писаться при помощи обычных команд обращения к памяти. Отображаемые на память файлы реализуются тем же способом, что и фиксированные страницы, но копии страниц хранятся не в файле подкачки, а в файле пользователя. В этом случае при отображении файла на память версия файла, находящаяся в памяти, может отличаться от версии хранящейся на диске. При завершении отображения файла или при его записи на диск, файл, хранящийся на диске, обновляется с учетом сделанных изменений файла в памяти. Различные процессы могут иметь различные права доступа. Поскольку все процессы, использующие отображаемый на память файл, совместно используют одни и те же страницы, изменения, выполненные одним процессом, сразу становятся доступными для всех остальных процессов, даже если файл на диске еще не был обновлен. В дополнение к этому обеспечивается механизм, благодаря которому процесс, открывающий файл для обычного чтения, видит текущие страницы в памяти, а не устаревшие страницы из файла подкачки.
В ОС Windows процессы могут одновременно отображать на свои виртуальные адресные пространства, одну и ту же часть одного и того же файла. Данная техника используется, например, при работе нескольких процессов с одной динамической библиотекой. В этом случае данные и экспортируемые функции библиотеки отображаются в адресные пространства процессов использующих библиотеку. Читая и записывая данные в память, процессы могут общаться друг с другом и передавать друг другу информацию с очень большой скоростью.