Українські рефератиучбові матеріали на українській мові

RefBaza.com.ua пропонує студентам та абітурієнтам найбільшу базу з рефератів! Також ви можете ділитися своїми рефератами для поповнення бази.

Драйвер жорсткого диска

Реферат: Драйвер жорсткого диска

Зміст

 

#Cтр.

Технічне завдання

1

Зміст

2

Запровадження

3

Більшість

 

Структура загружаемого драйвера

3

Зв'язок драйвера з операційній системою

6

Инициализация драйвера

8

   

Разметка диска

9

Контроллер жорстких дисків для АТ-подобных ПЕОМ

11

Опис портів вводу-виводу

11

Система команд

12

Одержання блоку параметрів BIOS

13

   

Підключення драйвера

15

   

Укладання

16

Список літератури

17

Додатка

 

Листинг програми

18

Запровадження

Фирмы-разработчики апаратного забезпечення постійно вдосконалюють зовнішні пристрої і інші вузли самого персонального комп'ютера. Постійно з'являються нова периферійна апаратура й побудувати нові модифікації вже існуючих пристроїв. Старі устрою наділяються новими можливостями, нові роблять таке, що раніше годі було й мріяти.

Інтуїтивно ясно, що має існувати якась програмна прошарок між апаратним і програмним забезпеченням, виконує "согласующие" і "унифицирующие" дії. Цей прошарок працює прямо пов'язана з апаратурою, а прикладне (та й системне) програмне забезпечення має тільки з цим интерфейсной прошарком.

Операційна система MS-DOS, працююча за комп'ютерами фірми IBM чи сумісних із нею, теж використовує механізм драйверів.

Проте драйвери MS-DOS який завжди звертаються безпосередньо до апаратурі. Зазвичай вони викликають функції BIOS, вже BIOS виконує всі дії по вводу/выводу. Звісно, BIOS містить програми обслуговування лише стандартних пристроїв ввода/вывода, нестандартні устрою обслуговуються драйверами безпосередньо.

Використання BIOS як додаткового інтерфейсу між драйверами стандартних пристроїв і апаратурою різко підвищує "живучість" MS-DOS в цілком сумісних з IBM персональні комп'ютери. І ця справді так - найпоширеніша нині операційна система MS-DOS версії 3.30 дбає про всіх комп'ютерах, хоч якийсь сумісних з IBM PC.

Це можна тому, що вітчизняні виробники сумісних комп'ютерів враховують програми BIOS все апаратні особливості, і DOS "вбачає" відмінностей. А прикладна програма - тим паче.

Чому ж це спосіб немає в операційні системи UNIX чи OS/2? Річ у тім, на жаль, програми BIOS є реентерабельными. Не має значення для однозадачной MS-DOS, а мультизадачные операційні системи змушені самі організовувати обслуговування апаратури реентерабельным способом. (Є ще проблеми поділу ресурсів між паралельно выполняющимися процесами, теж хто не наважується у межах BIOS).

Отже, незалежність апаратного та програмного забезпечення у DOS забезпечується, з одного боку, BIOS для стандартних пристроїв, з іншого боку - драйверами.

Користувачі можуть легко доповнювати операційну систему своїми драйверами, укладеними для нестандартних пристроїв. Можлива заміна стандартних драйверів, заміна розширення функцій BIOS.

Структура загружаемого драйвера

Інколи мені кажуть, що драйвери - це різновид COM-программ, але ці негаразд. Швидше спосіб отримання завантажувального модуля драйвера нагадує спосіб отримання програми в форматі COM. Є ще одне подібність драйверів і програм, у форматі COM (яке саме і виникає через однакового способу їх отримання) - завантажувальні модулі цих програм є точним відображенням вихідного тексту мовою ассемблера не додаючи будь-яких управляючих блоків на початок файла, як програми формату EXE

Але, виявляється, управляючий блок від початку модуля драйвера є. Це правда званий заголовок драйвера. Тільки на відміну від програм формату EXE, цей заголовок створюється не редактором зв'язку, а самим програмістом і бути поміщений у саме початок вихідного тексту программы-драйвера.

При завантаженні драйвера на згадку про заголовок драйвера теж міститься у оперативну пам'ять, у ньому операційна система виробляє певні зміни, ми ще говоритимемо.

Отже, можна говорити про схожості драйвера з тими програмами в форматі EXE, позаяк у початку завантажувального модуля драйвера є управляючий блок. Лише цей управляючий блок на відміну заголовка EXE-файла є приналежністю самої програми розвитку й завантажується із нею на згадку про. Заголовок EXE-программы використовується за мінімального завантаження EXE-программы, тільки після завантаження операційна система прибирає його з пам'яті.

Марно намагатися запускати драйвер як програму форматі COM, оскільки управління передають до області пам'яті, що містить заголовок драйвера, в якому було немає правильних машинних команд. Тому зазвичай файли драйверів мають розширення імені, які від COM чи EXE. Найчастіше використовуються розширення SYS, DRV, іноді BIN. Насправді розширення імені можна ставити будь-яке, бо за описі драйвера в файлі CONFIG.SYS вказується його повне ім'я.

Для драйвера будь-коли створюється префікс програмного сегмента PSP. На початку вихідного тексту программы-драйвера не ставиться директива ORG 100H, як це робиться для COM-программы, бо треба резервувати місце для PSP.

Що ж являє з себе завантажувальний модуль драйвера?

Як було зазначено, на початку модуля перебуває заголовок драйвера. Ми вже трохи наголошували на ньому в описах векторної таблиці зв'язку ОС. Наведемо формат заголовка:

(0) 4

next

покажчик на заголовок наступного драйвера. Якщо усунення адреси наступного драйвера одно FFFF, це останній драйвер в ланцюжку

(+4) 2

attrib

атрибути драйвера

(+6) 2

strateg

усунення програми стратегії драйвера

(+8) 2

interrupt

усунення програми обробки переривання для драйвера

(+10) 8

dev_name

ім'я устрою для символьних пристроїв, чи кількість обслуговуваних пристроїв для блокових пристроїв.

Як було зазначено, все драйвери пов'язані в ланцюжок. Найперший драйвер перебуває відразу за векторної таблицею зв'язку. Поле next заголовка драйвера свідчить про наступний драйвер (з його заголовок). Це полі має формат DWORD-указателя і складається з компоненти адреси сегмента і усунення. Ознакою те, що даний драйвер останній ланцюжку, служить значення 0FFFFh в компоненті усунення поля next.


Схожі реферати

Статистика

[1] 2 3 4 5 6 7 8