Временное отображение

Временное отображение

В случаях, когда необходимо создать отображение страниц памяти в адресное пространство, а текущий контекст не может переходить в состояние ожидания, ядро предоставляет функцию временного отображении (которое также называется атомарным отображением). Существует некоторое количество зарезервированных постоянных отображений, которые могут временно выполнять отображение "на лету". Ядро может автоматически отображать страницу верхней памяти в одно из зарезервированных отображений. Временное отображение может использоваться в коде, который не может переходить в состояние ожидания, как, например, контекст прерывания, потому что полученное отображение никогда не блокируется.

Установка временного отображения выполняется с помощью следующей функции.

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() практически ничего не нужно делать. Следующее атомарное отображение просто заменяет предыдущее.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Отображение статистики

Из книги Документация NetAMS автора Автор неизвестен

Отображение статистики Отображением статистики занимается скрипт monitor.cgi, входящй с дистрибутив. Как им пользоваться — очевидно из его интерфейса. Пара


Скрытие и отображение

Из книги Тонкости реестра Windows Vista. Трюки и эффекты автора Клименко Роман Александрович


Отображение модели

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Отображение модели Начиная с прошлой версии программы, принципиально изменен подход к отображению моделей – теперь можно применять стили визуализации. Под стилем визуализации понимается сохраненный набор параметров внешнего вида модели, включающий в себя вид граней и


Зеркальное отображение

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Зеркальное отображение Если вы собираетесь создать зеркальное отображение трехмерного объекта относительно прямой, лежащей в плоскости XY, то по-прежнему можно воспользоваться командой MIRROR. В противном случае необходимо применить команду 3DMIRROR, создающую отражение


Отображение названия

Из книги Photoshop. Мультимедийный курс автора Мединов Олег

Отображение названия Чтобы завершить создание элемента управления, вы должны отобразить название автомобиля. Для этого обработайте событие Paint для CarControl и в рамках обработчика этого события отобразите PetName вашего CarControl в нижней прямоугольной области клиента.private void


Отображение и курсоры

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Отображение и курсоры В данной категории настраивают внешний вид указателей мыши при выполнении различных операций (рис. 14.10). Рис. 14.10. Настройка указателей мышиПо умолчанию указатели при работе с инструментами, использующими кисть, отображаются в виде окружностей,


Отображение модели

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Отображение модели В AutoCAD 2010 применяется такой подход к отображению моделей, при котором можно использовать стили визуализации. Под стилем визуализации понимается сохраненный набор параметров внешнего вида модели, включающий в себя вид граней и ребер модели, цвет фона,


Прямое отображение

Из книги Сетевые средства Linux автора Смит Родерик В.

Прямое отображение Любая прикладная система стремится удовлетворить потребности некоторой проблемной области. Если имеется хорошая модель для описания этой проблемной области, то желательно обеспечить четкое отображение структуры проблемы описываемой моделью на


Отображение портов

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Отображение портов Большинство серверов TCP/IP принимают обращения от клиентов через порт с определенным номером. Так, например, сервер, реализующий протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты), использует при работе порт 25, а Web-сервер, поддерживающий


9.4. Отображение деревьев

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

9.4. Отображение деревьев Так же, как и любые объекты данных в Прологе, двоичное дерево T может быть непосредственно выведено на печать при помощи встроенной процедуры write. Однако цельwrite( T)хотя и отпечатает всю информацию, содержащуюся в дереве, но действительная структура


13.2. Отображение в памяти

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

13.2. Отображение в памяти Операционная система Linux позволяет процессу отображать файлы в их адресное пространство. Такое отображение создает взаимно однозначное соответствие между данными в файле и в отображаемой области памяти. Отображение в памяти обладает рядом


6.2. Временное получение полномочий пользователя root

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

6.2. Временное получение полномочий пользователя root Некоторые операции, такие, например, как установка программного обеспечения или изменение конфигурационных файлов, требуют полномочий root. Чтобы их получить, нужно использовать команду sudo следующим образом: sudo


Временное пространство сортировки

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Временное пространство сортировки Запросы с предложениями ORDRE BY и GROUP BY "паркуют" промежуточные наборы для дальнейших операций сортировки во временном хранилище. Рекомендуется иметь доступную память, приблизительно в 2.5 раза превышающую размер самой большой таблицы,


Отображение

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

Отображение Еще одной возможностью, которую предоставляет пользователям Windows, является определение тех значков ActiveX-объектов, которые будут отображаться на Рабочем столе, в папках Панель управления и Мой


6.1.6. Отображение файлов

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

6.1.6. Отображение файлов В Linux и Windows используются разные правила именования файлов. Например, в Linux названия чувствительны к регистру, а в Windows — нет. Это значит, что файлы DATA.TXT и data.txt в Windows будут восприняты, как один и тот же файл. Для решения этой проблемы есть несколько


Отображение на типы .NET

Из книги автора

Отображение на типы .NET Стандартные типы PascalABC.NET реализуются типами библиотеки классов .NET. Далее приводится таблица соответствий стандартных типов PascalABC.NET и типов .NET. Тип PascalABC.NET Тип .NET int64 System.Int64 uint64 System.UInt64 integer, longint System.Int32 longword,