10.1.2 Системные функции и взаимодействие с драйверами

10.1.2 Системные функции и взаимодействие с драйверами

В этом разделе рассматривается взаимодействие ядра с драйверами устройств. При выполнении тех системных функций, которые используют дескрипторы файлов, ядро, следуя за указателями, хранящимися в пользовательском дескрипторе файла, обращается к таблице файлов ядра и к индексу, где оно проверяет тип файла, и переходит к таблице ключей устройств ввода-вывода блоками или символами. Ядро извлекает из индекса старший и младший номера устройства, использует старший номер в качестве указателя на точку входа в соответствующей таблице и вызывает выполнение функции драйвера в соответствии с выполняемой системной функцией, передавая младший номер в качестве параметра. Важным различием в реализации системных функций для файлов устройств и для файлов обычного типа является то, что индекс специального файла не блокируется в то время, когда ядро выполняет программу драйвера. Драйверы часто приостанавливают свою работу, ожидая связи с аппаратными средствами или поступления данных, поэтому ядро не в состоянии определить, на какое время процесс будет приостановлен. Если индекс заблокирован, другие процессы, обратившиеся к индексу (например, посредством системной функции stat), приостановятся на неопределенное время, поскольку один процесс приостановил драйвер.

Рисунок 10.2. Пример заполнения таблиц ключей устройств ввода-вывода блоками и символами

Драйвер устройства интерпретирует параметры вызова системной функции в отношении устройства. Драйвер поддерживает структуры данных, описывающие состояние каждой контролируемой единицы данного типа устройства; функции драйвера и программы обработки прерываний реализуются в соответствии с состоянием драйвера и с тем, какое действие выполняется в этот момент (например, данные вводятся или выводятся). Теперь рассмотрим каждый интерфейс более подробно.

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

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

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

Глава 1 Знакомство с Windows NT и драйверами устройств хранения данных

Из книги Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 автора Дайлип Наик

Глава 1 Знакомство с Windows NT и драйверами устройств хранения данных В этой главе рассматриваются драйверы устройств Windows NT, драйверы фильтрации и стек драйверов устройств хранения данных для семейства Windows Server. Приведенных сведений достаточно для того, чтобы познакомить


1.4 Структуры данных, связанные с драйверами устройств Windows

Из книги 500 лучших программ для Windows автора Уваров Сергей Сергеевич

1.4 Структуры данных, связанные с драйверами устройств Windows Перед подробным рассмотрением драйверов устройств Windows NT стоит разобраться в некоторых важных структурах данных, которые используются этими драйверами. Каждый драйвер Windows, включая драйверы устройств хранения


Работа с драйверами

Из книги Курс "Язык программирования PHP" автора Савельева Нина Владимировна

Работа с драйверами При покупке очередной технологической новинки в комплекте с ней обычно поставляется компакт-диск, содержащий драйверы, необходимые для корректной и наиболее эффективной работы устройства. Программы, представленные в данном разделе, позволяют


Взаимодействие с DNS-сервером

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Взаимодействие с DNS-сервером Если вы хотите, чтобы к клиенту DHCP мог непосредственно обратиться любой узел сети, добиться этого можно двумя способами. Вы можете сконфигурировать сервер DHCP так, чтобы он предоставлял клиенту фиксированный IP-адрес (необходимые действия


Взаимодействие с ActiveSync

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

Взаимодействие с ActiveSync Разработчики теперь могут запускать и останавливать процесс синхронизации ActiveSync, используя методы ActiveSyncStart и


Взаимодействие с мышью

Из книги Windows Vista. Трюки и эффекты автора Зозуля Юрий

Взаимодействие с мышью Для взаимодействия с мышью служит объект Mouse. Единственный экземпляр этого объекта под именем Mouse создается самим Flash.Прежде всего, этот объект предоставляет методы hide и show. Первый метод скрывает курсор мыши, а второй — вновь выводит его на экран. Ни


8.4. Эффективная работа с устройствами и драйверами

Из книги Windows Vista. Для профессионалов автора Клименко Роман Александрович

8.4. Эффективная работа с устройствами и драйверами Диспетчер устройствС помощью Диспетчера устройств можно просмотреть список установленного оборудования, получить подробные сведения о каждом устройстве, а также изменить параметры работы отдельных компонентов.Для


7.5. Работа с драйверами

Из книги Операционная система UNIX автора Робачевский Андрей М.

7.5. Работа с драйверами Драйвер представляет собой программу в специальном формате, которая управляет работой определенного устройства или, в некоторых случаях, программы. Как правило, драйвер работает в нулевом кольце защиты, поэтому он может выполнить любую операцию в


Системные вызовы и функции стандартных библиотек

Из книги C++ для начинающих автора Липпман Стенли

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


Основные системные функции для работы с файлами

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

Основные системные функции для работы с файлами В табл. 2.7 приведены основные системные функции работы с файлами, являющиеся образами системных вызовов в программе С.Функции более высокого уровня, предлагаемые стандартной библиотекой ввода/вывода, которые в конечном


Взаимодействие с пользователем

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

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


Взаимодействие сторон

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

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


Взаимодействие

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

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