Розширена пам’ять. Особливості допуску драйвера himem.sys

Страницы работы

Содержание работы

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ «ХПІ»

Кафедра “Обчислювальна техніка та програмування”

Лабораторна робота №6

з курсу “Системне програмне забезпечення”

 на тему: “Розширена пам’ять “.

Виконав:             

                                 студент  групи АП-30б   

                                                 Попов О.С.

Перевірив:

              Межерицький С. Г.

Харків 2002

Тема: “Розширена память”.

Мета:Освоїти можливості, надані драйвером himem.sys програмі користувача, що  задіє  розширену пам'ять.

Постановка задачі:  На прикладі тестового варіанта програми освоїти  особливості допуску драйвера himem.sys і використання  деяких можливостей, наданих цим драйвером при роботі з розширеною пам'яттю.

Структура програми:

begin_pr

. . . . . . . . . . . . . . . . . . . . . . .    

call    far ptr begin_pr

     mov     ah,09h

     lea     dx,lf_cr

     int     21h

. . . . . . . . . . . . . . . . . . . . . . . . .

текст  програми, який потрібно було змінити для вірної роботи пррограми

Константи:

     not_drv      db            ' Драйвер  himem.sys не инсталлирован',10,13,'$'

     not_hma    db             ' Нет области  hma',10,13,'$'

     error          db 10,13, '         Ошибка','$'

     open_a20   db            ' a20 открыта',10,13,'$'

     close_a20   db 10,13, ' a20 закрыта',10,13,'$'

Опис алгоритму програми:

 У тестовому варіанті програми  задіється  область hma розширеної пам'яті. Спочатку з основної пам'яті сюди  копіюється процедура begin_pr. Потім з області  hma  процедура  копіюється знову в основну пам'ять. Але остання копія в основній  пам'яті розміщається в іншім місці ніж перша. Процедурі тричі передається керування, причому по трьох різних  початкових  адресах її розміщення.

 У процесі виконання тестової  програми  установлюється факт наявності інстальованого  драйвера  himem.sys,  і визначається адреса точки входу в його функції.  При  виконанні функцій драйвера здійснюється перевірка правильності  їхнього  виконання. Після цього перевіряємо стан лінії а20 і в кінці реалізуємо повернення в систему.

Результати програми:

Програма, написана на мові С++ для перевірки наявності додаткової пам’яті EMS.

Структура програми:

int ems_inst(void) – перевіряє, чи проінстальована відображаєма Expanded пам’ять;

int ems_ver(void) – визначає її версію;

int ems_pages(void) – визначає кількість логічних сторінок;

char far *frame_adr(void) – визначає адресу фрейма фізичних сторінок;

Опис алгоритму програми:

  Ця програма визначає наявність додаткової пам'яті на будьякій ЕОМ, якщо вона проінстальована, то ми визначаємо її версію, кількість логічних сторінок, адресу фрейма фізичних сторінок та виводимо всю цю інформацію на екран.

Результати програми:

В системе установлена отображаемая (Expanded) память

Версия EMS: 4.0

Общий объем EMS-памяти: 0 K

Общее кол-во логических страниц: 0

Адрес фрейма физических страниц: FFFF:FFFF

Програма, написана на мові С++ для перевірки наявності розширеної пам’яті XMS.

Структура програми:

int xms_inst(void) - перевіряє, чи проінстальована розширена Expanded пам’ять;

long xms_ver(void) - визначає її версію;

int a20_sost(void) -  перевіряє стан лінію а20;

int a20_enable(void) – а20 відкрита;

int a20_disable(void) – а20 закрита;

int rec_hma(unsigned rec_size) – виявлена чи ні пам’ять HMA;

Опис алгоритму програми:

  Ця програма визначає наявність розширенної пам'яті на будьякій ЕОМ, якщо вона проінстальована, то ми визначаємо її версію, наявність чи відсутність пам’яті HMA й перевіряємо стан лінії а20, якщо вона заблокована, то виконується спроба разблокування. Всю цю інформацію виводимо на екран

Результати програми:

В системе установлена расширенная (Extended) память

Версия XMS: 3.95

VISOV STANDARTNIY

*****

VISOV IS XMS

*****

Висновок: Я освоїв можливості, надані драйвером himem.sys програмі користувача, що  задіє  розширену пам'ять. Були написані свої програми по визначенню додаткової та розширенної пам’яті й отримані потрібні нам дані після виконання програм.  За допомогою цих програм можливо перевіряти будьякі ЕОМ на наявність чи відсутність EMS та XMS пам’яті.

Похожие материалы

Информация о работе