Воскресенье, 28.05.2017, 03:55
Prise Clan! Главная страницаРегистрацияВход
Приветствую Вас Гость
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 55
 reg_n16 
Оптимизация памяти

Автор статьи: Сергей Трошин

Пользователи компьютеров давно вывели новый закон природы: "оперативной памяти не может быть много". Для более рационального использования всех типов оперативной памяти рекомендую в CONFIG.SYS прописать строку DOS=HIGH,UMB,NOAUTO, чтобы не загружались SETVER.EXE (нужен для старых ДОС-программ) и DBLBUFF.SYS (нужен для SCSI-дисков) - чем меньше грузится всякой хрени - тем лучше. Желательно использовать в конфигурационных файлах команды с приставками HIGH типа DEVICEHIGH, LOADHIGH, INSTALLHIGH, BUFFERSHIGH, FCBSHIGH, FILESHIGH, LASTDRIVEHIGH, STACKSHIGH (если они вам нужны), для освобождения базовой памяти. Для этого впишите сначала в CONFIG.SYS строки

DEVICE=C:\WINDOWS\HIMEM.SYS /V /TESTMEM:Off

DEVICE=C:\WINDOWS\EMM386.EXE NOEMS V для использования верхней памяти. Внимание! Если вы при этом не добавите в CONFIG.SYS строку

DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS, то ваш компьютер может не загрузиться, так как команда DOS=NOAUTO отключает загрузку и этого драйвера файловой системы. Используйте в этом случае загрузочный флоппи-диск или компакт для добавления в конфиг этой строки. Параметр HIGHSCAN (может еще немного добавить свободной верхней памяти) для EMM386 лучше не использовать, так как высока вероятность того, что это приведет к ошибкам и система зависнет.

Необходимо отметить, что Винды сами загружают по умолчанию (если в конфиге не прописано DOS=NOAUTO) как бы "невидимый" CONFIG.SYS, в котором такие строки:

dos=high, auto

device= c:\windows\himem.sys

device= c:\windows\ifshlp.sys

device= c:\windows\setver.exe

fileshigh=30

lastdrivehigh=z

buffershigh=30

stackshigh=9,256

shell=command.com /p

fcbshigh=4

Эти драйвера грузятся, даже если в вашем конфиге они не прописаны (и, даже, если отсутствуют файлы AUTOEXEC.BAT и CONFIG.SYS), при этом, если у вас уже записаны в CONFIG.SYS команды без приставок HIGH (например files), то выполняться все равно будут команды с этими приставками (типа fileshigh), для использования старших адресов памяти (вернее, винда сама решает - использовать старшие адреса памяти или нет, и чаще всего окончания "HIGH" к командам добавляет). Значения, задаваемые командами files, lastdrive, buffers, stacks, fcbs и драйвер SETVER.EXE нужны только приложениям MS-DOS, Windows'98 эти параметры не требуются. Существует и "скрытый" AUTOEXEC.BAT:

@echo off

net start

set tmp=C:\windows\temp

set temp=C:\windows\temp

set COMSPEC=C:\COMMAND.COM

prompt $p$g

path c:\windows; c:\windows\command

Изменяя значения конфигурационных параметров, используемых "виндами" по умолчанию, можно добиться более рационального распределения памяти. Немного базовой памяти можно высвободить, если задать командой LASTDRIVEHIGH букву реально последнего дисковода (по умолчанию памяти выделяется больше: резервируется под все диски от A до Z) - на каждый дополнительный диск расходуется 80 байт. Желательно командой STACKSHIGH=0,0 отменить выделение памяти под стеки, отводимые для временного хранения различной системной информации и нужные только старым ДОСовским программам. Командой BUFFERSHIGH=20 можно ограничить количество буферов дискового ввода-вывода (каждый занимает 532 байта), так как "винды" используют собственную систему кеширования дисковых данных VCache, а для MS-DOS MODE этого значения вполне обычно хватает. Еще один параметр, нужный в режиме эмуляции MS-DOS досовским программам - FCBS, задающий количество неких блоков управления файлами, на что, естественно, опять уходит ценная память (64 байта на каждый), его значение можно изменить на FCBSHIGH=1. Базовую память можно сберечь, задав параметр FILESHIGH=10, уменьшив тем самым число обработчиков файлов с 30 до 10 (на каждый по 60 байт, примерно). Если вы никогда не загружаете режим эмуляции MS-DOS, то можете выставить еще меньшие значения этих параметров, мой же вариант расчитан на поддержку и зтого режима. Если же вы используете какую-нибудь устаревшую программу, которая хочет работать только из режима эмуляции MS-DOS, то вам, возможно, придется изменить эти параметры, опять увеличив их значения, иначе некоторые из ДОСовских программ не запустятся, или даже включить поддержку устаревшей EMS-памяти, добавив параметр RAM к драйверу EMM386! Например:

DEVICE=C:\WINDOWS\EMM386.EXE RAM VERBOSE,

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

При наличии в корне системного диска файла dblspace.bin или drvspace.bin Windows загрузит соответствующий драйвер сжатых дисков, даже если вы не используете эту функцию, поэтому не забудьте удалить эти файлы!

Очень полезно посмотреть, что грузится, выбрав в загрузочном меню (нажать кнопку F8, при загрузке ПК, для его вызова) режим "Step-by-step confirmation". При этом вы сможете увидеть и исправить ошибки в конфигурационных файлах которые обычно возникают из-за неправильного написания путей к драйверам и файлам. А проверить, насколько эффективно распределяется память, можно с помощью команды "MEM /P/C", которую надо набрать в меню "Выполнить" ("Run") кнопки "Пуск". Если в появившемся окне вы увидите примерно такие значения:

Largest executable program size=614032 (600k)

Largest free upper memory block=0 (0K)

MS-DOS is resident in the high memory area,

то все в порядке. Еще одна полезная команда "MEM /D/P" более детально покажет использование памяти.

Иногда нужно выделить больше памяти под переменные окружения (например, если вы хотите задать дополнительные параметры для видеоускорителя от 3dfx в автоэкзеке, а получаете сообщение "Out of environment space"), в этом случае пропишите строку в конфиге:

SHELL=C:\COMMAND.COM /P /E:1024

Обьем свободной оперативной памяти может резко уменьшится при использовании буфера обмена, особенно если в нем хранится большая картинка, поэтому не забывайте после работы с буфером в мощных программных пакетах очистить его, скопировав всего одну букву из блокнота, например..
Форма входа
Календарь новостей
«  Май 2017  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031
Поиск по новостям
Друзья сайта
Prise-clan! © 2007