- •Оглавление
- •Классификация операционных систем
- •2. Структура, состав и назначение подсистем типовой системы программирования (Visual Studio или Delphi).
- •4. Взаимодействие программ — интеграция приложени: технология com — основные принципы, типы и правила построения программных интерфейсов, достоинства и недостатки.
- •5. Объект, сервер, клиент. Схема взаимодействия клиента и объекта com. Объект
- •Интерфейс
- •Интерфейс iUnknown
- •Библиотека сом
- •Создание объекта
- •6. Технологи обмена сообщениями: проблемы интеграции приложений, основные принципы, шаблоны, достоинства и недостатки.
- •7. Принципы построения корпоративных информационных систем (кис), их типы и проблемы. Основные проблемы реализации архивных хранилищ. К основным принципам построения кис относятся:
- •Корпоративные информационные системы можно также разделить на два класса: финансово-управленческие и производственные.
- •Также различают виды кис, такие как заказные (уникальные) и тиражируемые кис.
- •Основные проблемы реализации архивных хранилищ
- •8. Синхронизация: семафоры, мьютексы, барьеры, взаимоблокировки — реентерабельность.
- •Семафоры
- •Мьютексы
- •Барьеры
- •Взаимоблокировки
- •Реентерабельность
- •Синхронизация при низком irql
- •Механизмы синхронизации режима ядра
- •Объекты диспетчера ядра
- •Условия освобождения различных синхронизирующих объектов
- •10. Основные системные механизмы Windows и их назначение.
- •Диспетчеризация ловушек
- •Диспетчер объектов
- •Синхронизация
- •Системные рабочие потоки
- •Глобальные флаги Windows
- •Трассировка событий ядра
- •Объекты исполнительной системы
- •Структура объектов
- •Методы объекта
- •Описатели объектов и таблица описателей, принадлежащая процессу
- •Внутренние объекты, объекты исполнительной системы (executive objects)
- •Хранение объектов в памяти
- •Имена объектов
- •Стандартные каталоги объектов
- •Пространство имен сеанса
- •Диспетчеризация 32-разрядных системных сервисов
- •Диспетчеризация 64-разрядных системных сервисов
- •Диспетчеризация системных сервисов режима ядра
- •Прерывания dpc или диспетчеризации
- •Прерывания apc
- •Необработанные исключения
- •Трассировка событий ядра
- •17. Реестр Windows: назначение, организация, ключи, ульи, редактирование, достоинства и недостатки. Реестр
- •Логическая структура реестра
- •Структура реестра
- •Хранение реестра
- •18. Статическое и динамическое связывание, dll-библиотеки — назначение, структура. Статические и динамические библиотеки.
- •Основные этапы компьютерного моделирования
- •Виды алгоритмов
- •Основные этапы полного построения алгоритма.
- •Правильность алгоритма.
- •Реализация алгоритма.
- •Принципы эффективных алгоритмов.
- •Правила оформления текстов программ.
- •Архитектура программного обеспечения в качестве классического жизненного цикла системы — недостатки классического цикла.
- •Основные параметры при разработке архитектуры.
- •Примеры технологии проектирования пс (стратегии проектирования: водопадная, инкрементная, эволюционная, спиральная стратегии)
- •Понятие надежности по
- •Отказы, сбои, восстановление
- •Основные задачи технической диагностики
- •Показатели качества и надежности программных средств (iso 9126:1991)
- •Тестирование корректности определения и использования данных на маршрутах исполнения программы.
- •Основные типы
- •Средства разработки
- •Загрузка/выгрузка
- •Организация и точки входа
- •Диспетчер PnP
- •Структуры драйверов в ос
- •23. Администрирование программного обеспечения пк: принципы, задачи, документирование, регламентные работы — профилактика. Администрирование программного обеспечения пк
- •Принципы
- •Документирование
- •Регламентные работы — профилактика.
- •Средства разработки .Net-приложений
- •Корпоративные .Net-серверы и их краткие характеристики
- •Сервер Application Center
- •Реализация Web-ферм, кластеров
- •Exchange Server и его основные функции
Основные типы
Существуют различные классификации драйверов Windows, порой не совсем соответствующие официальной документации. Каждый автор, вероятно, придерживается своей классификации. Попробуем на их основе представить в общем виде структуру типов драйверов. Согласно MSDN, на базовом уровне драйверы разделяются на два уровня:
драйверы пользовательского уровня — исполняются в пользовательском режиме и предоставляют интерфейс между приложениями и драйверами уровня ядра. К ним относятся драйверы принтеров и драйверы виртуальных устройств;
драйверы уровня ядра — выполняются на уровне ядра, обладают максимальными возможностями в системе. В сущности, они могут делать в системе и с системой практически все. Они могут сделать даже так, что вы не сможете обнаружить их стандартными средствами. Обычно такие драйверы разделяются на подуровни. В основном верхние уровни получают информацию от приложений, обрабатывают ее и передают драйверам нижнего уровня. К этой категории относятся, к примеру, драйверы файловых систем.
С точки зрения документации MSDN драйверы уровня ядра делятся на следующие слои, опишем их на примере драйверов файловых систем.
Драйверы высокого уровня. К ним относятся драйверы файловых систем, которые поддерживают файловые системы, например FAT, NTFS, CDFS. Драйверы высокого уровня всегда зависят от драйверов нижних уровней.
Драйверы промежуточного уровня. К ним относятся драйверы, обеспечивающие поддержку виртуальных дисков и зеркалирования. Драйверы промежуточного уровня зависят от драйверов нижнего уровня. Кроме того, они подразделяются на следующие подклассы:
функциональные драйверы — управляют конкретным типом устройств. Драйверы шин предоставляют устройства функциональным драйверам через диспетчер PnP;
драйверы фильтров дополняют функциональный драйвер. Можно сказать, расширяют его функциональность. Могут находиться как до, так и после своего функционального драйвера, в очереди обработки запроса к этому драйверу. Они могут быть как непосредственно фильтрами данного функционального драйвера, так и фильтрами класса драйверов.
Драйверы нижнего уровня. Контролируют ввод/вывод шины, к которой подключено периферийное устройство. Здесь также существуют разные виды драйверов.
Драйверы шин — управляют логическими или физическими шинами, такими как PCI, USB. Драйверы шин отвечают за распознавание устройств, подключенных напрямую к этим шинам, оповещение диспетчера PnP об этих устройствах и управление параметрами электропитания шины.
Драйверы, не поддерживающие WDM.
Средства разработки
Основным средством разработки является Microsoft Windows DDK, Device Driver Kit, — пакет разработки драйверов, включающий компилятор, редактор связей (линкер), заголовочные файлы, библиотеки, большой набор примеров (часть из которых является драйверами, реально работающими в операционной системе) и, разумеется, документацию. В состав пакета входит также отладчик WinDbg, позволяющий проводить интерактивную отладку драйвера на двухкомпьютерной конфигурации и при наличии файлов отладочных идентификаторов операционной системы WinDbg кроме того, позволяет просматривать файлы дампа (образа) памяти, полученного при фатальных сбоях операционной системы (так называемый crash dump file).
