- •1. Понятие вычислительной системы
- •1.1. Модель вычислителя
- •1.2. Модель коллектива вычислителей
- •1.3. Понятие параллельных алгоритмов
- •1.4. Принципы технической реализации модели коллектива вычислителей
- •1.9. Распределенные вычислительные системы
- •1.5. Классификация архитектур вычислительных систем
- •1.6. Конвейерные вычислительные системы
- •1.7. Матричные вычислительные системы
- •1.8. Мультипроцессорные системы
- •1.10. Вычислительные системы с программируемой структурой
- •1.11. Примеры реализаций вычислительных систем.
- •2. Аппаратные средства вс
- •2.1. Прерывания
- •2.2. Многомодульное программирование
- •2.3. Реализация архитектурных решений. Обзор технологий процессоров Intel
- •3. Ос. Основные понятия и типы операционных систем
- •3.1. Основные технологии программирования
- •3.2. Общие подходы к построению ос. Классификация ос.
- •3.3. Основные функции ос
- •3.4. Подходы к построению ос.
- •3.5. Виртуализация
- •3.6. Подходы Oracle
- •3.7. Центры обработки данных (цод)
- •Инструментарий ос (на основе Windows)
- •Основные базовые понятия: процессы и потоки
- •Инструментарий
- •Режим ядра и пользовательский режим
- •Средства изучения внутреннего устройства Windows
- •Основные концепции построения Windows
- •Архитектура современных ос
- •Лекция Основные требования при проектировании
- •Модель ос Windows
- •Обзор архитектуры
- •Многопроцессорная обработка
- •Различия между клиентскими и серверными версиями ос Windows
- •Лекция. Проверочный выпуск ос
- •Ключевые компоненты системы
- •Подсистема окружения
- •Подсистема окружения Windows
- •Исполнительная система Windows
- •Объекты ядра
- •Поддержка оборудования
- •Уровень абстрагирования от оборудования (Hardware Abstraction Layer)
- •Драйверы устройств в ос Windows
- •Недокументированные интерфейсы
- •Системные процессы
- •Прерывания (interrupts) и dpc (deferred procedure calls)
- •Процесс system и его потоки
- •Диспетчер сеансов
- •Диспетчер управления сервисами
- •Системные механизмы Windows
- •Виртуальная память
- •Режим ядра и пользовательский режим
- •Другие механизмы
- •Уровни запросов программных прерываний
- •Объекты прерывания
- •Программные прерывания
- •Прерывания apc (Asynchronous Procedure Call)
- •Диспетчеризация исключений
- •Необработанные исключения
- •Поддержка отчетов об ошибках
- •Диспетчеризация системных сервисов
- •Диспетчеризация 32-разрядных системных сервисов
- •Диспетчеризация системных сервисов режима ядра
- •Диспетчер объектов
- •Объекты исполнительной системы
- •Структура объектов в Windows
- •Заголовки и тела объектов
- •Объекты типа
- •Атрибуты объекта типа
- •Методы объекта
- •Описатели объектов и таблица описателей
- •Глобальные флаги Windows
- •Трассировка событий ядра
- •Управление процессами и потоками
- •Внутреннее устройство процессов
- •Создание процессов
- •Внутреннее устройство процессов. Структуры данных
- •Внутреннее устройство потоков
- •Основные блоки описания потоков в ос Windows
- •Взаимодействие процессов (ipc)
- •Взаимоисключения
- •Синхронизация в Windows
- •Спин-блокировки
Драйверы устройств в ос Windows
Драйверы устройств являются загружаемыми модулями режима ядра. Имеют, как правило, расширение .sys. Рассматриваем ядро: обеспечивает интерфейс между диспетчером ввода-вывода и соответствующим оборудованием.
Драйверы выполняются в режиме ядра в составе следующих трех контекстов – в контексте пользовательского потока, который инициировал функцию ввода-вывода; в контексте системного потока, выполняющегося в режиме ядра; не в контексте потока, а в результате обработки прерывания ввода-вывода (как правило, по завершению операции ввода-вывода).
Замечание: надо помнить, что драйвера напрямую не управляют устройствами, вместо этого они вызывают функцию HAL.
Можно выделить следующие типы драйверов в ОС Windows:
1) драйверы аппаратных устройств (слайд 31) – управляют через HAL оборудованием;
2) драйверы файловой системы – управляют выполнением запросов на файловый ввод-вывод, преобразуют запросы на ввод-вывод к конкретному устройству;
3) драйверы фильтра файловой системы – обеспечивают зеркалирование, перехват ввода-вывода, шифрование данных с целью передачи/приема со следующим уровнем;
4) сетевые редиректоры и серверы – драйверы файловых систем, которые передают запросы на ввод-вывод / принимают другим компьютерам станции сети;
5) драйверы сетевых протоколов – реализуют те или иные сетевые протоколы того или иного уровня модели OSI;
6) драйверы потоковых фильтров ядра – управляют так называемым потоковым оборудованием (аудио, видео).
Установка драйвера может осуществляться при работе (загруженности) ОС.
Книга – аналог Руссиновичу: Helen Kaster, Windows NT & NTFS, 1996 (основы Windows NT и NTFS).
Особенности модели драйверов ОС Windows:
1) в ОС Windows используется расширенная модель драйверов, которая первоначально использовалась в ОС Windows NT. Называется VDM.
С точки зрения VDM существуют три типа драйвера:
а) драйвер шины – обслуживает контроллер шины, мосты и другие подобные устройства. Для каждого типа шины (PCMCIA, например) свой драйвер.
б) основной драйвер устройства – предоставляет функциональный интерфейс к устройству, обладает наиболее полной возможностью по управлению устройством;
в) драйвер фильтра – поддерживает дополнительную функциональность устройства, возможно функционирование в коллективе драйверов, прием и передача запросов.
Замечание: в модели VDM один драйвер не может контролировать все аспекты устройства. Например, диспетчер шины информирует об устройствах, подключенных к шине, а функциональный драйвер управляет устройством.
В ОС Windows возможно осуществить просмотр установленных драйверов через меню кнопки пуск -> администрирование -> мой компьютер -> свойства. Сведения о системе, программная среда, драйверы. Выводится состояние драйвера (running – работает или stop – приостановлен). Список загруженных драйверов можно посмотреть также утилитой из состава Sysinternals и Windows SDK.
Недокументированные интерфейсы
Возможно в Windows NT посмотреть и сравнить список всех системных сервисов, которые предоставляют Windows подсистемы пользовательского режима (верхняя часть рисунка «Архитектура») с подмножеством, предоставляемым каждой из этих подсистем. Большинство доступно через WinAPI.
В таблице показаны общеупотребительные префиксы имен функций для их поиска в документации.
