НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ «ХПІ»
Лабораторна робота №8
з курсу “Системне програмне забезпечення”
на тему: “Драйвера DOS “.
Виконав:
студент групи АП-30б
Попов О.С.
Перевірив:
Межерицький С. Г.
Тема: “Драйвера DOS.”
Мета: Подивитися список драйверiв, які в даний час знаходяться на даній ЕОМ.
Постановка задачі: Визначити драйвери, резидентнi в пам'ятi комп'ютера на даному робочому мiстi.
Змінні глобальні для всієї програми :
xk, yk - координати курсору;
cc – змiнна для зберігання коду натиснутої клавiшi;
bm [rx][ry][2] - буфер для запам'ятовування областi екрану.
В програмi описана наступна структура заголовку драйвера :
struct Dr_head {
struct dr_head *next; /* адресса наступного/
word attr; /* атрибут/
word strat_off, intr_off; /* змiщення секцiй/
char name[8]; /* iм'я/
};
Основна функція main ( ) продивляється список драйверів i виводить на екран iнформацiю про них за допомогою допоміжних функцiй.
Функцiя clrbuf(void) читає символи з буферу клавiатури, доки вiн не спорожнiй .
Функцiя Memw(x,y,xr,yr) використовуїться для звернення до вiдеопам'ятi функцiй Getsym,Getatr. x,y - координати лівого верхнього куту прямокутноЇ областi екрану. xr,yr - розмiри областi по горизонталi i вертикалi вiдповiдно.
Функція Rmmw (x,y,xr,yr) використовується для звернення до вiдеопам'ятi функцiй Putsym, Putatr. x,y - координати лiвого верхнього куту прямокутної областi екрану. xr, yr - розмiри областi по горизонталi i вертикалi вiдповiдно.
Функцiя Clrw(x1,y1,x2,y2,s,a) - використовується для звернення до відеопам'ятi функцiй Putsym,Putatr. x1, y1, x2, y2 - координати прямокутної областi. s,a - символ i атрибут вiдповiдно для заповнення областi екрану.
Функцiя Fldrv (void) розглядає побiтно байт атрибуту драйверу i може видавати iнформацiю у вiдповiдностi з значенням атрибуту. Слово атрибутiв драйвера в старшiм розрядi мiстить признак символьного(1) чи блокового (0) влаштування. Інтерпрітацiя iнших розрядiв слова атрибутiв iстотно рiзна для символьних i блочних приладiв. Для символьних приладiв слово атрибутiв маї формат :
1 e b 0 p 0 0 0 0 l 0 0 c n o i,
а для блокових приладiв :
0 e m 0 p 0 0 0 0 l 0 0 0 0 s 0,
де: i - драйвер консолi запровадження;
o - драйвер консолi висновку;
n - драйвер нульового ( пустого ) влаштування;
c - драйвер годин;
l - драйвер пiдтримки функцiй, впроваджених в DOS 3.2;
p - драйвер виконує операцiї Open /close;
b - драйвер неibm - овського блокового влаштування;
e - драйвер пiдтримки функцiї Ioctl;
s - драйвер пiдтримки 32-бiтну адресації сектору;
m - драйвер визначає тип диску перевiркою 1-го байта Fat.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.