- •Введение
- •Подсистема ввода-вывода: общие принципы построения и работы
- •1.1. Взаимодействие процессора с внешними устройствами
- •1.2. Прямой доступ к памяти
- •Драйверы
- •Роль драйверов в операционной системе
- •Взаимодействие драйверов с компонентами операционной системы и пользовательскими программами
- •Стек обработки запросов ввода-вывода
- •Основы организации и работы подсистемы ввода-вывода unix
- •2.1. Драйверы в операционных системах семейства unix
- •Стратегическая функция драйвера блочного устройства
- •Функция обработки прерывания
- •Функция опроса устройства
- •Другие функции драйверов
- •Буферизация в символьных драйверах
- •Терминальный драйвер
- •2.2. Потоковая подсистема ввода-вывода в unix
- •Архитектура и принципы работы подсистемы streams
- •Архитектура и работа модулей потока
- •Функция модуля put
- •Функция модуля service
- •Структура сообщения
- •Основы организации и работы подсистемы ввода-вывода windows
- •3.1. Классификаций драйверов Windows
- •Драйверы пользовательского режима
- •Драйверы режима ядра
- •3.2. Объекты подсистемы ввода-вывода
- •Объект файл
- •Объект устройство
- •Объект драйвер
- •Объект пакет запроса ввода-вывода
- •Объект блок стека запросов ввода-вывода
- •3.3. Передача данных между пользовательским адресным пространством и пространством ядра
- •Буферизированный ввод-вывод
- •Прямой ввод-вывод
- •Ввод-вывод под управлением драйвера
- •3.4. Обработка запросов ввода-вывода
- •Прохождение запроса ввода-вывода вниз через стек обработки запросов ввода-вывода
- •Обработка прерывания по завершению ввода-вывода
- •Обратное прохождение запроса ввода-вывода вверх через стек запросов ввода-вывода
- •3.5. Буферизация запросов ввода-вывода
- •Системная очередь запросов
- •Очереди запросов под управлением драйвера
- •3.6. Диспетчер Plug-And-Play, установка и запуск драйверов
- •3.7. Диспетчер электропитания
- •3.8. Среда сетевых драйверов ndis
- •Драйверы среды ndis Минипорт-драйверы сетевых адаптеров
- •Драйверы протоколов
- •Промежуточные драйверы
- •Структура ndis пакета
- •Запросы к сетевым адаптерам
- •3.9. Порты завершения ввода-вывода
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.7. Диспетчер электропитания
Управление электропитанием является важной функцией подсистемы ввода-вывода, особенно при работе портативных компьютеров. Расход электроэнергии можно существенно снизить, если отключать неиспользуемые в данный момент устройства. Статистику использования устройств ведет диспетчер электропитания, который инициирует переход простаивающих устройств в энергосберегающий режим работы.
Все современные компьютеры поддерживают стандарт ACPI для управления электропитанием. Стандарт определяет шесть уровней энергопотребления компьютера, которые перечислены в следующей таблице 1.
Таблица1.
состояние |
энергопотребление |
возобновление работы |
задержка |
|
S0 [fully on] |
|
|
|
|
[Sleeping] |
S1 |
менее S0 |
программы возобновляют работу с точки останова |
менее 2 секунд |
S2 |
менее S1 |
|
||
S3 |
менее S2, процессор отключен |
|
||
S4 [hibernating] |
ток подается на кнопку включения и в контуры пробуждения (мышь, клавиатура, сетевая карта, модем и т.п.) |
операционная система загружается с помощью специального файла, программы возобновляются с точки останова |
|
|
S5 [fully off] |
ток подается только на кнопку включения |
операционная система загружается заново, программы должны быть перезапущены |
|
При этом для устройств определено только 4 уровня энергопотребления: D0 – устройство полностью включено, D3 – устройство полностью выключено. Состояния D1 и D2 не регламентированы и к ним предъявляется требования только по относительному энергопотреблению: потребление энергии в состоянии D1 не должно превышать потребление энергии в состоянии D0, а потребление энергии в состоянии D2 не должно превышать потребление энергии в состоянии D1.
Диспетчер электропитания принимает решение о переходе того или иного устройства в другое состояние энергопотребления, исходя из следующих факторов:
явные инструкции по управлению электропитанием;
параметры стратегии управления электропитанием, указанные в панели управления электропитанием;
уровень заряда аккумуляторов;
общий уровень активности системы.
Диспетчер электропитания получает от диспетчера PnP информацию о возможностях подключенных устройств в области управления электропитанием, в частности, какие режимы энергопотребления поддерживаются, сколько времени требуется устройству для перехода из состояний с пониженным энергопотреблением в состояние D0, поддерживается ли данным устройством возможность пробуждения компьютера из состояния сна. Диспетчер PnP также передает диспетчеру электропитания таблицу соответствия между состояниями энергопотребления компьютера и состояниями энергопотребления каждого отдельного устройства в которой указано, в какое состояние следует переводить устройство при переходе компьютера в одно из состояний S0 – S5.