Размер файлов и файловой системы

NTFS.

Во-первых, в NTFS значительно – до 2^64 байт (16 экзабайт или 18 446 744 073 709 551 616 байт) – увеличен допустимый раздел файлов и томов. В NTFS для решения проблемы фиксированного размера сектора снова применена концепция кластеров, ранее использованная в файловой системе FAT. Это было сделано для улучшения аппаратной независимости операционной системы Windows при ее использовании с жесткими дисками, изготовленными по другой технологии. Таким образом, была принята точка зрения, что деление диска на секторы размером 512 не всегда является оптимальным. Размер кластера определяется кратным числом единичных блоков жесткого диска. Кроме того, для задания имен файлов используется кодировка Юникод и наряду с длинными именами обеспечена поддержка формата 8.3.

EXT4.

На сегодняшний день максимальный размер файловой системы Ext3 равен 16 терабайтам, а размер файла ограничен 2 терабайтами. В Ext4 добавлена 48-битная адресация блоков, что означает, что максимальный размер этой файловой системы равен одному экзабайту, и файлы могут быть размером до 16 терабайт. 1 EB (экзабайт) = 1,048,576 TB (терабайт), 1 EB = 1024 PB (петабайт), 1 PB = 1024 TB, 1 TB = 1024 GB. Почему 48-битная, а не 64-битная? Имелся ряд ограничений, которые необходимо было бы снять, чтобы сделать Ext4 полностью 64-битной, и такой задачи перед Ext4 не ставилось. Структуры данных в Ext4 проектировались с учётом требуемых изменений, поэтому однажды в будущем поддержка 64 бит в Ext4 появится. Пока же придётся довольствоваться одним экзабайтом.

Примечание: код для создания файловых систем размером более 16 терабайт на момент написания этой курсовой не содержится ни в одном из стабильных релизов e2fsprogs. В будущем он будет добавлен.

Вывод.

Размер ФС NTFS равен 16 экзабайтам, а Ext4 1 экзабайт, но максимальный размер файла, который может хранится в ФС NTFS равен 2 терабайта, а в Ext4 16 терабайт. Из данного сравнения нам видно, что NTFS позволяет нам хранить больше информации, но ограничивает нас в размере самих файлов, а в Ext4 размер самого файла значительно больше, но суммарный объем информации, который может хранится значительно меньше. Так как мы рассматриваем универсальные ОС, и они ориентированы преимущественно на персональные компьютеры, то в нашем случае предпочтительнее будет ФС Ext4.

Структура Файловой системы

NTFS.

Файловая система NTFS, как и FAT, использует кластеры в качестве фундаментальной единицы дискового пространства. В NTFS размер кластера по умолчанию зависит от размера тома. Программа Disk Administrator позволяет устанавливать размер кластера до 4 Кб. Если для форматирования тома NTFS используется программа Format, запускаемая из командной строки, то нужный размер кластера можно указать в качестве параметра этой команды. Допустимые размеры кластеров приведены в следующей таблице:

Форматирование тома для использования файловой системы NTFS приводит к созданию нескольких системных файлов и главной таблицы файлов (Master File Table, MFT). MFT содержит информацию обо всех файлах и папках, имеющихся на томе NTFS.

Основную информацию о томе NTFS содержит загрузочный сектор раздела (Partition Boot Sector), который начинается с сектора 0 и может иметь длину до 16 секторов. Он состоит из двух структур:

- Блока параметров BIOS. Эта структура содержит информацию о строении тома и структурах файловой системы.

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

EXT4.

Если в Ext3 нужно записать на диск новые данные, специальный механизм распределения блоков определяет, какие блоки из числа свободных будут для этого использованы. Проблема в том, что в Ext3 этот механизм распределяет в один присест только один блок (4 килобайта). Это означает, что, если нужно записать, скажем, ранее упомянутые 100 мегабайт данных, нужно будет обратиться к механизму распределения 25600 раз (речь идёт о каких-то 100 мегабайтах!). Мало того, что это неэффективно, это к тому же не позволяет оптимизировать политику распределения, поскольку соответствующий механизм не имеет понятия о реальном объёме данных, подлежащем записи, а знает только об одном-единственном блоке.
Ext4 использует механизм многоблочного распределения (multiblock allocator, mballoc) который позволяет распределить любое количество блоков с помощью единственного вызова и избежать огромных накладных расходов. Благодаря этому производительность существенно вырастает, что особенно заметно при отложенном распределении с использованием экстентов. Эта возможность никак не влияет на формат данных.

Вывод.

Как мы видем в NTFS применяются кластеры, а в Ext4 блоки. Применения блоков при построение ФС увеличивает ее производительность, по сравнению с кластерами. В результате чего Ext4 более производительная ФС, чем NTFS.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: