Ілюстрований самовчитель по svga> додаток б

Розширена пам'ять (Extended Memory)

DOS сама не використовує і не підтримує виконання прикладних завдань в захищеному режимі. Проте завдання може самостійно перевести мікропроцесор в захищений режим, а після виконання, відновити реальний режим перед поверненням в DOS. Однак в такому випадку в ній доведеться виконувати багато специфічних дій, які зазвичай покладаються на операційні системи. Для виконання таких дій призначені розширювачі (DOS extenders), які підключаються до прикладної задачі і створюють на час її виконання обчислювальну середу, необхідну для роботи в захищеному режимі. Найбільш відомими з них є DOS4GW, DOS32A, PMODE / W.

У деяких випадках DOS і службові програми все ж переключаються в захищений режим для використання Extended memory. Тому BIOS виконує найпростішу форму підтримки роботи в захищеному режимі. В даному розділі приведена її коротка характеристика.

Менеджер Extended memory

До складу DOS входить драйвер, що зберігається в файлі himem.sys, його специфікація обов'язково вказується в першому рядку файлу config.sys. Цей драйвер виконує кілька функцій, пов'язаних з доступом до додаткової пам'яті режимі Extended memory.

Одна з них полягає в тестуванні і визначенні обсягу додаткової пам'яті, повідомлення про те, що himem тестує пам'ять, можна побачити в процесі завантаження DOS. Тестування можна заборонити, вказавши в config.sys ключ / testmem: off. Основне призначення himem.sys полягає в завантаженні в додаткову пам'ять резидентної частини DOS.

У додаткову пам'ять можуть завантажуватися і драйвери різного призначення. У autoexec.bat ознакою цього є команда LH, яка передує специфікації файлу драйвера. У config.sys в такому випадку замість команди DEVICE використовується DEVICEHIGH. При першій установці DOS на комп'ютері всі драйвери завантажуються в звичайну пам'ять. Після того як файли autoexec і config остаточно сформовані (завершено конфігурація системи), виконується спеціальна задача memmaker.exe. яка переміщує драйвери в старшу пам'ять, для збільшення вільного простору в звичайній пам'яті.

Драйвер himem.sys тільки завантажує резидентні завдання в старшу пам'ять. Для виконання таких завдань треба або переводити мікропроцесор в захищений режим, або викликати їх так, як ніби вони знаходяться в Expanded memory. При роботі в середовищі DOS використовується другий спосіб.

підтримка BIOS

Після випуску мікропроцесора Intel 286 до складу BIOS була включена група функцій з назвою AT services, доступних через переривання int ish. Дві з них мають відношення до роботи з Extended memory, а ще одна використовується для переходу в захищений режим. Слід зазначити, що спочатку вони створювалися для спеціальних цілей і не розраховані на використання в прикладних задачах. Повний опис всіх функцій групи ish можна знайти в Tech Help або в одному з посібників з BIOS.

Ознакою успішного виконання пересилання є очищений С-розряд при поверненні з BIOS. При виникненні аварійної ситуації BIOS припиняє пересилку, встановлює С-розряд при поверненні в задачу, а в регістрі ah вказує код помилки (1.2, 3).

Приклад Б.9. Структура таблиці GDI.

НАШІ ПРОЕКТИ

Схожі статті