Буферы DOS
Наверное, самый простой способ повышения скорости обмена с дисками - использование буферов. Буфер - это часть оперативной памяти вашей системы, которая предназначена для хранения дополнительной информации, считанной или записанной на диски. Когда DOS считывает информацию с диска, она хранит ее в ОП и одновременно передает программе. Если программе опять понадобится эта информация, DOS "может быстро считать ее прямо из буферной памяти, вместо того, чтобы снова обращаться к диску. В режиме записи буферы работают точно так же. Когда DOS записывает что-нибудь на диск, она сохраняет копию в буферной памяти, и эту информацию можно немедленно считать, если она опять понадобится.
DOS всегда хранит последние из считанных или записанных данных в буферной памяти. Если эта память заполнена, более старая информация стирается по мере записи (считывания) новой. Таким образом, в буферной памяти постоянно хранится самая свежая информация. Начиная с версии 4.0, DOS также имеет вторичные буферы или буферы упреждающей выборки. Информация продолжает считываться в них и после того, как нужная часть файла уже получена программой. Эта дополнительная часть файла хранится в look-ahead буфере, и программа может получить ее со скоростью ОП.
Буферы разделены на блоки, размер которых равен размеру сектора на диске, т.е. 512 байт. Но каждому блоку нужно еще немного памяти, поэтому они забирают у DOS от 528 до 532 байт (это зависит от версии DOS), которые могли бы использоваться другими программами, Чем больше используется буферов, тем больше вероятность, что нужная информация будет в них уже находиться. И, конечно, тем больше памяти будет использовано на буферизацию. В версиях DOS до 4.0 для этого приходится забирать память, которая нужна для работы других программ. DOS 5 0 и более поздние версии автоматически используют 64К байт ОП, расположенные непосредственно за стандартной памятью в 1М байт (которую Microsoft называет High Memory Area или Hi Mem), если у вас компьютер на основе 286, 386 или 486 микропроцессора часть DOS загружается в HiMem. (Если у вас нет никакой ОП в HiMem, DOS 5.0 ищет удобную память для себя и своих буферов.) В этом случае другие программы DOS не пострадают, хотя вы все-таки потеряете часть ОП.
DOS 4.0 позволяет переместить буферы в дополнительную память (Expanded Memory Storage EMS), если это позволяет ее объем. Чтобы использовать EMS для буферов в DOS 4.0, надо в CONFIG.SYS добавить к оператору BUFFERS параметр /X. Используя оператор BUFFERS, в CONFIG.SYS можно установить объем памяти DOS, который вы хотите использовать для буферов. В версиях DOS до 4.0 надо просто дописать количество буферов (буферных секторов) после знака равенства в операторе BUFFERS. Можно выбрать от 1 до 99 буферов, которые заберут от 528 до 52,272 байт памяти.