Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

Разработка драйвера виртуального жесткого диска

Тип: курсовая работа
Категория: Информатика
Скачать
Купить
Факультет: Информатика и системы управленияКафедра: Программное обеспечение ЭВМ и информационные технологииКурсовая работана тему: Разработка драйвера виртуального жесткого дискаСОДЕРЖАНИЕСОДЕРЖАНИЕ1ВВЕДЕНИЕ21. АНАЛИТИЧЕСКИЙ РАЗДЕЛ41.1 Постановка задачи41.2 Архитектура Windows 200041.3 Многослойная архитектура драйверов51.4 Архитектура драйверов устройств хранения81.5 Выбор файловой системы92. КОНСТРУКТОРСКИЙ РАЗДЕЛ112.1 Структура классового драйвера112.2 Организация внутреннего хранения данных диска122.3 Доступ к передаваемым данным132.4 Обработка запросов Plug and Play142.5 Обработка расширенных запросов152.7 Расчет геометрии диска162.6 Структура драйвера173. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ183.1 Выбор и обоснование языка и среды программирования183.2 Структуры данных классового драйвера183.3 Блокировка выгрузки устройства193.4 Процедуры драйвера виртуального диска193.4.1 Инициализация драйвера193.4.2Обработка запросов записи/чтения223.4.3 Обработка расширенных запросов243.4.4 Обработка запросов Plug and Play263.4.5 Выгрузка драйвера283.5 Программа настройки параметров виртуального диска293.6 Установка драйвера294. ЭКСПЕРИМЕНТАЛЬНО-ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ314.1 Описание экспериментов314.2 Результаты экспериментов31ЗАКЛЮЧЕНИЕ32СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ33ВВЕДЕНИЕВ настоящее время все усложняются программные продукты и комплексы, что приводит к росту объема обрабатываемых данных, усложнению структуры их представления и хранения на компьютере. Все это приводит к повышению требований к скорости чтения и записи данных из файлов а также уменьшению времени доступа к каждому файлу в отдельности.Самым распространенным устройством для хранения данных в настоящее время является жесткий диск, который умеет хранить большие объемы данных. Время доступа к произвольному месту на диске зависит от скорости перемещения считывающей головки. Но быстродействие механики диска имеет предел, и время ответа для жесткого диска на несколько порядков выше, чем для оперативной памяти. Поэтому производительность при множественных операциях чтения и записи к различным данным катастрофически падает.Для решения данной проблемы существуют следующие средства повышения производительности. Все записываемые и считываемые данные не сразу пишутся на диск, а сохраняются в определенной области оперативной памяти - кэше. Но размер кэша не большой и в нем сохраняются только несколько или самых последних операций чтения записи или самых частых, в зависимости от стратегии кэширования.Однако буферизация только на основе оперативной памяти в подсистеме ввода-вывода оказывается недостаточной — разница между скоростью обмена с оперативной памятью, куда процессы помещают данные для обработки, и скоростью работы внешнего устройства часто становится слишком значительной, чтобы в качестве временного буфера можно было бы использовать оперативную память — ее объема может просто не хватить. Для таких случаев необходимо предусмотреть особые меры, и часто в качестве буфера используется дисковый файл, называемый также спул-файлом (от spool — шпулька, тоже буфер, только для ниток). Типичный пример применения спулинга дает организация вывода данных на принтер. Для печатаемых документов объем в несколько десятков мегабайт — не редкость, поэтому для их временного хранения (а печать каждого документа занимает от нескольких минут до десятков минут) объема оперативной памяти явно недостаточно.Другой подход для хранения данных в памяти – создание Ram дисков. В систему добавляется виртуальный диск, а образ диска расположен в оперативной памяти. Такой подход позволяет повысить быстродействие, когда приложение использует обращения случайного чтения, случайной записи. Так например, значительную часть всех обращений к данным в современных СУБД составляют случайные запросы на чтение данных. Другое преимущество виртуальных дисков – их можно использовать для бездисковых рабочих станций для промежуточных файлов.1. АНАЛИТИЧЕСКИЙ РАЗДЕЛ1.1 Постановка задачиК разрабатываемому драйверу виртуального диска предъявляются следующие требования:
  • Разрабатываемый драйвер должен добавлять в операционную систему новый виртуальный диск
  • Для увеличения скорости передачи, драйвер должен работать в блочном режиме передачи данных
  • Драйвер должен быть конфигурируемым, для драйвера можно задать
  • Другие файлы:

    Драйвер виртуального диска
    В листинге 1 представлен диалог с системой при создании драйвера "DRIVER". Этот файл ассемблируется и линкуется как обычная программа, после чего прео...

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

    Разработка драйвера, распознающего USB-устройство как виртуальный COM-порт в системе Windows NT
    Архитектура ввода/вывода Windows NT. Внутренняя организация шины USB. Сущностная характеристика драйверной модели WDM. Точки входа разрабатываемого др...

    Системное программирование на Ассемблере для IBM-совместимых персональных компьютеров
    Пособие предназначено для программистов, знакомых с ассемблером, желающих углубить свои знания операционной системы MS-DOS. Приведены программы: опред...

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