Смекни!
smekni.com

Оптимизация дисковой системы (стр. 2 из 3)

К счастью, все системы (материнские платы), выпущенные со времен Pentium, а уж тем более в настоящее время, без каких-либо проблем поддерживают Bus Mastering (далее - BM). Единственная проблема, которая остается - использовать именно этот режим работы аппаратуры. К сожалению, здесь и по сей день есть некоторые подводные камни.

Windows 98/Windows ME

Современные компьютеры на основе этих систем, в подавляющем большинстве случаев, уже имеют драйверы, способные работать в режиме BM - особенно это относится к Windows ME. Убедиться в этом можно следующим образом - пойти в панель управления, пункт "система", и в менеджере устройств почитать название контроллера жестких дисков. Если у вас материнская плата на чипсете Intel и в названии есть слова "Bus Master" или, иногда, аналог по-русски ("управление шиной" или что-то в этом роде) - значит, нужные драйверы уже установлены. Пользователям современных (Pentium и выше) систем на основе чипсетов VIA можно быть спокойными - если у вас стоит драйвер с упоминанием VIA, а не стандартный драйвер IDE, то BM вам обеспечено. Если же у вас все-таки установлен только стандартный драйвер IDE-контроллера, то вам, скорее всего, нужно поставить более новые драйверы. Пользователям Windows 95, к сожалению, придется искать драйверы - стандартных драйверов BM в этой системе нет.

Все, что теперь осталось сделать - это убедиться в том, что все ваши устройства работают в этом режиме. Для этого в том же самом менеджере устройств вам нужно пройтись по всем жестким дискам и приводам CD/DVD и поставить для них режим "DMA" в закладке "Параметры" ("Settings"). Разные системы имеют разные параметры по умолчанию, и, возможно, несколько ваших устройств по-прежнему продолжат работать в режиме PIO. Стоит обратить внимание, впрочем, на то, что некоторые устройства (особенно старые приводы CD или CD-R[W]) могут не работать в режиме DMA или же работать не совсем корректно. Иногда случается, например, так, что привод CD в DMA режиме перестает воспроизводить VideoCD или копировать аудиоданные. Мне также встречались случаи, когда привод CD-RW вообще переставал работать в DMA-режиме. Возьмите это на заметку - если что-то перестало работать так, как работало раньше, вам, к сожалению, придется отказаться от использования DMA на этом устройстве.

Windows 2000

Эта система в подавляющем большинстве случаев уже имеет драйверы Bus Mastering и даже использует их. Все, что можно сделать - это попытаться убедиться в том, что все устройства используют этот режим доступа: дело в том, что приводы сменных накопителей (CD, например) часто по умолчанию, в процессе инсталляции системы, ставятся на всякий случай в режим PIO, что не всегда оправдано. Вы должны отправиться в менеджер устройств (его можно найти в дереве, которое запускается, к примеру, через нажатие правой кнопкой мыши на "мой компьютер", пункт manage), найти там IDE ATA/ATAPI контроллеры и проверить установки для обоих каналов контроллера (Primary/Secondary IDE channel). В закладке Advanced Settings вы сможете как проконтролировать текущий режим работы устройства, так и поставить нужный вам режим - DMA if available (DMA, если возможно), если он вдруг не установлен.

Windows NT4.0

Пользователям этой ОС в подавляющем большинстве случаев придется совершить более активные действия для того, чтобы получить работу в режиме BM. Стандартные драйверы систем NT с пакетом обновления SP3 и выше уже имеют поддержку BM для контроллеров Intel PIIX3 и выше (применяются в чипсетах линии i430/i440), но, к сожалению, в подавляющем числе систем не могут ее самостоятельно использовать из-за неудачной процедуры автоматического определения этого режима. Определить, работает ли BM в вашей системе или нет, вам поможет, например, программа ConfigNT (http://confignt.hardware.ru/), которая покажет текущие режимы работы устройств. Если вы увидите, что BM на вашем контроллере не работает, у вас есть два варианта действий: либо включить этот режим насильно (прямо в той же программе - только для чипсетов Intel i430/i440, очень, впрочем, распространенных), либо поставить драйверы с поддержкой BM.

Пользователям остальных чипсетов (например, от той же VIA или новой линейки Intel i8xx) придется установить специальные драйверы с поддержкой Bus Mastering.

Внимание 1: И тот, и другой вариант теоретически может привести к тому, что ваша система по каким-либо причинам не загрузится, и это будет очень сложно восстановить. Опытным пользователям, которые знают, что делать в этом случае, могу посоветовать на всякий случай создать диск аварийного восстановления (команда rdisk /s), а вообще могу утешить тем, что мне еще ни разу не встречалась ситуация, когда после включения режима BM тем или иным способом система не загрузилась. Если драйвер обнаружит, что BM на вашей системе все-таки нет, он просто будет продолжать работать в обычном режиме.

Внимание 2: Имейте в виду, что старые драйвера BM под NT4.0 (например, от Triones) или старые же драйверы Intel не умеют работать с накопителями объемом более 8 Гбайт. Установка таких драйверов может обернуться катастрофой - например, тома NTFS, имеющие области, выходящие за 8 Гбайт от начала диска, имеют шанс быть необратимо поврежденными, так как система будет проставлять "сбойные" кластеры даже при попытках чтения с недоступных областей, что приведет к потере ваших данных. Категорически рекомендую пользоваться драйверами, выпущенными хотя бы в 1999 году, для чипсетов Intel - версией 4 и выше (первая цифра номера версии).

Другие ОС

К счастью, другие современные операционные системы (Linux, FreeBSD, BeOS и т.д.) имеют более внятную поддержку Bus Mastering. Все эти системы, а вернее их стандартные драйверы (последних версий систем), имеют поддержку Bus Mastering для практически всех контроллеров Intel (а некоторые - и для VIA) и сами используют все устройства в наиболее оптимальном режиме. Пользователи систем Unix, например, смогут убедиться в этом, проследив за сообщениями, которые выдает драйвер при загрузке (если, конечно, их система выдает эту информацию - Unix можно сконфигурировать как угодно). BeOS включает данный режим по умолчанию, так что иногда даже приходится решать противоположную задачу: выключать его вручную (если возникают проблемы с загрузкой системы). С IDE-контроллерами (материнскими платами) других производителей, отличных от Intel и VIA, дело обстоит несколько хуже, а иногда, к огромному сожалению, и вообще никак - но ответы на эти вопросы вы сможете получить только самостоятельно, изучив вашу ситуацию.

Достаточно свежие драйверы Bus Mastering для всех распространенных чипсетов для систем Windows можно взять по адресу

Установки виртуальной памяти

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

1. Система Windows 95/98/ME имеет по умолчанию динамический файл виртуальной памяти, который изменяет свой размер в соответствии с текущими потребностями системы. Имеет ли смысл вмешиваться в такой режим работы, выставляя минимальный и максимальный размер вручную? Да, какой-то смысл в этом есть. Если вы поставите минимальный размер файла подкачки в районе 200 - 300 Мбайт (максимальный - на ваше усмотрение, но лучше не менее 500 Мбайт), вы избавите систему от ненужных манипуляций по динамическому изменению размера файла. Если после этой процедуры вы еще и дефрагментируете свой диск современным дефрагментатором, который умеет работать с файлом виртуальной памяти, вы получите еще немного быстродействия. Какой минимальный размер файла виртуальной памяти выбрать? Столько, сколько вам не жалко, но более 300 Мбайт, пожалуй, не стоит.

2. Системы Windows NT4.0 и Windows 2000 имеют немножко другую стратегию работы с виртуальной памятью - динамическое изменение размера файла виртуальной памяти хоть и предусмотрено, но не является штатным режимом работы. Какой общий минимальный размер файлов подкачки выбрать? Единственное, что можно сказать наверняка - значение по умолчанию слишком мало для эффективной работы. Обычным системам рекомендую минимум где-то в районе 200 - 300 Мбайт, а сложным компьютерам типа издательских или, к примеру, графических рабочих станций будет не лишним и 500 Мбайт. На максимальный размер тоже рекомендую не скупиться - цифры порядка гигабайта будут в самый раз. Это практически никак не повлияет на работу системы в обычном режиме, но позволит избежать неожиданностей и сбоев в самые ответственные моменты, например во время работы с огромными документами.

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

Имеет ли смысл ставить максимально возможный размер файла подкачки? К сожалению, нет. Если файл вмещает все необходимые данные (т.е. не увеличивается в процессе работы), то быстродействие системы максимально и поднять его увеличением размера файла не получится. Да, с увеличением файла виртуальной памяти пойдут в ход какие-то эффекты, влияющие на быстродействие системы подкачки, но они будут как за, так и против, и на практическое быстродействие хоть сколь заметным образом влиять не будут.

Где и как размещать файл подкачки?

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