- •Введение
- •Подсистема ввода-вывода: общие принципы построения и работы
- •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
Заключение
Помимо памяти и процессора, в компьютере используется множество других устройств, таких как диски, клавиатура, сетевые адаптеры, звуковые карты и др., объединенных под общим названием внешние устройства. Операционная система должна обеспечивать управление внешними устройствами, передачу данных между процессором/памятью и внешними устройствами, планирование загрузки внешних устройств и их бесконфликтное разделение конкурирующими процессами.
Библиографический список
Дейтел Г. Введение в операционные системы / Г.Дейтел; Пер. с англ. М.: Мир, 1987
Столлингс В. Операционные системы / В.Столлингс; Пер. с англ. М.: Издательский дом "Вильямс", 2002.
Таненбаум Э. Операционные системы. Разработка и реализация /Э.Таненбаум; Пер. с англ. СПб.: Питер, 2007.
Вахалия Ю. UNIX изнутри /Ю.Вахалия; Пер. с англ. СПб.: Питер, 2003.
Керниган Б.У. Язык программирования C/ Б.У. Керниган..: Вильямс, 2005.
Рихтер Дж. Windows для профессионалов: Создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows /Дж. Рихтер; Пер. с англ. СПб.: Питер, 2001.
Руссинович М. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000 /М. Руссинович; Пер. с англ. СПб.: Питер, 2005.
Сорокина С.И. Программирование драйверов и систем безопасности: учеб. пособие/ С.И. Сорокина; СПб.: БХВ-Петербург, М.: Издатель Молгачева С.В., 2003.
Чан Т. Системное программирование на С++ для UNIX /Т. Чан; Пер с англ. Киев: Издательская группа BHV, 1999.
Оглавление
ВВЕДЕНИЕ 3
1. ПОДСИСТЕМА ВВОДА-ВЫВОДА: ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ И РАБОТЫ 4
1.1. Взаимодействие процессора с внешними устройствами 4
1.2. Прямой доступ к памяти 4
1.3. Драйверы 5
Роль драйверов в операционной системе 5
Взаимодействие драйверов с компонентами операционной системы и пользовательскими программами 7
Стек обработки запросов ввода-вывода 12
2. ОСНОВЫ ОРГАНИЗАЦИИ И РАБОТЫ ПОДСИСТЕМЫ ВВОДА-ВЫВОДА UNIX 14
2.1. Драйверы в операционных системах семейства UNIX 16
Стратегическая функция драйвера блочного устройства 20
Функция обработки прерывания 21
Функция опроса устройства 22
Другие функции драйверов 23
Буферизация в символьных драйверах 23
Терминальный драйвер 26
2.2. Потоковая подсистема ввода-вывода в UNIX 29
Архитектура и принципы работы подсистемы STREAMS 30
3. ОСНОВЫ ОРГАНИЗАЦИИ И РАБОТЫ ПОДСИСТЕМЫ ВВОДА-ВЫВОДА WINDOWS 42
3.1. Классификаций драйверов Windows 46
Драйверы пользовательского режима 48
Драйверы режима ядра 49
3.2. Объекты подсистемы ввода-вывода 53
Объект файл 53
Объект устройство 54
Объект драйвер 55
Объект пакет запроса ввода-вывода 56
Объект блок стека запросов ввода-вывода 58
3.3. Передача данных между пользовательским адресным пространством и пространством ядра 60
Буферизированный ввод-вывод 61
Прямой ввод-вывод 62
Ввод-вывод под управлением драйвера 63
3.4. Обработка запросов ввода-вывода 64
Прохождение запроса ввода-вывода вниз через стек обработки запросов ввода-вывода 64
Обработка прерывания по завершению ввода-вывода 69
Обратное прохождение запроса ввода-вывода вверх через стек запросов ввода-вывода 71
3.5. Буферизация запросов ввода-вывода 73
Системная очередь запросов 73
Очереди запросов под управлением драйвера 75
3.6. Диспетчер Plug-And-Play, установка и запуск драйверов 76
3.7. Диспетчер электропитания 84
3.8. Среда сетевых драйверов NDIS 86
Драйверы среды NDIS 89
Структура NDIS пакета 94
Запросы к сетевым адаптерам 96
3.9. Порты завершения ввода-вывода 100
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 107
Учебное издание
Савинков Александр Юрьевич
ПОДСИСТЕМА ВВОДА-ВЫВОДА В
ОПЕРАЦИОННЫХ СИСТЕМАХ:
ПРИНЦИПЫ ОРГАНИЗАЦИИ И РАБОТЫ
В авторской редакции
Подписано к изданию 22.12.2010.
Объем данных 15.5 Мб
ГОУВПО «Воронежский государственный технический
университет»