Распознать наличие аппаратной верхней памяти можно двумя способами:
1) узнав общий размер оперативной памяти, из сообщений при ее тестировании во время загрузки DOS и сравнив с количеством, указанным в документации на ПК (аппартная верхняя память имеется, если протестированной памяти на 384 Кбайт меньше чем указано в документации);
2) выдав команду MEM и проанализировав поле Total в строке Reserved отчета о статусе памяти (аппаратная верхняя память имеется, если в этом поле указано значение 384 К).
Первый способ основан на том, что BIOS не тестирует память, логически размещенную в UMA. Аналогичным первому способу можно считать сравнение сведений о размере расширенной памяти, отображаемых командой MEM, с общим ее количеством по документации.
ПК с процессорами 80386 и выше иногда способны аппаратно менять базовый адрес фрагмента расширенной памяти размером 384 Кбайт (только такого, но не меньшего размера). Тогда можно получить как аппаратную, так и программную верхнюю память. Верным признаком такой способности является поддержка теневой памяти (копии BIOS в оперативной памяти). Смена базового адреса обычно и происходит при изменении статуса поддержки теневой памяти, осуществляемом в среде встроенной в BIOS утилиты Setup. Правда, есть BIOS, которые, отключая теневую память, не перемещают высвободившиеся 384 Кбайт в ХМА, — это поле памяти оказывается неиспользуемым.
В дальнейшем речь пойдет только о программной верхней памяти.
Верхняя память выделяется блоками. Блок не может быть больше региона, в котором он формируется. В любом регионе может быть создано несколько блоков.
При использовании верхней памяти важно понимать, что драйверы и резидентные программы, загружаемые в нее, не обязаны использовать какие-либо специальные приемы для этого. Функция загрузки всецело ложится на «плечи» DOS, и она ее с честью реализует.
Обобщенные структуры памяти ПК
Различные классы ПК имеют неодинаковые структуры памяти, что определяется размером адресного пространства различных микропроцессоров, а также их возможностями по переадресации ячеек памяти.
В соответствии с этим. можно выделить три структуры памяти компьютеров:
1) структура памяти ПК класса XT (рис. 3);
2) структура памяти ПК класса AT (рис.4);
3) структура памяти ПК на базе микропроцессора 80386, 80486 или Pentium (рис.5).
2. Использование средств управления памятью
Теперь мы знаем, какие типы памяти могут быть в IBM-совместимых ПК, и какие структуры памяти могут быть организованы на них при работе в среде DOS. Для полной реализации некоторой структуры памяти необходима адекватная аппаратная и программная поддержка.
2.1. Общие положения
Для поддержки полной структуры памяти на ПК класса XT (рис. 3), если он снабжен платой отображаемой памяти, следует подключить к системе драйвер, поставляемый вместе с этой платой. Такой драйвер будет выполнять функции EMM.
Рис 4. Структура памяти ПК класса АТ. Рис. 5. Структура памяти ПК на МП
386 и выше
Чтобы реализовать полную структуру памяти на ПК класса AT (рис. 4) при наличии в нем расширенной памяти и платы отображаемой памяти, следует:
1) подключить к системе драйвер HIMEM.SYS;
2) подключить к системе драйвер, поставляемый вместе с платой отображаемой памяти.
Для загрузки резидентных модулей DOS в высокую память требуется указать в файле CONFIG.SYS команду DOS=HIGH.
Чтобы обеспечить поддержку полной структуры памяти на ПК с микропроцессором 80386. 80486 или Pentium (рис. 5), требуется:
1) подключить к системе драйвер HIMEM.SYS;
2) подключить к системе драйвер EMM386.БХЕ с переключателем RAM;
3) специфицировать в файле CONFIG.SYS команду DOS=UMB.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.