Факультет «Информатика и системы управления»

Кафедра «Программное обеспечение ЭВМ и информационные технологии»

Курсовой проект

по системному программированию

Расчётно-пояснительная записка

Тема:

«Протоколирование обмена информацией между компьютером и внешним запоминающим USB‑устройством»



Оглавление

Введение. 3

1. Аналитический раздел. 4

1.1 Постановка задачи. 4

1.2 Архитектура Windows NT 5. 4

1.3 Шина USB.. 7

1.3.1 Внутренняя организация шины USB.. 8

1.4 Драйверная модель WDM.. 16

1.4.1 Драйверные слои. 17

1.4.2 Точки входа WDM-драйвера. 19

1.5 Пакет запроса ввода / вывода (IRP) 20

1.6 Уровни запроса прерываний. 24

1.7 Уведомление о завершении запроса нижестоящим драйвером. 25

1.8 Работа с файлами в режиме ядра. 26

1.9 Работа с реестром в режиме ядра. 29

1.10 MDL‑списки. 31

2. Конструкторский раздел. 32

2.1 Точки входа разрабатываемого драйвера. 32

2.1.1 Функция DriverEntry. 32

2.1.2 Функция AddDevice. 32

2.1.3 Функция DriverUnload. 33

2.1.4 Функция DispatchRoutine. 33

2.1.5 Функция DispatchInternalDeviceControl 33

2.2 Размещение кода драйвера в памяти. 35

2.3 Установка драйвера в системе. 35

3. Технологический раздел. 38

3.1 Выбор языка и средств программирования. 38

3.1.1 Драйвер-фильтр. 38

3.1.2 Управляющее приложение. 39

3.2 Структуры данных драйвера-фильтра. 39

3.2 Интерфейс управляющего приложения. 41

3.3 Тестирование драйвера-фильтра. 42

Заключение. 44

Список литературы и интернет-ресурсов. 45


Введение

При решении широкого круга задач возникает необходимость в получении информации о функционировании какого-либо внешнего устройства компьютера. К категории этих задач можно отнести разработку систем информационной безопасности, что очень актуально в современном мире, где информация является одним из важнейших ресурсов.

Одним из компонентов системы информационной безопасности может быть модуль, выполняющий протоколирование обмена информацией между компьютером и некоторым внешним запоминающим устройством, например USB‑накопителем.


1. Аналитический раздел

 

1.1 Постановка задачи

В соответствии с заданием на курсовую работу необходимо разработать программный комплекс, обеспечивающий слежение за обменом информацией между компьютером и внешним запоминающим USB‑устройством.

Перечислим требования, предъявляемые к программному комплексу:

·     Разрабатываемый комплекс должен отслеживать запросы на чтение и запись, приходящие к устройству;

·     От программы не требуется определять, к каким файлам производилось обращение, а лишь то, какие данные считывались и записывались;

·     Сохраняемая информация должна обладать структурированностью, таким образом, что при анализе лог-файла можно было определить, передавалась или принималась информация и в каком количестве;

·     Программный комплекс не должен приводить к сбоям в работе операционной системы;

·     Программа установки должна корректно обрабатывать попытку установки на одно устройство в двух экземплярах.

 

1.2 Архитектура Windows NT 5

Архитектура Windows NT 5 соответствует классическим представлениям о проектировании операционных систем. Наиболее распространены реализации данной ОС для платформы Intel x86 в одно- или многопроцессорных конфигурациях, однако существуют также версии для DEC Alpha и MIPS. Данная операционная система использует защищённый режим центрального процессора, реализует механизмы виртуальной памяти и многозадачности.

Исполняемый код в Windows NT 5 имеет два уровня привилегий: код пользовательского режима и код режима ядра. Уровень привилегий накладывает определённые ограничения: в пользовательском режиме не могут выполняться привилегированные инструкции процессора, не разрешено обращение к защищённым страницам памяти. Эти ограничения накладываются для обеспечения безопасности работы системы. Пользовательское приложение не должно иметь возможность в результате ошибки или преднамеренно вносить изменения в критические таблицы операционной системы или в память других приложений. В частности, такие ограничения запрещают пользовательскому приложению напрямую управлять внешними устройствами, потому что каждое из них является разделяемым ресурсом.

В Windows NT 5 обеспечение обмена данными и управление доступом к внешнему устройству как к разделяемому ресурсу возлагается на его драйвер. Ввод и вывод в драйверах осуществляется посредством IRP‑пакетов (Input/Output Request Packet). Запросы на ввод / вывод, посылаемые приложениями или другими драйверами, обрабатываются драйвером, после чего запрашивающей программе в том же пакете посылается статус завершения операции. Подробнее о пакетах ввода / вывода будет сказано далее, общий же принцип взаимодействия проиллюстрирован на Рис. 1.2.1.


Рис. 1.2.1 Архитектура ввода / вывода Windows NT 5

Применительно к поставленной задаче, из вышеизложенного следует, что полное протоколирования обмена данными с внешним устройством может быть осуществлено только на уровне драйвера.

Управление внешним устройством в общем случае сводится к заполнению его регистров необходимыми данными. Монопольный доступ драйвера к этим регистрам гарантируется операционной системой. Очевидно, что при данных обстоятельствах требуется, чтобы драйвер устройства выполнялся в режиме ядра.

Обобщённая классификация драйверов Windows NT 5 может быть представлена следующим образом:

·     Драйверы режима ядра:

o  Унаследованные драйверы;

o  Драйверы файловой системы;

o  Видеодрайверы;

o  Драйверы PnP (Plug And Play):

§  Драйверы WDM.

·     Драйверы пользовательского режима.



Информация о работе «Протоколирование обмена информацией между компьютером и внешним запоминающим USB-устройством»
Раздел: Информатика, программирование
Количество знаков с пробелами: 58963
Количество таблиц: 10
Количество изображений: 6

Похожие работы

Скачать
79890
1
0

... системы и их особенностями в целом, мы разобрались, теперь самое время приступить к более детальному, конкретному рассмотрению многообразия ОС, которое обычно начинается с рассмотрения краткой истории появления и развития. Операционная система Unix Считается, что в появлении Юникса в частности виновата... компьютерная игра. Дело в том, что Кен Томпсон непонятно чего ради создал игрушку «Space ...

0 комментариев


Наверх