Топ питань
Часова шкала
Чат
Перспективи
Ext4
З Вікіпедії, вільної енциклопедії
Remove ads
ext4, або Четверта версія розширеної файлової системи, — журнальована файлова система, котра використовується в ОС з ядром Linux. Заснована на файловій системі ext3, котра є файловою системою за замовчуванням в багатьох дистрибутивах.
Вперше експериментальна підтримка ext4 була випущена у вигляді патчу для Linux версій 2.6.19-rc1-mm1 та 2.6.19-rc1-git8 10 жовтня 2006 року програмістом Ендрю Мортоном (англ. Andrew Morton)[3].
11 жовтня 2008 року код був доданий до стабільної версії репозиторію ядра Linux. Версія ядра 2.6.28 вже мала підтримку ext4, та була випущена 25 грудня 2008.
Remove ads
Властивості
Узагальнити
Перспектива
Розміри та обмеження
- розмір файлу до 16 ТБ;
- розмір ФС до 1024 ПБ;
- кількість файлів 4 мільярди;
- необмежена кількість підкаталогів;
- дозволені всі знаки, окрім NUL та /;
- межі дат 14 грудня 1901 — 10 травня 2446;
- мінімальна зміна часу — наносекунда.
Екстенти
Екстент — технологія яка дозволяє більш оптимально виділяти простір для великих файлів, реалізується як ієрархічна структура блоків, в якому inode посилаються на блоки, а ті своєю чергою на безперервну область суміжних блоків для зберігання даних файлу. Використання такого механізму покращило швидкість виділення простору для великих файлів, а також їх видалення.
Зворотна сумісність
В загальному сенсі ext4 зворотно сумісна з ext3 та ext2[4]. Деякий функціонал несумісний з попередніми версіями, наприклад опції: ^extent
, ^flex_bg
, ^huge_file
, ^uninit_bg
, ^dir_nlink
, та ^extra_isize
[5].
Покращені часові позначки
У зв'язку з тим що linux все частіше використовується в інформаційних системах для широкого спектра застосунків, в тому числі там де потрібна висока гранулярність часу, більша ніж 1 секунда, в часових позначках з'явилась підтримка наносекунд. Для реалізації точності структура часу була збільшена на 32 біти, 30 з яких використовується під наносекунди, а ще 2 біти під секунди, таким чином секунди мають 36 біт, і проблема їх переповнення настане у 2446 році[2].
Підтримка квот для проєктів
Підтримку квот на проєкти було додано до ядра Linux 4.4 8 січня 2016 року. Ця функція дозволяє призначати обмеження квоти на диск для певного ідентифікатора проєкту. Ідентифікатор проєкту файлу – це 32-бітне число, яке зберігається в кожному файлі та успадковується всіма файлами та підкаталогами, створеними під батьківським каталогом із призначеним ідентифікатором проєкту. Це дозволяє призначати обмеження квоти для певного дерева підкаталогів незалежно від дозволів доступу до файлів, таких як квоти користувачів і груп, що залежать від UID і GID. Хоча це схоже на квоту каталогу, головна відмінність полягає в тому, що один і той самий ідентифікатор проєкту можна призначити кільком кореневим каталогам, і він не є строго ієрархічним[6].
Прозоре шифрування
Додано в ядро 4.1 в червні 2015 року[7].
Лінива ініціалізація
Цей механізм дозволяє чистити таблицю inode в фоні, пришвидшує ініціалізацію коли створюється файлова система[8]. Доступний з 2010 з версії ядра Linux 2.6.37.[9]
Бар'єри на запис
ext4 за замовчуванням вмикає бар'єри запису. Це гарантує, що метадані файлової системи будуть записані на диск у правильному порядку, навіть при раптовому відключенні живлення. Це може вплинути на продуктивність, особливо для програм, які часто використовують fsync
або створюють і видаляють багато маленьких файлів.
Для дисків що мають для кешу запису резервне живлення відключення бар'єрів (опція 'barrier=0') може покращити продуктивність, але в загальному випадку опція увімкнена, що підвищує надійність[10].
Підтримка ext4 включена до релізу Fedora 9, Ubuntu 9.04 (Jaunty Jackalope), openSUSE 11.2.
Remove ads
Див. також
- Ext3
- ZFS
- Btrfs
- Список файлових систем
- Порівняння файлових систем
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads