Windows XP PRO

       

Объем оперативной памяти (кэширование)


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

  • Данные о физическом местоположении всех открытых файлов. Это, прежде всего, позволит обращаться к системным файлам и библиотекам, доступ к которым идет буквально постоянно, без чтения служебной (не относящейся к самим файлам) информации с диска. Это же относится к тем файлам, которые исполняются в данный момент - т.е. к выполняемым модулям (.exe и .dll) активных процессов в системе. В эту категорию попадают также файлы системы, с которыми производится работа (прежде всего реестр и виртуальная память, различные .ini файлы, а также файлы документов и приложений).
  • Наиболее часто используемые каталоги. К таковым можно отнести рабочий стол, меню "пуск", системные каталоги, каталоги кэша интернета, и т.п.
  • Данные о свободном месте диска - т.е. та информация, которая позволит найти место для сохранения на диск новых данных.

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

  • FAT16 имеет очень мало данных, отвечающих за организацию файловой системы. Из служебных областей можно выделить только саму область FAT, которая не может превышать 128 Кбайт (!) - эта область отвечает и за поиск фрагментов файлов, и за поиск свободного места на томе. Каталоги системы FAT также очень компактны. Общий объем памяти, необходимый для предельно эффективной работы с FAT-ом, может колебаться от сотни килобайт и до мегабайта-другого - при условии огромного числа и размера каталогов, с которыми ведется работа.
  • FAT32 отличается от FAT16 лишь тем, что сама область FAT может иметь более внушительные размеры. На томах порядка 5 - 10 Гбайт область FAT может занимать объем в несколько Мбайт, и это уже очень внушительный объем, надежно кэшировать который не представляется возможным. Тем не менее, область FAT, а вернее те фрагменты, которые отвечают за местоположение рабочих файлов, в подавляющем большинстве систем находятся в памяти машины - на это расходуется порядка нескольких Мбайт оперативной памяти.
  • NTFS, к сожалению, имеет гораздо большие требования к памяти, необходимой для работы системы. Прежде всего, кэширование сильно затрудняет большие размеры каталогов. Размер одних только каталогов, с которыми активно ведет работу система, может запросто доходить до нескольких Мбайт и даже десятков Мбайт! Добавьте к этому необходимость кэшировать карту свободного места тома (сотни Кбайт) и записи MFT для файлов, с которыми осуществляется работа (в типичной системе - по 1 Кбайт на каждый файл). К счастью, NTFS имеет удачную систему хранения данных, которая не приводит к увеличению каких-либо фиксированных областей при увеличении объема диска. Количество данных, с которым оперирует система на основе NTFS, практически не зависит от объема тома, и основной вклад в объемы данных, которые необходимо кэшировать, вносят каталоги. Тем не менее, уже этого вполне достаточно для того, чтобы только минимальный объем данных, необходимых для кэширования базовых областей NTFS, доходил до 5 - 8 Мбайт.


К сожалению, можно с уверенностью сказать: NTFS теряет огромное количество своеготеоретического быстродействия из-занедостаточного кэширования. На системах,имеющих менее 64 Мбайт памяти, NTFSпросто не может  оказаться быстрееFAT16 или FAT32. Единственное исключение изэтого правила - диски FAT32, имеющие объемдесятки Гбайт (я бы лично серьезно опасалсядисков FAT32 объемом свыше, скажем, 30 Гбайт). Востальных же случаях - системы с менее чем 64мегабайтами памяти просто обязаны работатьс FAT32 быстрее.

Типичный в настоящее время объем памяти в 64Мбайта, к сожалению, также не даетвозможности организовать эффективнуюработу с NTFS. На малых и средних дисках (до 10Гбайт) в типичных системах FAT32 будетработать, пожалуй, немного быстрее.Единственное, что можно сказать по поводубыстродействия систем с таким объемомоперативной памяти - системы, работающие сFAT32, будут гораздо сильнее страдать отфрагментации, чем системы на NTFS. Но еслихотя бы изредка дефрагментировать диски, тоFAT32, с точки зрения быстродействия, являетсяпредпочтительным вариантом. Многие люди,тем не менее, выбирают в таких системах NTFS -просто из-за того, что это даст некоторыедовольно важные преимущества, тогда кактипичная потеря быстродействия не оченьвелика.

Системы с более чем 64 Мбайтами, аособенно - со 128 Мбайт и более памяти, смогутуверенно кэшировать абсолютно всё, чтонеобходимо для работы систем, и вот на такихкомпьютерах NTFS, скорее всего, покажет болеевысокое быстродействие из-за болеепродуманной организации данных.


Содержание раздела