Анонимный уровень (anon level) управляет анонимными страницами и обрабатывает исключительные состояния, вызванные ошибками доступа к принадлежащим ему страницам. На этом уровне должна поддерживаться информация, необходимая для локализации страницы. Если страница находится в памяти, в структуре anon появится указатель на ее структуру раде. Если страница выгружается в область свопинга, ее необходимо считать с резервного носителя, управляемого уже уровнем свопинга. Взаимосвязи между структурой anon и страницами, выгруженными в область свопинга, управляются процедурой swap_xlate().
В системе может присутствовать несколько устройств свопинга. Каждое из них, как правило, является разделом на локальном диске, но не исключается использование удаленных дисков или даже файлов. Устройство свопинга может подключаться или отключаться динамически посредством системного вызова
swapctl (int cmd. void *arg);
где cmd принимает значения SC_ADD или SC_REM0VE‘, a arg является указателем на структуру swapres. Эта структура содержит полное имя к файлу свопинга (для локального раздела свопинга это может быть специальный файл устройства), а также местонахождение и размер области свопинга внутри этого файла.
Для каждого устройства свопинга ядро системы поддерживает структуру swapinfo, добавляемую в связанный список (см. рис 14.8). Оно также выделяет массив структур anon с количеством элементов, равным количеству страниц устройства. Структура swapinfo содержит указатель vnode и начальное смещение области свопинга, а также указатели на начало и конец массива anon. Свободные структуры anon в массиве взаимосвязаны. Указатель на такой связанный список хранится в структуре swapinfo. Изначально ее элементы свободны.
Опубликовал katy
June 20 2015 09:13:16 ·
0 Комментариев ·
2456 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.