Операционные системы. Макушкина Л.А - 20 стр.

UptoLike

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


                                     20