Appendix A.

---------------------------------------------------------

7. 9. Оптимизация использования памяти

Оптимизация использования (оперативной) памяти, то есть повышение эффективности ее использования, достигается, главным образом, благодаря устранению фрагментации памяти.

Например, фрагментация стандартной памяти может возникнуть как при удалении из нее резидентной программы (некоторые резидентные программы допускают самоликаидацию), которая загружена не последней, так и при загрузке а память резидентной программы из нерезидентной, в частности, из вторичной копни интерпретатора команд, которая, кстати, запускается при каждом выполнении программы в среде оболочки Norton Commander. Следствием фрагментации памяти фактически является уменьшение свободной области для размещения новых программ, поскольку в образовавшуюся <дыру> удастся загрузить лишь копию окружения (сопровождающую каждую программу), да и то если она меньше по размеру. Программный же код в такую "дыру" загружен быть не может. Поэтому загрузку резидентов нужно тщательно планировать заранее, чтобы, по крайней мере. уменьшить (если не вообще исключить) фрагментацию стандартной памяти. Вообще, загружать постоянно используемые резидентные программы в память лучше всего из файла AUTOEXEC. BAT. Если в этом возникнет необходимость в ходе работы, нужно перейти а каталог, содержащий файл с резидентной программой, выйти из оболочки, загрузить резидентную программу и вновь запустить оболочку в работу.

Хочется обратить внимание читателя на то, что DOS-утилита Mem сообщает о выделенных ей блоках памяти как свободных, поэтому получается три свободных блока памяти, что вводит пользователя в заблуждение.

Вся свободная расширенная память чаще всего отводится под дисковый кэш или, в ряде случаев, выделяется под кэш я виртуальный диск. Поэтому проблемы с устранением ее фрагментации практически не возникают.

Вспомним, что прирожденным свойством верхней памяти является се неизбежная фрагментация. Вот почему проблема оптимизации использования верхней памяти стоит наиболее остро и решить ее гораздо сложнее, чем в отношении стандартной памяти. В данном случае важное значение приобретает распределение драйверов и резидентных программ по регионам верхней памяти, а также порядок их загрузки. Оценить все возможные варианты загрузки драйверов и резидентных программ в верхнюю память, чтобы выбрать из них наилучший, без привлечения специализированных программных средств в общем случае не представляется возможным. Поиск оптимального варианта усложняется еще и тем, что драйверы и резидентные программы после загрузки способны изменять свой размер.

Чем эффективнее используется верхняя память, тем больше поместится в нее драйверов и резидентных программ, что приведет к высвобождению наиболее ценного ресурса - стандартной памяти - для выполнения нерезидентных программ. Это особенно актуально в силу наличия программ, которые требовательны к размеру свободной области стандартной памяти настолько, что даже при незначительном ее уменьшении относительно номинального значения (около 600 Кбайт) отказываются функционировать. Нужно также учитывать, что многие программы при увеличении доступной стандартной памяти способны работать быстрее, поскольку меньше данных перекачивается с диска в память и обратно.

Из приведенных рассуждений становится понятным, что наиболее животрепещущей проблемой при оптимизации использования памяти вообще является проблема повышения эффективности использования верхней памяти. Эта проблема решается при помощи имеющегося в DOS оптимизатора памяти Microsoft MemMaker.

7. 9. 1. Общие сведения об оптимизаторе памяти Microsoft MemMaker

Основная задача оптимизатора, как уже отмечалось, заключается а повышении эффективности использования верхней памяти. Для ее решения он формирует и анализирует множество вариантов (число которых может достигать нескольких тысяч) загрузки драйверов из файла CONFIG. SYS и резидентных программ из файла AUTOEXEC. BAT в верхнюю память и выбирает из них наилучший. Варианты загрузки различаются распределением внешних драйверов и резидент- ных программ по регионам верхней памяти, но никак не порядком их загрузки. поскольку оптимизатор не может выявить реальные взаимосвязи между драйверами и резидентными программами.

В процессе работы оптимизатор способен:

    - вставлять в файл CONFIG. SYS команды на подключение драйверов HIMEM. SYS и EMM386. EXE;

    - задавать или изменять переключатели для драйвера EMM386. EXE. который допускает их большое количество;

    - размещать в файле CONFIG. SYS команду DOS=UMB, в результате чего функции управления верхней памятью всецело возлагаются на DOS (вместе с тем команда DOS=HIGH, специфицирующая перенос резидентных модулей DOS в высокую память, автоматически не вставляется);

    - заменять в файле CONFIG. SYS команды DEVICE на команды DEV1CEHIGH и наоборот;

    - включать в командные строки файла AUTOEXEC. BAT, обеспечивающие загрузку резидентных программ, команды LOADHIGH и удалять эти команды из командных строк;

    - специфицировать в командах DEVICEHIGH и LOADHIGH переключатели /L и /S, чтобы конкретизировать место и уточнить режим загрузки;

    - модифицировать или помещать в файл CONFIG. SYS такие команды конфигурирования, как BUFFERS. FILES, LASTDRIVE и FCBS (к сожалению, не всегда с лучшими аргументами).

Таким образом, оптимизатор делает гораздо большее, чем просто оптимизирует использование верхней памяти. С его помощью файл CONFIG. SYS дополняется многими командами, которые обеспечивают необходимое конфигурирование DOS. Так, организуется доступ к расширенной памяти по стандарту XMS (в результате подключения к системе драйвера HIMEM. SYS), формируется высокая память (тем же драйвером) и верхняя память (как следствие подключения к системе Драйвера EMM386. EXE), осуществляется, при необходимости, эмуляция отображаемой памяти (тем же драйвером EMM386. EXE), на DOS возлагаются асе функции управления верхней памятью (благодаря команде DOS=UMB), производятся и некоторые другие настройки. Более того, оптимизатор самостоятельно принимает решение о загрузке драйверов и резидентных программ в верхнюю или в стандартную память. Как следствие, подготавливая файлы CONFIG. SYS и AUTOEX- EC. BAT, пользователю не нужно заботиться о многом -- он должен лишь указать, какие драйверы нужно к системе подключить и какие резидентные программы загрузить. Все остальное сделает оптимизатор.

Чтобы оптимизатор мог работать, необходимо наличие:

    - операционной системы MS-DOS версии б или выше;

    - компьютера с микропроцессором 80386 или выше, поскольку только такие изделия аппаратно поддерживают верхнюю память;

    - по крайней мере, 384 Кбайт базовой расширенной памяти.

Если подключение драйверов HIMEM. SYS и EMM386. EXE предполагается осуществлять при помощи оптимизатора, то они должны находиться в одном с оптимизатором каталоге (обычно это каталог с файлами DOS).

Результатом работы оптимизатора являются обновленные им файлы CONFIG. SYS и AUTOEXEC. BAT, а также, возможно, файл SYSTEM. INI, используемый средой Windows. При этом старые варианты файлов не уничтожаются, а сохраняются с расширением, измененным на UMB, что обеспечивает возможность последующего их восстановления. Необходимо подчеркнуть -- файлы CONF1G. UMB и AUTOEXEC. UMB оказываются зарегистрированными не в корневом каталоге системного диска, а в каталоге с файлами оптимизатора, где находятся и другие файлы DOS.

Ядро оптимизатора образует одноименная диалоговая утилита с полноэкранным пользовательским интерфейсом, способная тем не менее функционировать и в автоматическом режиме.

Работая в диалоговом режиме, она а нижней части экрана всегда отображает ряд обозначении из следующего списка, которые доступны для выполнения действий в данный момент:

Enter - принять сделанные установки и продолжить работу;

Space - изменить визуально выделяющееся среди остальных значение на следующее альтернативное значение;

Fl - получить помощь;

F3 - выйти из утилиты, прервав процесс оптимизации;

Esc - вернуться в предыдущее состояние или (иногда) отменить результаты оптимизации.

После нажатия клавиши F3 пользователь может выбрать один из трех вариантов:

Exit and undo changes - выйти с восстановлением файлов CONFIG. SYS. AUTOEXEC. BAT и SYSTEM. INI в первоначальном виде;

Exit and keep changes - выйти с сохранением изменений, внесенных в эти файлы (отменить изменения при необходимости можно будет потом, используя переключатель /UNDO);

Continue - не выходить и продолжить работу.

Оптимизатор нужно использовать после первичной подготовки файлов CONFIG.SYS и AUTOEXEC.BAT, а также после внесения в них любого, пусть даже незначительного, исправления, связанного с модификацией списка подключаемых к системе драйверов или загружаемых в память резидентных программ, включая изменение порядка следования команд, это обеспечивающих.

Прежде, чем запустить утилиту MemMaker в работу, необходимо выполнить ряд подготовительных действий:

    1) проверить работоспособность оборудования ПК (если есть сомнения в том, что оно, в частности, память, функционирует должным образом);

    2) провести ревизию файлов CONFIG.SYS и AUTOEXEC.BAT с целью исключения из них команд, обеспечивающих подключение к системе драйверов и загрузку резидентных программ, необходимость в использовании которых уже отпала, чтобы не включать их в процесс оптимизации;

    3) включить оборудование, обычно задействуемое при штатной работе;

    4) перезагрузить DOS, если коррективы в файлы CONFIG.SYS и AUTOEXEC.BAT были внесены;

    5) выйти из любой функционирующей а данный момент программы (имеется в виду среда Windows, да и оболочка Norton Commander, хотя в среде последней проблем обычно не возникает).

Поддерживаются три режима оптимизации использования верхней памяти:

    1) автоматическая оптимизация, которая выполняется без участия пользователя;

    2) экспресс-оптимизация, в ходе которой пользователю предоставляются минимальные возможности повлиять на процесс оптимизации, а также предлагается санкционировать выполняемые оптимизатором действия;

    3) заказная оптимизация, которая производится под управлением пользователя путем переключения им определенных опций.

Кроме того, как уже отмечалось, имеется режим отмены результатов оптимизации.

Теперь рассмотрим реализуемые оптимизатором режимы и основания для использования каждого из них. Затем заострим внимание читателя на вопросе о том, как <выжать> из верхней памяти максимум возможного.

7. 9. 2. Автоматическая оптимизация

Чтобы произвести автоматическую оптимизацию, необходимо выполнить лишь два действия:

    1) выдать команду

    MEMMAKER [. EXE] /BATCH

    2) дождавшись отображения отчета утилиты MemMaker (см. пример на рис. 7. 39), что свидетельствует об окончании оптимизации, и ознакомившись с ним, нажать клавишу Enter для выхода из утилиты.

Отчет имеет вид таблицы с четырьмя графами:

    1) тип памяти (Memory Type), в которой представлены свободная стандартная память (Free conventional memory), верхняя память (Upper memory) и отображаемая память (Expanded memory);

    2) количество памяти в байтах, которое было до оптимизации (Before MemMaker);

    3) количество памяти в байтах, которое стало доступным после оптимизации (After MemMaker);

    4) разность значений, указанных в пп. 3 и 2, то есть изменения в распределении памяти, произошедшие в результате оптимизации (Change).

    При этом для верхней памяти отмечается:

      - количество памяти, используемой драйверами и резидентными программами (Used by Programs);

      Microsoft MemMaker

      MemMaker has finished optimizing your system's memory. The following table summarizes the memory use (In bytes) an your system:

      Your original CONFIG. SYS and AUTOEXEC. BAT files have been saved as CONFIG. UMB and AUTOEXEC. UMB. If MemMaker changed your Windows SYSTEM. lNI file, the original file was saved as SYSTEM. UMB.

      ENTER=Exit ESC=Undo changes

      Рис. 7. 39. Отчет оптимизатора

      - количество памяти, зарезервированной для использования средой Windows (Reserved for Windows);

      - размер окна отображаемой памяти (Reserved for EMS);

      - размер свободной памяти (Free).

Просуммировав перечисленные значения, вы сможете определить объем верхней памяти.

В отличие от других разновидностей памяти, для отображаемой памяти выдается не количество памяти, а одно из двух значений - Disabled (запрещена) или Enabled (разрешена).

Если в будущем проявятся какие-либо аномалии в работе DOS, то можно будет отменить внесенные в файлы CONFIG. SYS и AUTOEXEC. BAT изменения, после чего, выявив источник ненормальной работы, - выполнить заказную оптимизацию, чтобы исключить неспособные функционировать в верхней памяти драйверы и резидентные программы из процесса оптимизации.

7. 9. 3. Экспресс-оптимизация

Экспресс-оптимизация дает результаты, аналогичные автоматической оптимизации, но применимость ее шире, поскольку обеспечивается возможность эмуляции отображаемой памяти. Кроме того, вследствие выдачи утилитой MemMaker запросов на подтверждение каждого действия, экспресс-оптимизация более безопасна, чем автоматическая оптимизация.

Экспресс-оптимизация реализуется следующей процедурой.

А. Запустите оптимизатор MemMaker командой

MEMMAKER[.EXE]

В результате отобразится экранный бланк Welcome.

В. Выберите вариант Continue, нажав клавишу Enter.

После этого появится экранный бланк, в котором предлагается осуществить выбор требуемого режима оптимизации.

С. Выберите режим Express Setup нажатием клавиши Enter. Оптимизатор выдаст запрос о том, используете ли вы какие-либо программы, требующие отображаемую память.

D. Если ни одна из программ не требует отображаемую память, выберите No, нажав клавишу Enter.

Ответ No обеспечит лучшее освобождение стандартной памяти, поскольку отображаемая память вообще поддерживаться не будет, а следовательно, не будет сформировано и ее окно, что по сути увеличивает размер верхней памяти на 64 Кбайт. Не будет понапрасну резервироваться и расширенная память, с использованием которой отображаемая память эмулируется. Технически отмена эмуляции отображаемой памяти реализуется автоматическим указанием переключателя NOEMS в команде DEVICE для драйвера EMM386. EXE.

Если по крайней мере одна из программ требует отображаемую память, выберите Yes, нажав сначала клавишу Space, а затем - клавишу Enter.

Ответ Yes делает отображаемую память доступной (благодаря ее эмуляции), но может не обеспечить максимально возможное освобождение стандартной памяти, поскольку 64-Кбайт "дыра" UMA задействуется под окно отображаемой памяти, а не под регион верхней памяти. В результате ответа Yes в команду DEVICE для драйвера EMM386. EXE будет помещен переключатель RAM.

Если вы не уверены а том, используются ли программы, требующие отображаемую память, ответьте No.

После проведения оптимизации в этом случае вам, возможно, придется проверить работоспособность некоторых программ, которые предположительно требуют отображаемую память. Если какая-либо программа откажется работать из-за отсутствия окна отображаемой памяти, то нужно повторить оптимизацию с ответом Yes а данной точке диалога.

Теперь оптимизатор осуществит сканирование жесткого диска с целью поиска файлов Windows и проверки ее версии. При обнаружении хотя бы одной копии Windows 3. 0 оптимизатор впоследствии предложит вам подтвердить (Yes) или отменить (No) редактирование Windows-файла SYSTEM. 1NI. (Чтобы Windows 3. 0 в расширенном режиме функционировала корректно, изменения в данном файле необходимы.) Когда же используется Windows 3. 1, файл SYSTEM. INI модифицироваться не будет.

Теперь оптимизатор отображает сообщение о готовности произвести рестарт системы.

Е Нажмите клавишу Enter для санкционирования перезагрузки системы. Оптимизатор инициирует перезагрузку DOS. Во время перезагрузки он будет производить отслеживание потребностей а памяти драйверов и резидентных программ. На основе анализа полученной в результате этого информации оптимизатор определит наилучшее их распределение по регионам верхней памяти, после чего отредактирует файлы CONFIG. SYS и AUTOEXEC. BAT.

После выполнения описанных действий оптимизатор становится готовым к повторному рестарту DOS с использованием обновленных файлов CONFIG. SYS и AUTOEXEC. BAT.

F. Нажмите клавишу Enter для повторного рестарта системы. Внимательно следите за сообщениями, выдаваемыми на экран дисплея подключаемыми драйверами и загружаемыми резидентными программами. Фиксируйте каждое необычное сообщение.

После перезагрузки DOS оптимизатор запрашивает, нормально ли функционирует система.

G. Если никаких необычных сообщений при перезагрузке DOS замечено не было, выберите Yes путем нажатая клавиши Enter. В противном случае (это бывает редко) выберите No, нажав клавишу Space, а затем - Enter; следуйте инструкциям, отображаемым на экране. Возможно, вам придется аннулировать внесенные в файлы CONFIG. SYS и AUTOEXEC. BAT исправления, отменив тем самым результаты оптимизации.

После ответа Yes оптимизатор отобразит отчет о результатах проделанной работы, пример которого уже приводился на рис. 7. 39.

H. Нажмите клавишу Enter для выхода из оптимизатора.

Если в будущем проявятся какие-либо аномалии а работе DOS, то можно будет отменить внесенные в файлы CONRG. SYS и AUTOEXEC. BAT изменения. после чего, выявив источник ненормальной работы. - выполнить заказную оптимизацию, чтобы исключить неспособные функционировать в верхней памяти драйверы и резидентные программы из, процесса оптимизации.

7. 9. 4. Заказная оптимизация

Заказная оптимизация дает лучший эффект, чем автоматическая и экспресс-оптимизация, когда выполняется одно из перечисленных условий:

    - компьютер оборудован видеосистемой EGA или VGA.

    - компьютер снабжен видеосистемой Super VGA, но ни одна из из запускаемых вами в среде DOS программ видиорежимы с повышенным разрешением не использует (это наиболее распространенный вариант);

    - требуется исключить некоторые драйверы и резидентные программы из процесса оптимизации (обычно те драйверы и резидентные программы, которые некорректно функционируют после автоматической или экспресс-оптимизации);

    - требуется найти максимально возможное количество <дыр> в UMA, выполнив так называемое агрессивное сканирование этой области (в других режимах агрессивное сканирование предотвращается).

Поиск <дыр> в UMA всегда производится не самим оптимизатором, а драйвером EMM386. EXE. причем характер поиска определяется перечнем заданных для него переключателей. При предвзятом агрессивном сканировании драйвер EMM386. EXE может выдать желаемое за действительное, найдя <дыру> там, где ее нет. В результате система будет <зависать>.

Заказная оптимизация реализуется описываемой ниже процедурой.

A. Выполните шаги А и В процедуры экспресс-оптимизации.

В. Выберите режим Custom Setup путем нажатия клавиши Space, а затем - Enter.

Оптимизатор выдаст запрос о том, используете ли вы какие-либо программы, требующие отображаемую память.

С. Выполните шаг D процедуры экспресс-оптимизации. После ответа Yes или No сразу отображается экранный бланк Advanced Options.

D. Установите требуемые опции и нажмите клавишу Enter.

Для переключения опции следует, используя клавиши Т и i, выделить слово Yes или No рядом с данной опцией, а затем - нажать клавишу Space.

Приведем краткие сведения по каждой опции, имеющейся в экранном бланке Advanced Options.

При установке Yes для опции Specify which drivers and TSRs to include in optimization? вы сможете специфицировать, какие драйверы и резидентные программы включить в процесс оптимизации, а какие - нет, чтобы обеспечить их загрузку в стандартную память. После переустановки требуемых опций оптимизатор выдаст серию запросов по каждому драйверу я резидентной программе. Для включения драйвера или резидентной программы в процесс оптимизации потребуется ответить Yes, для исключения - No. Переключение ответов производится, как обычно, клавишей Space, а к продолжению работы приводит нажатие клавиши Enter. При установке No для опции Specify which drivers and TSRs to include in Optimization? в процесс оптимизации будут вовлечены все драйверы и резидентные программы (именно это принимается по умолчанию). Чтобы каждый раз при переоптимизации не входить в утомительный диалог с утилитой MemMaker в соответствии с данной опцией, можно однократно внести необходимые изменения в файл MEMMAKER. INF.

При установке Yes для опции Scan the upper memory area agressiveiy? будет обеспечено агрессивное сканирование UMA путем вовлечения в процесс поиска <дыр> поля UMA в диапазоне адресов от F0000H до F7FF0H (буква H. в адресах означает их представление в шестнадцатеричной системе счисления). В случае установки No поиск <дыр> в UMA будет ограничен диапазоном адресов от С6000Н до EFFF0H, что обеспечивает щадящее сканирование. По умолчанию агрессивное сканирование в DOS версии 6. 2 не выполняется. Технически агрессивное сканирование UMA реализуется путем автоматического размещения переключателя HIGHSCAN в команде DEVICE для драйвера EMM386. EXE.

Установка Yes для опции Optimize upper memory for use with Windows? обеспечит оптимизацию использования верхней памяти с целью высвобождения как можно большего количества стандартной памяти для DOS-программ, запускаемых из среды Windows. Это будет выполнено, возможно, в ущерб количеству стандартной памяти, высвобождаемой для программ, запускаемых в среде DOS. Установка No приведет к оптимизации с целью высвобождения как можно большего количества стандартной памяти только при работе в среде DOS. По умолчанию принимается No. В результате установки Yes для этой опции к команде DEVICE для драйвера EMM386. EXE будет приписан переключатель WIN, чтобы зарезервировать некоторое количество верхней памяти (именно оно отображается в строке Reserved for Windows отчета оптимизатора).

При установке Yes для опции Use monochrome region (B000-BFFF) for running programs? под верхнюю память будет задействоваться 32-Кбайт область UMA в диапазоне адресов B0000H - BFFF0H. отводимая для видеопамяти древнего ви- деоадаптера MDA и используемая также в дополнительных режимах Super VGA. Это делается путем установки переключателя 1 для драйвера EMM386.EXE Указанная область UMA не задействуется большинством видеосистем EGA и VGA, поэтому когда ПК оборудован одной из таких видеосистем, имеет смысл установить Yes. To же самое можно сделать, если у вас видеосистема Super VGA но при работе в среде DOS видеосистема функционирует только в режиме VGA Скорее всего, в среде Windows режимы Super VGA вами используются. Чтобы устранить неприятные последствия в этом случае, достаточно в секцию (386Enh] Windows- файла SYSTEM. INI дописать команду для подключения DOS-драйвера MONOUMB. 386 такого вида:

DEVICE = C:\DOS\MONOUMB.386

Установка No для опции Use monochrome region (B000-BFFF) for running programs? предотвращает использование указанной области UMA под верхнюю память. По умолчанию принимается No.

При установке No для опции Keep current EMM386 memory exclusions and inclusions? оптимизатор удаляет все переключатели I и X, уже заданные для драйвера EMM386. EXE (первым из них некоторое поле UMA принудительно используется под верхнюю память, вторым - исключается из использования), в результате чего сканирование UMA будет производиться без учета предыстории.

Установка Yes оставляет переключатели 1 и X действующими. По умолчанию предполагается Yes.

При установке No для опции Move Extended BIOS Data Area from conventional to upper memory? пересылка расширенных данных BIOS в верхнюю память производиться не будет. Установка Yes обеспечивает пересылку, что освобождает 1 Кбайт стандартной памяти, но может не позволить загрузить в верхнюю память драйвер или резидентную программу гораздо большего размера. По умолчанию принимается Yes.

Отметим, что при экспресс-оптимизации используются установки, принимаемые по умолчанию.

E. После переустановки опций и нажатия клавиши Enter отобразится экранный бланк со спецификацией каталога с первой встретившейся копией Windows. Если это именно та копия, которая вами используется, нажмите клавишу Enter для продолжения работы. В противном случае введите полную спецификацию каталога, содержащего рабочую копию Windows. Это позволит при необходимости внести коррективы в файл SYSTEM. INI;

Оптимизатор выводит сообщение о готовности произвести рестарт системы.

F. Выполните шаги E - H процедуры экспресс-оптимизации.

7. 9. 5. Дополнительная оптимизация

Поскольку утилита MemMaker по вполне понятным причинам не изменяет последовательность подключения к системе драйверов и загрузки резидентных программ, произведенное ею распределение верхней памяти нельзя считать оптимальным а строгом смысле этого слова (по сути распределение является квазиоптимальным). Высказанный тезис можно подтвердить таким примером. Пусть свободным остался единственный регион верхней памяти, а в память требуется загрузить еще две резидентные программы, причем каждая из них по отдельности в регион помещается, а одновременно обе - нет. Вполне понятно, что в верхнюю память сможет попасть только первая из загружаемых программ, вторая же обязательно окажется в стандартной памяти. Если первой является меньшая программа, распределение верхней памяти окажется неоптимальным - лучше загрузить вторую. С учетом того, что резидентные программы (как и драйверы) могут уменьшаться в размере после своей инициализации, правильный выбор порядка загрузки может, при хорошем стечении обстоятельств, обеспечить размещение в регионе одновременно двух программ.

Очевидно, большей эффективности использования верхней памяти можно добиться, если подключать драйверы и загружать резидентные программы в порядке убывания их максимального размера, чтобы заполнить верхнюю память наиболее плотно. Последовательность подключения драйверов и загрузки резидентных программ придется изменить <вручную>, после чего нужно будет повторно выполнить оптимизацию. Но как же узнать истинные максимальные размеры драйверов и резидентных программ? Ниже приводится ответ на постав- ленный вопрос.

В ходе своей работы оптимизатор определяет потребности в памяти каждого драйвера и резидентной программы, сохраняя эти сведения в текстовом файле MEMMAKER. STS. Следует отобразить этот файл на экране и найти в нем секцию [SizeData]. Именно в секции [SizeData] содержатся все сведения о потребностях в памяти. Для каждого драйвера и резидентной программы в этой секции имеются записи, аналогичные следующим:

Command=C:\DRIVERS\MYDRV.SYS

Line=12

FinalSize=4256

MaxSize=9072

FinalUpperSizes=0

MaxUpperSizes=0

ProgramType=DEVICE

Максимальный размер драйвера или резидентной программы указывается а записи MaxSize.

Изменяя порядок подключения драйверов и загрузки резидентных программ, нельзя переусердствовать, поскольку они могут быть зависимыми. При любых обстоятельствах первым из подключаемых к системе должен быть драйвер HIMEM.SYS, а вторым - драйвер EMM386.EXE.

Таким образом, чтобы добиться наилучшего использования верхней памяти. нужно выполнить оптимизацию сначала лишь с целью определения значений MaxSize для каждого драйвера и резидентной программы, затем изменить порядок их указания в файлах CONFIG. SYS и AUTOEXEC. BAT по возможности так, чтобы значения MaxSize убывали, после чего снова выполнить оптимизацию.

7. 9. 6. Отмена результатов оптимизации

Если оптимизацию по каким-либо причинам завершить не удалось или после оптимизации выяснилось, что система функционирует неустойчиво, потребуется отменить результаты оптимизации, выяснить причины ненормального поведения системы и снова выполнить оптимизацию (скорее всего, заказную).

Отмена результатов оптимизации заключается в восстановлении файлов CONFIG. SYS и AUTOEXEC. BAT (возможно, и файла SYSTEM. INI) в первоначальном виде. Для этого выполняется команда

MEMMAKER[.EXE] /UNDO

После запуска утилиты MemMaker необходимо подтвердить необходимость отмены изменений, для чего нажимать клавишу Space до тех пор, пока не появится вариант Restore files now (Восстановить файлы сейчас), и затем нажать клавишу Enter.

Для выхода из оптимизатора без отмены результатов оптимизации нужно нажимать клавишу Space, пока не появится вариант Exit (Выйти), и после этого нажать клавишу Enter.

Когда отмена изменений была санкционирована, после ее выполнения потребуется нажать клавишу Enter для рестарта системы с целью конфигурирования DOS в соответствии с восстановленными файлами CONFIG. SYS и AUTOEXEC. BAT.

-----------------------------------------------------------

Программа MemMaker при своей работе не меняет порядок загрузки прикладных программ и не меняет настроек взаимодействия системного окружения и жестких дисков с оперативной памятью, Поэтому эти настройки необходимо сделать до запуска программы MemMaker.

 

Назад..   На оглавление раздела…

 

Гостевая книга Обсуждение в блоге. Отправить E-mail Автору проекта.

=== *** === *** === *** ===

В настоящее время проект закрыт (в версии 1.3.0 beta). Автор приносит извинения за прекрашение разработки.

Hosted by uCoz