Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 72 стр.

UptoLike

Составители: 

72
операционной системы. В эту группу входят объекты APC (Asynchronous
Procedure Callасинхронный вызов процедуры), DPC (Deferred Procedure
Callотсроченный вызов процедуры) и некоторые объекты, используемые
диспетчером ввода-вывода (например, объект прерывания).
Другая группа объектов называется объекты диспетчера (Dispatcher
Objects) реализует средства синхронизации, позволяющие планировать
потоки. В эту группу входят поток ядра (Kernel Thread), мьютекс (Mutex),
событие (Event), семафор (Semaphore), таймер (Timer), таймер ожидания
(Waitable Timer), и некоторые другие. С помощью функций ядра
исполнительная система создает объекты ядра, манипулирует ими и
конструирует более сложные объекты, предоставляемые в
пользовательском режиме.
Не менее важной задачей ядра является абстрагирование или
изоляция исполнительной системы и драйверов устройств от особенностей
конкретной аппаратной
реализации вычислительной системы. К
особенностям конкретной аппаратной реализации относятся различия в
обработке прерываний и исключений, синхронизация нескольких
процессоров и т. п.
Архитектура ядра нацелена на максимальную унификацию кода,
даже для аппаратно-зависимых функций. Интерфейсы, поддерживаемые
ядром, унифицированы и могут использоваться в различных аппаратных
платформах и конфигурациях.
Однако при всем стремлении разработчиков
сделать интерфейсы
аппаратно-независимыми, некоторая часть кода должна работать
непосредственно с конкретной аппаратурой. Одним из примеров
аппаратно-специфического кода может служить интерфейс,
предоставляющий поддержку буфера трансляции процессорного кэша.
операционной системы. В эту группу входят объекты APC (Asynchronous
Procedure Call – асинхронный вызов процедуры), DPC (Deferred Procedure
Call – отсроченный вызов процедуры) и некоторые объекты, используемые
диспетчером ввода-вывода (например, объект прерывания).
     Другая группа объектов называется объекты диспетчера (Dispatcher
Objects) реализует средства синхронизации, позволяющие планировать
потоки. В эту группу входят поток ядра (Kernel Thread), мьютекс (Mutex),
событие (Event), семафор (Semaphore), таймер (Timer), таймер ожидания
(Waitable Timer), и некоторые другие. С помощью функций ядра
исполнительная система создает объекты ядра, манипулирует ими и
конструирует      более      сложные           объекты,      предоставляемые       в
пользовательском режиме.
     Не менее важной задачей ядра является абстрагирование или
изоляция исполнительной системы и драйверов устройств от особенностей
конкретной     аппаратной        реализации      вычислительной      системы.     К
особенностям конкретной аппаратной реализации относятся различия в
обработке    прерываний      и     исключений,      синхронизация         нескольких
процессоров и т. п.
     Архитектура ядра нацелена на максимальную унификацию кода,
даже для аппаратно-зависимых функций. Интерфейсы, поддерживаемые
ядром, унифицированы и могут использоваться в различных аппаратных
платформах и конфигурациях.
     Однако при всем стремлении разработчиков сделать интерфейсы
аппаратно-независимыми,          некоторая      часть     кода   должна     работать
непосредственно       с   конкретной      аппаратурой.      Одним    из    примеров
аппаратно-специфического           кода        может       служить        интерфейс,
предоставляющий поддержку буфера трансляции процессорного кэша.




                                          72