ГЛАВА 8
Поддержка Отображаемой Памяти
8.1 Введение
8.2 Конфигурирование Окружения EMM
8.2.1 Страницы EMM по Умолчанию
8.2.2 Настройка Карты Страниц EMM
8.2.2.1 Включение и Исключение Областей из EMM
8.3 Другие Возможности EMM
8.3.1 Увеличение Обычной Памяти
8.3.2 Автоматическое Определение Страниц
8.4 EMM-Отладка
189
8.1 Введение
У Soft-ICE есть менеджер отображаемой памяти, встроенный в его ядро. Менеджер
отображаемой памяти Soft-ICE поддерживает спецификацию Lotus-Intel-Microsoft
4.0. Эта возможность Soft-ICE полезна, если вы используете программы,
поддерживающие спецификацию EMM или если вы должны нарастить вашу
обычную память, чтобы расширить системную память до 640КБ или больше.
Другие контролирующие программы 386, обеспечивающие возможности EMM (типа QEMM
или 386-to-the-MAX) не будут работать с Soft-ICE. Если вы используете эти
программы для возможностей EMM или наращивания, вы можете использовать вместо
них EMM-менеджер Soft-ICE.
Активизация возможностей EMM в Soft-ICE включает следующие шаги:
1. Конфигурирование окружения отображаемой памяти
утилитой EMMSETUP.EXE. Эта утилита
изменяет S-ICE.EXE с учетом желаемой карты
EMM-страниц.
2. Добавление переключателя /EMM в вашу строку S-ICE.EXE в
CONFIG.SYS. Это резервирует часть
расширенной памяти для отображаемой памяти.
Вот пример строки в CONFIG.SYS, резервирующей
память для EMM:
DEVICE = S-ICE.EXE /EMM 2048
Будет зарезервировано 2 мегабайта расширенной памяти на
использование для EMM. См. часть 6.3 (Загрузка Soft-ICE
как Загружаемого Драйвера Устройства) для деталей
установки Soft-ICE в CONFIG.SYS.
3. Перезагрузите вашу систему.
190
8.2 Конфигурирование Окружения EMM
Перед установкой S-ICE.EXE с переключателем /EMM в файл CONFIG.SYS, вам может
быть придется запустить EMMSETUP.EXE чтобы сконфигурировать окружение EMM 4.0.
Этот процесс конфигурации позволит вам указать, какие участки памяти вы
хотели бы сделать доступными как страницы EMM 4.0. Запуск EMMSETUP.EXE сильно
рекомендуется, если вы используете программы, требующие все преимущества
спецификации EMM 4.0.
8.2.1 Страницы EMM по умолчанию
По умолчанию, S-ICE.EXE с переключателем /EMM - сконфигурирован предоставить
страницы EMM 4.0 в следующих областях:
* Нижние 640КБ (кроме 1-х 64КБ)
* 64КБ, начинающиеся с D000H
Вы можете захотеть реконфигурировать EMM по следующим причинам:
* У вас может быть устройство типа сети, использующее
область памяти с D000H.
* Вы можете захотеть заполнить большее количество "дыр" выше 640КБ
страницами EMM. Это увеличит производительность и
применимость программ типа Microsoft Windows. Чтобы
получить максимальную производительность от Microsoft
Windows, вы должны заполнить все доступные страницы
отображаемой памятью.
8.2.2 Настройка Карты Страниц EMM
Для конфигурирования карты EMM вы должны использовать утилиту EMMSETUP.EXE.
EMMSETUP.EXE позволяет изменять карту страниц, а затем модифицирует S-ICE.EXE
с учетом изменений.
191
EMMSETUP работает наиболее эффективно при автоматической настройке карты EMM.
EMMSETUP, при работе с видеокартами и ПЗУ, попробует заполнить отображаемыми
страницами столько адресного пространства, сколько возможно. Если результат
недостаточно хорош или не по вашему вкусу, вы можете его изменить. Изменение
может быть необходимо, если у вас есть сеть, специальный видеоадаптер или
адаптер операций с отображаемой памятью.
Для конфигурирования карты EMM введите:
EMMSETUP
EMMSETUP показывает матрицу страниц памяти по 16КБ, доступных в нижней
области в 1 мегабайт. Матрица разделена на 16 колонок, представляющих каждая
64КБ (от 0 до 10000H). 4 строки представляют четыре страницы по 16КБ
в каждой 64-килобайтовой области.
Каждая ячейка матрицы может содержать E, X, R или V. Ячейки, содержащие
E, доступны как страницы EMM; блоки, содержащие X - нет. Ячейки,
содержащие R - области памяти, которые были идентифицированы EMMSETUP
как области ПЗУ. Вы, при необходимости, можете изменить эти области на E, но
это допустимо, только если к ПЗУ нет обращений. Ячейки, содержащие
V идентифицированы как видеопамять. Мы сделали наихудшее предположение о
видеопамяти. Ваша конкретная видеокарта может не использовать столько, сколько
мы "предположили". При необходимости вы можете изменить блоки памяти, которые
содержат ненужные V.
Если вы удовлетворены предположениями EMMSETUP'а, нажмите клавишу F10 и
S-ICE.EXE будет изменен с этими параметрами. Чтобы сделанные в S-ICE.EXE
изменения вступили в силу, вы должны перезагрузиться. Если вы хотите изменить
предположения EMMSETUP'а, сделайте это в то же самое время.
192
8.2.2.1 Включение и Исключение Областей из EMM
Чтобы включить область в память EMM 4.0 просто поместите курсор на
желаемую ячейку, затем введите E. Наоборот, чтобы исключить область из памяти
EMM 4.0, поместите курсор на ячейку и введите X. Когда вы будете удовлетворены
вашими изменениями, нажмите F10 для выхода из программы. Все изменения
автоматически сохраняются в файле S-ICE.EXE. Если вы хотите выйти без
изменения S-ICE.EXE, нажмите ESC. Чтобы сделанные в S-ICE.EXE
изменения вступили в силу, вы должны перезагрузиться.
Включая верхние блоки памяти, имейте в виду следующее:
* CGA занимает от B800H до C000H.
* MDA занимает от B000H до B100H.
* Большинство карт Hercules занимает от B000 до C000H.
* EGA занимает от A000H до C000H и от
C000H до C400H.
* VGA (на материнской плате) занимает от A000H до
C000H.
* VGA (съемная карта) занимает от A000H до
C000H и от C000H до C800H.
* Системное ПЗУ PS/2 занимает от E000H до
10000H.
* ПЗУ PS/2 ESDI занимает от CC00H до D000H
* Большинство AT-совместимых ПЗУ занимают от F000H до
10000H.
* Compaq-системы, системы с системными платами Micronix
и большинство систем с платами Chips and Technologies
перемещают ПЗУ EGA/VGA в E000H
Однако они все равно так же занимают и область
C000H.
* Сети Token Ring обычно занимают от CC00H
до E000H.
* Многие сети занимают области памяти в
области D000H.
Вышеупомянутые руководящие принципы - для "фирменных" устройств. Многие
исполнения от различных продавцов компьютеров и
193
продавцов карт адаптеров будут варьировать.
8.3 Другие Возможности EMM
У S-ICE.EXE с переключателем /EMM есть две возможности, которые автоматически
активизируются в зависимости от конфигурации вашей системы. Эти возможности -
наращивание и перемещение страниц.
8.3.1 Увеличение Обычной Памяти
Память системы будет автоматически наращена до первой неотображаемой
страницы. Это означает, что начинается поиск цепочки 'E' с ячейки
1000 и продолжается, пока не будет найден первый несмежный 'E'. Если цепочка
смежных 'E' выйдет за границы основной памяти вашей системы, память
будет наращена до первого R, V или X, который будет найден.
Выгода наращивания - в том, что вы можете увеличивать объем используемой
памяти системы до большего, чем 640КБ. Наращенная память доступна из DOS. Если
вам не нужна наращенная память, используйте EMMSETUP, чтобы сделать страницу
неотображаемой (X) в точке, где вы хотите, чтобы память системы заканчивалась.
Заметьте:
Монохромные системы (MDA) можно наращивать вплоть до B000H, чтобы добавить
дополнительные 64КБ к обычной памяти. CGA-системы могут быть наращены вплоть
до B800, добавляя дополнительные 96КБ к обычной памяти. EGA и VGA-системы
могут быть наращены, только если не будут запускаться графические программы.
Вы можете наращивать EGA или VGA-системы вплоть до B800:0, если не будут
запускаться никакие графические программы.
Предупреждение:
Если память - наращена, НЕ ВЫГРУЖАЙТЕ Soft-ICE. Это вызовет
разрушение системы.
194
8.3.2 Автоматическое Определение Страниц
Большинство знакомых с EMM программ требуют 64КБ-страницу, не используемую
как нормальная память DOS. Она обычно расположена выше области видео-
устройства. Однако в некоторых системах нет непрерывной области в 64K для
размещения страницы. В этих случаях S-ICE.EXE "крадет" 4 верхние отображаемые
страницы нижней памяти. Как результат - нижняя память DOS урезается на 64КБ.
8.4 EMM-Отладка
Точка останова на диапазон или память, находящаяся в отображаемой области EMM
будет оставаться по этому адресу, неважно какая страница EMM отображается.
При отладке EMM-программы также может быть очень полезна команда EMMMAP.
См. часть 5.6 для большей информации.
Для просмотра или изменения любой зарезервированной страницы EMM
могут использоваться команды D, E, S, F и C. Страница не обязательно в этот
момент должна отображаться. Синтаксис этих команд подобен командам,
используемым для не-EMM страниц, кроме следующего:
* В командах D, E, S и F адресная
часть команды должна быть указана
следующим образом:
Hуказатель# Pстраница# смещение
где указатель - число, определяющее, какой указатель
EMM использовать, страница - число, определяющее, какую
страницу EMM использовать, и смещение - число от 0
до 4000H, определяющее смещение от начала
страницы.
195
Пример:
DB H1 P3 0
Эта команда выведет дамп байтов со страницы 3
указателя 1, начиная со смещения 0.
* Команда C должна быть указана следующим
образом:
C Hуказатель# Pстраница# смещение1 Lдлина смещение2
где указатель и страница - то же самое, что и выше.
смещение1 - число от 0 до 4000H, определяющее
смещение от начала страницы, где расположен
первый блок данных для сравнения. смещение2 -
число от 0 до 4000H, определяющее смещение
от начала страницы, где расположен второй
блок данных для сравнения.
Пример:
C H2 P4 00 L10 1000
Эта команда будет сравнивать первые 10 байтов памяти,
расположенных по смещению 0 на странице 4 указателя 2
с первыми 10 байтами памяти, расположенными по смещению
1000 на странице 4 указателя 2.
Заметьте:
Последующие использования команд D, E, S, F и C будут продолжать использовать
последние введенные указатель и страницу. Чтобы вернуться к обычной памяти,
используйте одну из вышеупомянутых команд с сегментом, указанным в области
адреса, например:
D 0:0
196
~~\ Перевел Сергей Середа, 1998, Кишинев 24-71-96, /~~
~~\ e-mail: serge_sereda@hotmail.com /~~
[ ВЕРНУТЬСЯ К ОГЛАВЛЕНИЮ ]
|