Сегмент vnode (также известный под именем seg_vn) связывает адреса прикладных процессов с обычными файлами и анонимным объектом.
Последний представлен указателем vnode, равным нулю (или файлом /dev/zero), и отображает области, заполненные нулями, такие как неинициализированные данные (bss) и пользовательский стек.
Также вам может показаться, что такая тема как http://www.firepro.ru/products/novec-1230.html никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт firepro.ru. Тема Novec 1230 - безопасное газовое пожаротушение фторкетон там представлена весьма широко. На том сайте можно узнать много интересного на тему Novec 1230 - безопасное газовое пожаротушение фторкетон . Что означает вообще тема Novec 1230 - безопасное газовое пожаротушение фторкетон , где найти Novec 1230 - безопасное газовое пожаротушение фторкетон - про это написано на сайте firepro.ru. Это очень важная для многих людей тема - Novec 1230 - безопасное газовое пожаротушение фторкетон . Спасибо сайту firepro.ru за информацию на тему Novec 1230 - безопасное газовое пожаротушение фторкетон .
Для заполнения таких страниц нулями используется исключительное состояние. Области текста и инициализируемых данных связываются с исполняемым файлом при помощи драйвера seg_vn. Дополнительные сегменты типа seg_vn могут быть созданы для обработки разделяемой памяти и файлов, принудительно отображенных системным вызовом mmap.
Ранее показаны структуры данных, ассоциированные с сегментами vnode. Каждый такой сегмент поддерживает закрытую структуру данных для хранения дополнительной информации, используемой драйвером. Структура содержит следующие данные:
♦ установки текущей и максимальной степени защиты страниц сегмента;
♦ тип отображения (разделяемое или закрытое);
♦ указатель на vnode отображаемого файла. Дает возможность доступа ко всем операциям vnode над файлом [6];
♦ смещение от начала сегмента файла;
♦ указатель на анонимную карту отображения (для измененных страниц закрытых отображений, см. раздел 14.7.2);
♦ указатель на массив элементов защиты страниц, если страницы сегмента имеют неодинаковые атрибуты защиты.
Максимальный уровень защиты устанавливается обычно при первичной иниициализации отображения, в зависимости от потребности в безопасности и режима открытия файла. Например, если файл открыт в режиме «только для чтения», он не может отображаться как MAP_PRIVATE с атрибутом PROT_WRITE, даже если пользователь обладает правом на запись в этот файл. Текущие установки защиты, как правило, такие же, что и в случае максимально упроченной защиты. Позже они могут быть изменены при помощи вызова mprotect, но при этом уровень защиты не может стать выше.
Вызов mprotect может работать с любым диапазоном страниц, следовательно, некоторые страницы сегмента в состоянии иметь установки защиты, отличающиеся от установок сегмента. Информация об этом хранится в массиве элементов установок защиты. Он также позволяет производить блокировку отдельных страниц в памяти (через системный вызов mlock). Ответственность за соблюдение требований по поддержанию уровней защиты, не превосходящих наивысший, возлагается на ядро системы.
Возможность постраничной установки атрибутов защиты не является уникальной для seg_vn. Этот механизм разрешен к использованию сегментами любого типа, если они поддерживают вызовы mmap и mprotect.
Опубликовал katy
June 20 2015 09:10:28 ·
0 Комментариев ·
3127 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.