Составители:
20
− признак обращения к странице, называемый также битом доступа, который
устанавливается в единицу при каждом обращении по адресу,
относящемуся к данной странице.
Признаки присутствия, модификации и обращения в большинстве моделей
современных процессоров устанавливаются аппаратно, схемами процессора при
выполнении операции с памятью. Информация из таблиц страниц используется
для решения вопроса о необходимости перемещения той или иной страницы
между памятью и диском, а также для преобразования виртуального адреса в
физический. Сами таблицы страниц, так же как и описываемые ими страницы,
размещаются в оперативной памяти. Адрес таблицы страниц включается в
контекст соответствующего процесса. При активизации очередного процесса
операционная система загружает адрес его таблицы страниц в специальный
регистр процессора.
При каждом обращении к памяти выполняется поиск номера виртуальной
страницы, содержащей требуемый адрес, затем по этому номеру определяется
нужный элемент таблицы страниц, и из него извлекается описывающая страницу
информация1. Далее анализируется признак присутствия, и, если данная
виртуальная страница находится в оперативной памяти, то выполняется
преобразование виртуального адреса в физический, то есть виртуальный адрес
заменяется указанным в записи таблицы физическим адресом. Если же нужная
виртуальная страница в данный момент выгружена на диск, то происходит так
называемое страничное прерывание. Выполняющийся процесс переводится в
состояние ожидания, и активизируется другой процесс из очереди процессов,
находящихся в состоянии готовности. Параллельно программа обработки
страничного прерывания находит на диске требуемую виртуальную страницу (для
этого операционная система должна помнить положение вытесненной страницы в
страничном файле диска) и пытается загрузить ее в оперативную память. Если в
памяти имеется свободная физическая страница, то загрузка выполняется
немедленно, если же свободных страниц нет, то на основании принятой в данной
системе стратегии замещения страниц решается вопрос о том, какую страницу
следует выгрузить из оперативной памяти.
После того как выбрана страница, которая должна покинуть оперативную
память, обнуляется ее бит присутствия и анализируется ее признак модификации.
Если выталкиваемая страница за время последнего пребывания в оперативной
памяти была модифицирована, то ее новая версия должна быть переписана на
диск. Если нет, то принимается во внимание, что на диске уже имеется
предыдущая копия этой виртуальной страницы, и никакой записи на диск не
производится. Физическая страница объявляется свободной. Из соображений
безопасности в некоторых системах освобождаемая страница обнуляется, с тем
чтобы невозможно было использовать содержимое выгруженной страницы.
Для хранения информации о положении вытесненной страницы в
страничном файле ОС может использовать поля таблицы страниц или же другую
системную структуру данных (например, дескриптор сегмента при сегментно-
страничной организации виртуальной памяти).
− признак обращения к странице, называемый также битом доступа, который устанавливается в единицу при каждом обращении по адресу, относящемуся к данной странице. Признаки присутствия, модификации и обращения в большинстве моделей современных процессоров устанавливаются аппаратно, схемами процессора при выполнении операции с памятью. Информация из таблиц страниц используется для решения вопроса о необходимости перемещения той или иной страницы между памятью и диском, а также для преобразования виртуального адреса в физический. Сами таблицы страниц, так же как и описываемые ими страницы, размещаются в оперативной памяти. Адрес таблицы страниц включается в контекст соответствующего процесса. При активизации очередного процесса операционная система загружает адрес его таблицы страниц в специальный регистр процессора. При каждом обращении к памяти выполняется поиск номера виртуальной страницы, содержащей требуемый адрес, затем по этому номеру определяется нужный элемент таблицы страниц, и из него извлекается описывающая страницу информация1. Далее анализируется признак присутствия, и, если данная виртуальная страница находится в оперативной памяти, то выполняется преобразование виртуального адреса в физический, то есть виртуальный адрес заменяется указанным в записи таблицы физическим адресом. Если же нужная виртуальная страница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизируется другой процесс из очереди процессов, находящихся в состоянии готовности. Параллельно программа обработки страничного прерывания находит на диске требуемую виртуальную страницу (для этого операционная система должна помнить положение вытесненной страницы в страничном файле диска) и пытается загрузить ее в оперативную память. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то на основании принятой в данной системе стратегии замещения страниц решается вопрос о том, какую страницу следует выгрузить из оперативной памяти. После того как выбрана страница, которая должна покинуть оперативную память, обнуляется ее бит присутствия и анализируется ее признак модификации. Если выталкиваемая страница за время последнего пребывания в оперативной памяти была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, то принимается во внимание, что на диске уже имеется предыдущая копия этой виртуальной страницы, и никакой записи на диск не производится. Физическая страница объявляется свободной. Из соображений безопасности в некоторых системах освобождаемая страница обнуляется, с тем чтобы невозможно было использовать содержимое выгруженной страницы. Для хранения информации о положении вытесненной страницы в страничном файле ОС может использовать поля таблицы страниц или же другую системную структуру данных (например, дескриптор сегмента при сегментно- страничной организации виртуальной памяти). 20
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »