Временное отображение
Временное отображение
В случаях, когда необходимо создать отображение страниц памяти в адресное пространство, а текущий контекст не может переходить в состояние ожидания, ядро предоставляет функцию временного отображении (которое также называется атомарным отображением). Существует некоторое количество зарезервированных постоянных отображений, которые могут временно выполнять отображение "на лету". Ядро может автоматически отображать страницу верхней памяти в одно из зарезервированных отображений. Временное отображение может использоваться в коде, который не может переходить в состояние ожидания, как, например, контекст прерывания, потому что полученное отображение никогда не блокируется.
Установка временного отображения выполняется с помощью следующей функции.
void *kmap_atomic(struct page *page, enum km_type type);
Параметр type — это одно из значений показанного ниже перечисления, определенного в файле <asm/kmap_types.h>, которое описывает цель временного отображения.
enum km_type {
KM_BOUNCE_READ,
KM_SKB_SUNRPC_DATA,
KM_SKB_DATA_SOFTIRQ,
KM_USER0,
KM_USER1,
KM_BIO_SRC_IRQ,
KM_BIO_DST_IRQ,
KM_PTE0,
KM_PTE1,
KM_PTE2,
KM_IRQ0,
KM_IRQ1,
KM_SOFTIRQ0,
KM_SOFTIRQ1,
KM_TYPE_NR
};
Данная функция не блокируется и поэтому может использоваться в контексте прерывания и в других случаях, когда нельзя перепланировать выполнение. Эта функция также запрещает преемптивность ядра, что необходимо потому, что отображения являются уникальными для каждого процессора (а перепланирование может переместить задание для выполнения на другом процессоре).
Отменить отображение можно с помощью следующей функции.
void kunmap_atomic(void *kvaddr, enum km_type type);
Эта функция также не блокирующая. На самом деле для большинства аппаратных платформ она ничего не делает, за исключением разрешения преемптивности ядра, потому что временное отображение действует только до тех пор, пока не создано новое временное отображение. Поэтому ядро просто "забывает" о вызове функции kmap_atomic(), и функции kunmap_atomic() практически ничего не нужно делать. Следующее атомарное отображение просто заменяет предыдущее.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
13.2. Отображение в памяти
13.2. Отображение в памяти Операционная система Linux позволяет процессу отображать файлы в их адресное пространство. Такое отображение создает взаимно однозначное соответствие между данными в файле и в отображаемой области памяти. Отображение в памяти обладает рядом
Отображение статистики
Отображение статистики Отображением статистики занимается скрипт monitor.cgi, входящй с дистрибутив. Как им пользоваться — очевидно из его интерфейса. Пара
6.1.6. Отображение файлов
6.1.6. Отображение файлов В Linux и Windows используются разные правила именования файлов. Например, в Linux названия чувствительны к регистру, а в Windows — нет. Это значит, что файлы DATA.TXT и data.txt в Windows будут восприняты, как один и тот же файл. Для решения этой проблемы есть несколько
Отображение портов
Отображение портов Большинство серверов TCP/IP принимают обращения от клиентов через порт с определенным номером. Так, например, сервер, реализующий протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты), использует при работе порт 25, а Web-сервер, поддерживающий
Отображение
Отображение Еще одной возможностью, которую предоставляет пользователям Windows, является определение тех значков ActiveX-объектов, которые будут отображаться на Рабочем столе, в папках Панель управления и Мой
Отображение и курсоры
Отображение и курсоры В данной категории настраивают внешний вид указателей мыши при выполнении различных операций (рис. 14.10). Рис. 14.10. Настройка указателей мышиПо умолчанию указатели при работе с инструментами, использующими кисть, отображаются в виде окружностей,
Отображение модели
Отображение модели В AutoCAD 2010 применяется такой подход к отображению моделей, при котором можно использовать стили визуализации. Под стилем визуализации понимается сохраненный набор параметров внешнего вида модели, включающий в себя вид граней и ребер модели, цвет фона,
Отображение названия
Отображение названия Чтобы завершить создание элемента управления, вы должны отобразить название автомобиля. Для этого обработайте событие Paint для CarControl и в рамках обработчика этого события отобразите PetName вашего CarControl в нижней прямоугольной области клиента.private void
Временное пространство сортировки
Временное пространство сортировки Запросы с предложениями ORDRE BY и GROUP BY "паркуют" промежуточные наборы для дальнейших операций сортировки во временном хранилище. Рекомендуется иметь доступную память, приблизительно в 2.5 раза превышающую размер самой большой таблицы,
6.2. Временное получение полномочий пользователя root
6.2. Временное получение полномочий пользователя root Некоторые операции, такие, например, как установка программного обеспечения или изменение конфигурационных файлов, требуют полномочий root. Чтобы их получить, нужно использовать команду sudo следующим образом: sudo
Отображение модели
Отображение модели Начиная с прошлой версии программы, принципиально изменен подход к отображению моделей – теперь можно применять стили визуализации. Под стилем визуализации понимается сохраненный набор параметров внешнего вида модели, включающий в себя вид граней и
Зеркальное отображение
Зеркальное отображение Если вы собираетесь создать зеркальное отображение трехмерного объекта относительно прямой, лежащей в плоскости XY, то по-прежнему можно воспользоваться командой MIRROR. В противном случае необходимо применить команду 3DMIRROR, создающую отражение
9.4. Отображение деревьев
9.4. Отображение деревьев Так же, как и любые объекты данных в Прологе, двоичное дерево T может быть непосредственно выведено на печать при помощи встроенной процедуры write. Однако цельwrite( T)хотя и отпечатает всю информацию, содержащуюся в дереве, но действительная структура
Отображение на типы .NET
Отображение на типы .NET Стандартные типы PascalABC.NET реализуются типами библиотеки классов .NET. Далее приводится таблица соответствий стандартных типов PascalABC.NET и типов .NET. Тип PascalABC.NET Тип .NET int64 System.Int64 uint64 System.UInt64 integer, longint System.Int32 longword,
Прямое отображение
Прямое отображение Любая прикладная система стремится удовлетворить потребности некоторой проблемной области. Если имеется хорошая модель для описания этой проблемной области, то желательно обеспечить четкое отображение структуры проблемы описываемой моделью на