Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных - словарь терминов на Delphi + Пояснительная записка
Моделирование информационно-поисковой библиографической системы на gpss ...
Сравнение двух бинарных деревьев на Turbo Pascal + отчет

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



Также вам может показаться, что такая тема как http://linentime.ru/catalog/prikolnoe-postelnoe-bele никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт linentime.ru. Тема прикольное постельное белье интернет магазин там представлена весьма широко. На том сайте можно узнать много интересного на тему прикольное постельное белье интернет магазин. Что означает вообще тема прикольное постельное белье интернет магазин, где найти прикольное постельное белье интернет магазин - про это написано на сайте linentime.ru. Это очень важная для многих людей тема - прикольное постельное белье интернет магазин. Спасибо сайту linentime.ru за информацию на тему прикольное постельное белье интернет магазин.

♦ Структуры данных, недоступные для приложений, не включены в раздел 4, однако могут упоминаться при описании использующих их процедур. Драйверам запрещено обращаться к какой-либо части таких структур. Они могут использовать их исключительно по ссылкам, передавая указатели на эти структуры соответствующим процедурам ядра.
♦ Для чтения или изменения структур данных, описанных в разделе 4, драйверы должны по мере возможности использовать только функции раздела 3. Такой подход позволяет защитить драйвер от потери совместимости при внесении изменений в структуры данных.



♦ Драйвер должен содержать файл ddi.h, размещаемый после всех системных включаемых файлов, но до специфических для драйвера включаемых файлов. Причиной появления данного требования является реализация большого числа функций спецификации в виде макроопределений. Файл ddi.h переопределяет такие макросы, заставляя драйверы использовать не их, а вызовы функций, формирующие соответствующие процедуры. Это позволяет упростить задачу переноса драйвера на другие версии системы. Включение специфических для драйвера файлов после ddi.h гарантирует, что он будет использовать только интерфейс DDI/DKI.



♦ Все закрытые процедуры и внутренние переменные должны иметь тип static.
16.7.2. Функции раздела 3
В разделе 3 спецификации DDI/DKI описаны функции ядра, используемые драйверами устройств. Процедуры могут быть разделены на несколько функциональных групп.
♦ Синхронизация и таймер. Процедуры sleep() и wakeup() описаны в разделе 2.5.1. Функция delay() блокирует процесс на указанное количество времени. Процедуры timeout() и untimeout() позволяют производить планирование процессов


♦ Управление памятью. Процедуры kmem_alloc() и kmem_free() отвечают за выделение памяти ядром. Процедуры rminit(), rmaUoc() и rmfree() управляют картами ресурсов. Работа этих функций описана в главе 121. Функции physmap() и physmapfree() применяются для отображения физических адресов в виртуальные.
Спецификация DDI/DKI 769
Управление буфером. Процедура getblk() размещает буфер, функция brelse() используется для его освобождения. Драйвер вызывает biowait() для ожидания завершения ввода-вывода. Для пробуждения процесса и освобождения буфера обработчик прерываний вызывает biodone().
Операции с номерами устройств. Функции getmajor() и getminor() выделяют внешний старший и младший номера из dev_t. Функции itoemajor() и etoiminor() применяются для преобразования внутреннего номера во внешний и обратно.
Прямой доступ к памяти. Набор аппаратно-зависимых функций, поддерживающих DMA. Спецификация содержит описания функций для IBM РС-АТ-совместимых архитектур.
Обмен данными. Функция uiomove() копирует данные между адресным пространством ядра и пространством прикладного процесса, либо между двумя участками внутри пространства ядра. Эта функция поддерживает ввод-вывод методом сборки-рассоединения (scatter-gather I/O). Например, функция может собирать данные из нескольких прикладных буферов в единый буфер ядра

Для описания параметров передачи функция использует структуру uio. Процедуры copyin() и copyout() применяются при обмене данными между буфером драйвера и прикладным буфером. Такие аппаратно-зависимые процедуры, как inb() и outb(), перемещают данные из пространства ввода-вывода и обратно на архитектурах, не поддерживающих отображаемый ввод- вывод (например, в Intel х86).


♦ Опрос устройств. Процедуры опроса устройств включают в себя phalloc() и phfree(), используемые для выделения структур poLLhead, и pollwakeup() для пробуждения опрашивающих процессов.
♦ STREAMS. Набор процедур поддержки драйверов устройств STREAMS. О них подробнее читайте в главе 17.
♦ Сервисные процедуры. В интерфейсе DDI/DKI поддерживается набор функций работы со строками, таких как strcopy() и strlen(), манипулирования байтами, таких как bcopy(), bcmp() и bzero(), функции обработки ошибок, такие как ASSERT() и cmn_err(), а также другие полезные функции, например тах() и min().
Опубликовал katy June 24 2015 16:46:29 · 0 Комментариев · 4025 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
MxProtector
Доступа к БД Fire...
JBlabel3D
Rotolabel
SMLPack v1.0
Программирование ...
Работа с матрицами
StartMark
C++ Builder: Книг...
JanComp
Apollovcl61
TelBook
Xrumer 4 Platinum...
RSS Feeds
C++ Стандартная б...
Развивающийся фла...
Microsoft SQL Ser...
ZipTV
Text effect
SendSMS для PHP-F...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10374
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Транзакты
Сложная схема линк...
Управление потоком
Переписать текст и...
Использование реги...
OpenGL. Пример рис...
Программирование в...
Механика создания ...
Практический Перл ...
Как бесплатно отпр...
Стандартные процед...
Игровые автоматы о...
Disk write error
File not open
7 шагов по создан...
Тестирование приме...
Конструкция компью...
Ответы см
Мониторинг
Внешние ссылки, об...
Функции абстракции
Принципы организац...
Генеалогическое де...
меню команду RunAs
расчёт в операторах
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?