Использование файла подкачки отключено, чтобы "винде" не пришло в голову посвопиться во время прогона теста и исказить тем самым его результаты. Никаких особых настроек более не делалось - разве что я отключил режим автораспознавания диска для привода CD-ROM - это не нравится одной из примененных для тестирования программ и вызывает BSOD.
Для тестирования использовались следующие утилиты: HD Tach (
http://www.tcdlabs.com/index.html), DiskSpeed (
http://www.aha.ru/~alegr/download/diskspeed.exe), SiSoft Sandra (
http://www.sisoftware.demon.co.uk/sandra), Michael's Disk Benchmark v1.11 (URL неизвестен).
Это одни из самых простых и доступных для рядового пользователя тестов. Асы, разумеется, для получения более объективных результатов воспользуются более мощными "бенчмарками", для показательного же испытания вполне годятся и эти - очень, кстати, неплохие и быстрые программы. Каждый тест прогоним раз пять, и вычислим среднее арифметическое значение для каждого показателя.
Да, чуть не забыл! Обязательно сделайте резервную копию реестра, скопировав в отдельную папку файлы user.dat, system.dat и еще classes.dat в "Миллениуме" - на случай каких либо непредвиденных сложностей, например, если ПК не захочет загрузиться, вы из-под MS-DOS вернете старый реестр с рабочими настройками на место.
Для начала посмотрим, как организует работу с винчестерами Windows по умолчанию - многие так доверяют этой системе, что используют без разговоров все, что она предлагает. Запустим наши тесты сразу же после установки ОС, используя входящий в ее состав драйвер контроллера HDD, имеющий поддержку Bus Mastering, но почему-то никогда не включающий ее самостоятельно - снят флажок "DMA" в свойствах диска ("Панель Управления" -> "Система" -> "Устройства" -> "Жесткие диски" -> ваш диск -> "Свойства" -> "Настройка").
Драйвер контроллера на тестовой машине при этом называется "Intel 82371 AB/EB PCI Bus Master IDE", версия от 05.05.99 г. Надо еще сказать, что в Свойствах Системы виден только диск, настройки которого прописаны в CMOS Setup (второй - "NONE", как я уже говорил), что совсем не здорово - если же в BIOS прописать второй винчестер, то он вклинится на место диска D:, перепутав все обозначения.
Да и обозначен тестовый диск как "GENERIC IDE DISK TYPE 00", что, конечно, не страшно, но и не очень приятно - качественный драйвер должен уметь опознавать марку "винта". После проведения тестов видим - с этими установками налицо жуткая загрузка процессора (70 - 80%) и скорость обмена с буфером диска UDMA/33 всего на уровне 10 Мб/с - то есть, ясно, что ни о каком UDMA речь не идет. Ну что ж, это было, в принципе, и так понятно: установил Windows - первым же делом включай режим DMA для всех дисков, иначе при любых обращениях к ним будут серьезные тормоза.
Хорошо, уговорили, ставим флажки у жесткого диска и CD-ROM. После перезагрузки второй винчестер по-прежнему недоступен, а флажок у "сидюка" пропал - видимо, "винда" считает, что он не может работать в режиме DMA (обычном, не UDMA), хотя в инструкции к нему поддержка DMA упоминается. Снова запускаем тесты - и их результат более чем впечатляет: один незаметный для неискушенного пользователя флажок уменьшает загрузку маломощного процессора раз в десять!
Скорость обмена с буфером диска, по показаниям HD Tach, возрастает до 28 Мб - это уже желанный UDMA/33, однако на реальных операциях с файлами, которые эмулируют тестовые программы, скорость увеличилась не так сильно, как хотелось бы - до 12-13 Мб - это уже работа драйвера и системы кэширования Windows Vcache.
Есть у "виндового" драйвера очень большой недостаток, делающий его абсолютно непригодным для применения на моем компьютере: при включении в CMOS Setup второго диска (Seagate UDMA/66), заветный флажок для него поставить никак не удается - после перезагрузки он пропадает. Если же включить режим DMA для него вручную, принудительно прописав в реестре:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\hdc\0002]
"IDEDMADRIVE0"=hex:01
[HKEY_LOCAL_MACHINE\Enum\ESDI\
GENERICIDE__DISK_TYPE46_\MF&CHILD0000
&PCI&VEN_8086&DEV_7111&SUBSYS_00000000&REV_01&BUS_
00&DEV_07&FUNC_0100]"DMACurrentlyUsed"=hex: 01
(где "0002" - второй IDE-контроллер, к которому подключен диск, а "IDEDMADRIVE0" означает, что этот диск выставлен как "master"), то компьютер вообще отказывается загружаться, при этом "винт" издает весьма неприятные звуки, от которых рука непроизвольно тянется к кнопке "Power".
Посмотрим теперь, что нам даст самое последнее обновление "виндового" драйвера, называемое "Intel INF Update for Intel Chipsets" и заблаговременно скачанное с сайта Intel (
http://www.intel.com/index.html). По окончании процедуры установки драйвера система перезагрузилась, заново обнаружила некоторые устройства, однако драйвер контроллера жестких дисков остался в результате прежний - пришлось новый выбирать вручную.
Для этого надо открыть диалоговое окно свойств контроллера, на странице "Драйвер" выбрать "Обновить драйвер", далее "Указать местоположение нового драйвера" -> "Показать весь список". В открывшемся окне вы увидите, что среди совместимых драйверов контроллера появился еще и драйвер от 4.14.2000. Его-то и надо выбрать, чтобы посмотреть, произойдут ли какие-либо улучшения.
Опять запускаем все наши тесты. Несколько снизилась загрузка процессора - это неплохо, но этим дело и ограничивается. Существенных изменений не произошло - немного уменьшилась скорость чтения, но это большой роли не играет - скорее всего, виновата погрешность измерения.
Флажок "DMA" для второго "винта" и привода CD-ROM по-прежнему установить не удается, а при отключении Seagate в CMOS Setup диск этот также перестает быть доступен...
Больше памяти - больше проблем
На сегодня память SDRAM стоит так дёшево, что набрать 512 Мб памяти обойдётся дешевле 100$. Но с таким количеством памяти вы можете столкнуться с новыми проблемами Windows.
Дело в том, что Windows95, 98, 98SE и ME поддерживают до 512 Мб памяти. При увеличении объёма RAM выше этого предела возникают ошибки нехватки памяти при запуске некоторых приложений. Так что если у вас 768 Мб RAM, вы можете наблюдать следующие глюки Windows:
Невозможно открыть сессию MS-DOS, при попытке это сделать выдаётся сообщение:
There is not enough memory available to run this program.
Quit one or more programs, and then try again.
Компьютер может зависнуть в процессе загрузки Windows, или выдать сообщение об ошибке вида:
Insufficient memory to initialize windows. Quit one or more memory-resident programs or remove unnecessary utilities from your Config.sys and Autoexec.bat files, and restart your computer.
Причина этого в том, что драйвер 32-битного защищённого режима Windows (VCache) на машинах с большим объёмом памяти при загрузке отдаёт всю свободную память системной зоне, не оставляя свободных адресов виртуальной памяти для других задач (например, запуска тех самых MS-DOS приложений).
Чтобы решить эту проблему надо отредактировать System.ini. В этом файле нас интересует параметр MaxFileCache, значение которого нужно сделать равным 512 Мб, или меньше.
Можно также использовать программу конфигурации системы, где также надо надо установить максимальный объём используемой Windows памяти меньше 512 Мб.
А можно просто вытащить пару DIMM-ов и уменьшить объём памяти до 32 Мб и жить спокойно
Ещё раз повторюсь - проблема касается только Windows 95, Windows 98, Windows 98 SE и Windows ME. У NT и 2K, как всегда, всё хорошо, как никогда.
Наше мнение: старожилы ещё помнят системные требования Windows95 - 16 мегабайт памяти. Тогда ещё SIMM. Кто ж знал ?..