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

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

Примітка: код для створення файлових систем розміром більше 16 терабайт на момент написання цієї курсової не міститься ні в одному зі стабільних релізів e2fsprogs. У майбутньому він буде доданий.

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

Структура файлової системи

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

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

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

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

- Блоку параметрів BIOS. Ця структура містить інформацію про будову томи і структурах файлової системи.

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

Якщо в Ext3 потрібно записати на диск нові дані, спеціальний механізм розподілу блоків визначає, які блоки з числа вільних будуть для цього використані. Проблема в тому, що в Ext3 цей механізм розподіляє в один присід тільки один блок (4 кілобайти). Це означає, що, якщо потрібно записати, скажімо, раніше згадані 100 мегабайт даних, потрібно буде звернутися до механізму розподілу 25600 раз (мова йде про якісь 100 мегабайтах!). Мало того, що це неефективно, це до того ж не дозволяє оптимізувати політику розподілу, оскільки відповідний механізм не має поняття про реальний обсязі даних, що підлягає запису, а знає тільки про одне-єдине блоці.
Ext4 використовує механізм багатоблокових розподілу (multiblock allocator, mballoc) який дозволяє розподілити будь-яку кількість блоків за допомогою єдиного виклику і уникнути величезних накладних витрат. Завдяки цьому продуктивність істотно зростає, що особливо помітно при відкладеному розподілі з використанням екстентів. Ця можливість ніяк не впливає на формат даних.

Як ми видем в NTFS застосовуються кластери, а в Ext4 блоки. Застосування блоків при побудова ФС збільшує її продуктивність, в порівнянні з кластерами. В результаті чого Ext4 більш продуктивна ФС, ніж NTFS.

Схожі статті