Известные проблемы
Существуют некоторые особенности, о которых следует знать.
🕛 28.12.2008, 21:00
Aristocad производит несколько программ, которые обеспечивают большую виртуальную страницу в Ventura Publisher, Microsoft Windows или Excel (SoftKicker, SoftKicker Plus и ExcelMore). Все они используют EGA и VGA в особом режиме, при котором осуществляется доступ ко всей области A000h - C000h, включая участок B000h - B800h, который обычно свободен для систем, использующих только EGA/VGA. Таким образом, вы теряете 32 Кбайт места для резидентных программ и должны удостовериться, что ваша программа управления памятью не пытается их задействовать. В продукте Ventura 2.0 Professional Edition есть недочет, который служит причиной выдачи частых сообщений об ошибке в том случае, когда рамка страницы дополнительной памяти начинается выше E000h. По умолчанию программы управления памятью расположат рамку страницы как можно выше. Поэтому, если область F000h - F800h может быть использована, и в вашей системе имеется Professional Edition, необходимо разместить рамку страницы как можно ниже. Это поможет избежать конфликта и, кроме того, предотвратит разбиение на фрагменты памяти в высших адресах. Именно для этого служит команда FRAME=CC00 в примерах. Наконец, существует общая проблема (не связанная с этими двумя программами управления памятью), которая касается области памяти в высших адресах DOS и 16-битовых плат VGA. Спецификация шины ISA заставляет шину управлять каждым участком ОЗУ размером 128 Кбайт либо целиком в режиме 8 бит, либо целиком в режиме 16 бит. Следовательно, все области A и B должны быть одного типа, C и D по возможности разного типа, E и F одинакового типа. Video 7 делает платы VGA с ОЗУ и ПЗУ, пригодные для 16-битовых операций; Paradise включает 16-битовое ПЗУ. При инициализации плат происходит поиск 8-битовой памяти, а затем переключение на необходимый режим. Таким образом, в системе, которую мы выбрали для примера, VRAM обнаруживает 8-битовый монохромный адаптер в адресах B000h B100h и переключает все свое видео-ОЗУ на 8-битовый режим; обнаруживает ПЗУ адаптера SCSI в адресах C800h - CC00h и переключает ПЗУ на 8 -битовый режим. Замедление ПЗУ не играет роли, поскольку программа управления памятью 386 помещает его в 32-битовое ОЗУ. Это возможно, поскольку перемещение происходит на логическом уровне, а спецификация шины заботится только о физическом уровне. Однако, замедление видео-операций в результате 8-битового режима неприятно и может повлечь за собой другие проблемы. Следует принимать во внимание то, что некоторые платы - особенно определенные адаптеры сети - инициализируют свое встроенное ОЗУ только после того, как загрузится система. Таким образом, может возникнуть проблема, если это новое ОЗУ 8-битовое, а расположено в области, которую видео-плата привела в 16-битовый режим. Решение не особенно приятно: вам придется использовать ключи DIP для переключения видео-плат в 8-битовый режим. Как только вы разберетесь, какие области памяти могут быть использованы для резидентных программ, следующей задачей будет их размещение. Вы должны будете побеспокоиться о том, сколько памяти нужно каждой резидентной программе, когда она уже загружена, а также о том, что она, возможно, потребует дополнительной памяти во время загрузки. Например, SideKick Plus занимает всего лишь 70 Кбайт, когда загружен, но требует более 200 Кбайт во время загрузки. Это делает данную программу непригодной для загрузки в память в высших адресах. Возможно, перспектива расчета всех комбинаций вас напугает - к счастью, как QEMM, так и 386max могут вам помочь. Недавно к их возможностям прибавились режимы, автоматизирующие такие операции. Установка этих программ оптимальным образом может потребовать значительных усилий, но помните, что вам понадобится сделать это только один раз, зато в результате вы можете получить десятки килобайтов драгоценного места в оперативной памяти. Через несколько лет, когда большинство из нас будет работать в OS/2, мы будем оглядываться назад и смеяться над тем, что десятки килобайт ОЗУ быль столь ценны, но пока мы ограничены 640 Кбайт, это так. Следующим шагом для вас будет решиться воспользоваться программами, которые позволят получить доступ к памяти DOS в высших адресах. Помните, что кроме управления памятью в высших адресах программы, предлагаемые Quarterdeck и Qualitas, также управляют расширенной памятью и имитируют дополнительную память, позволяя вам конфигурировать вашу систему таким образом, чтобы она работала с максимальной производительностью.Мы надеемся, что объяснение нескольких частей головоломки памяти, которое мы дали, и подробное рассмотрение высших адресов памяти DOS поможет вам в этом оптимизационном процессе. Вам остается только заняться этим.