Диспетчер Памяти в NT экспортирует единственную структуру
для контроля данных - Объект-Секцию. Подобно другим объектам, Объект-Секция
может быть именованным, то есть имя будет видимо в пространстве имен
Диспетчера Объектов.
Секция может быть использована драйвером для отображения
участка памяти системного адресного пространства (в том числе невытесняемого)
в пользовательское адресное пространство. В этом случае прикладная программа
и драйвер получат в свое распоряжение совместно используемую область памяти,
что может быть полезно, например, при необходимости передачи большого объема
данных от драйвера к приложению.
Секция используется для описания всего, что может быть
отображено в память. Например, для каждого отображаемого в память файла
создается объект-Секция. При этом, сколько бы не было открытий такого файла,
объект-Секция всегда одна. Поскольку все исполняемые файлы загружаются
посредством механизма отображения памяти, единственность объекта-секции
всегда гарантирует наличие только одной копии такого файла в памяти.
При создании секции указывается режим доступа (чтение/запись/исполнение).
Этот режим доступа будет влиять на записи в таблице страниц, относящиеся к
секции.
Функции работы с секциями:
- ZwOpenSection();
- ZwMapViewOfSection();
- ZwUnmapViewOfSection().
Тестирование параллельного программного обеспечения представляет собой более
сложную задачу по сравнению с тестированием последовательной программы. Программист
должен знать о подводных камнях при тестировании параллельного кода, имеющихся
методологиях и инструментарии.
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее
реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности,
достоинства и недостатки.