Подключение дискового кеша
Многие программы во время работы часто обращаются к одним и тем же файлам или к одним и тем же областям диска. Например, системы управления базами данных могут часто обращаться к одним и тем же записям базы данных. Windows постоянно использует файлы шрифтов, библиотеки динамической компоновки и т. д. Так как накопители на магнитных дисках являются одними из наиболее медленных устройств компьютера, то в результате постоянного обращения к дисковой памяти резко снижается быстродействие всей системы. Вы можете повысить быстродействие программ, часто обращающихся к диску, если будете выполнять
кеширование диска. При кешировании диска в оперативной памяти компьютера выделяется буфер кеша. Обычно его размер достигает нескольких мегабайт. Когда программа выполняет чтение с диска, считываемые ею сектора копируются в буфер кэша. Если впоследствии программа вновь обратится к диску для чтения, драйвер кэша проверяет, нет ли нужных секторов в буфере кэша. В случае, если нужные сектора записаны в буфере кеша, физическое чтение с диска не выполняется, а программа пользуется копией сектора из буфера. Когда буфер кеша переполняется, из него вытесняется информация к которой дольше всего не происходило обращения.
Операционная система MS-DOS включает в себя несколько средств для организации кэширования и буферизации диска. К ним относятся драйвер кеша SMARTDrive, команда FASTOPEN, команда BUFFERS. Программа установки MS-DOS версии 6.0 и 6.2, автоматически подключает драйвер кеша SMARTDrive версии 4.0. Драйвер SMARTDrive входит в стандартную поставку операционных систем MS-DOS и Microsoft Windows. Ниже перечислены основные функции, выполняемые драйвером SMARTDrive.
• Кеширование жестких дисков компьютера при выполнении операций чтения/записи
• Режим отложенной записи, в котором при записи на диск драйвер кеша не производит изменения немедленно, а накапливает их во внутреннем буфере (асинхронная запись).
• Кеширование накопителей на гибких магнитных дисках
• Возможность динамического отключения кеша при проведении критичных операций.
К преимуществам драйвера SMARTDrive, можно отнести простоту его подключения. При установке MS- DOS версии 6.2 и Windows, драйвер SMARTDrive подключается автоматически. Эффективность кеширования жестких дисков компьютера может снизиться при сильной фрагментации файлов. Поэтому рекомендуется периодически проводить дефрагментацию дисков компьютера.
Дисковый кеш SMARTDrive
Если в вашем компьютере установлена расширенная память, подключение дискового кэша SMARTDrive версии 4.0 происходит автоматически при установке операционных систем MS-DOS версии 6.2 и Windows. Однако иногда приходится устанавливать SMARTDrive вручную или изменять его параметры для достижения максимальной производительности.
Если вы решили установить SMARTDrive вручную, надо загрузить драйвер SMARTDRV.EXE. Для этого поместите в файл AUTOEXEC.BAT вызов команды SMARTDRV.EXE. Формат вызова представлен ниже: [drive:][path] SMARTDRV [[drive[+|-]]...] [/E:ElementSize] [[InitCacheSize] [WinCacheSize]]
[/B:<BufferSize>] /L][/Q] [/V] [/S]
Рассмотрим параметры SMARTDRV.EXE более подробно:
Параметр | Назначение |
[drive:] [path] | Определяет диск и каталог, на котором расположен драйвер SMARTDRV.EXE. После установки операционных систем MS-DOS и Windows файл драйвера SMARTDRV.EXE находится в каталоге MS-DOS и в каталоге Windows. Оставьте файл SMARTDRV.EXE с последней версией SMARTDrive. Файл SMARTDRV.EXE ранней версии можно удалить |
[[drive[+|-]]...] | Задает имена дисков, для которых нужно отключить или включить кеширование. Добавление символа'+' после имени диска означает, что соответствующий диск будет кешироваться при чтении и при записи. Добавление символа означает, что кеширование диска будет отключено. Если вы укажете имя диска без символов '+' и будет выполняться кеширование только при чтении с диска. Если вы не укажите имя диска, кеширование дисководов на гибких дисках будет выполняться только при операции чтения, а для жестких дисков как при чтении, так и при записи на диск |
/E:ElementSize | Определяет размер буфера кеша, который SMARTDrive использует для обмена информацией с диском. Возможные значения: 1024, 2048, 4096 и 8192 |
InitCacheSize | Необязательный параметр InitCacheSize задает размер в килобайтах области оперативной памяти, отводимой под кэш (размер буфера кеша). Если он не задан, SMARTDrive определяет размер буфера кеша самостоятельно, исходя из конфигурации компьютера |
WinCacheSize | Необязательный параметр WinCacheSize, задает минимальный размер кэша в |
килобайтах. Этот параметр обычно используют при работе с такими программами, которые умеют уменьшать размер кэша и использовать освободившуюся память для своих нужд. Например, Microsoft Windows может уменьшить размер кэша до нуля | |
/L | Запрещает SMARTDrive использовать блоки верхней памяти |
/Q | Запрещает при загрузке SMARTDrive, вывод на экран справочной информации. |
/V | Выводит на экран информацию о состоянии SMARTDrive и сообщения об ошибках |
/S | Выводит на экран дополнительную информацию о состоянии SMARTDrive |
Если в ходе работы вы желаете отключить или подключить кеширование некоторых дисков, а также если вы желаете сбросить буфера кеша. вам понадобиться вызвать SMARTDRV.EXE: SMARTDRV [[drive[+|-]]...]] [/С] [Щ
Параметры вызова SMARTDrive, используемые для управления кешем. несколько отличаются от тех. которые мы рассматривали выше:
|
Приведем пример подключения дискового кеша SMARTDrive. Так как SMARTDrive использует расширенную память, для его подключения добавьте в файле CONEIG.SYS вызов драйвера HIMEM.SYS:
DEVICE=C:\DOS\HIMEM.SYS
Эта строка нужна для подключения драйвера расширенной памяти HIMEM.SYS. Затем поместите в файле AUTOEXEC.BAT вызов драйвера SMARTDRV.EXE: C:\DOS\SMARTDRV А+ D- 2048 1024
Данная команда создает дисковый кеш размером 2048 Кбайт, который может быть уменьшен программами (например Windows) до 1024 Кбайт. При этом для жесткого диска D: кеширование будет полностью запрещено. Дисковод А: будет кешироваться только при чтении, а жесткие диски, кроме D:, будут кешироваться и при чтении и при записи.
Когда вы закончите работать, то перед выключением питания компьютера введите следующую команду:
C:\DOS\SMARTDRV /С
По этой команде все изменения в буфере кеша будут записаны на диск.