JFS
JFS | |
---|---|
Розробник | IBM |
Файлова система | IBM Journaled File System |
Дата представлення | 1990, 1999 (JFS1 для AIX 3.1, а також JFS in OS/2 4.5) |
Мітка тому | 0x35 |
Структура | |
Структура директорій | B+ дерево |
Структура файлів | Bitmap/Екстент |
Обмеження | |
Максимальний розмір файлу | 4 Петабайт |
Максимум файлів | не має обмежень |
Максимальна довжина імені файлу | 255 байт |
Максимальний розмір тому | 32 Петабайт |
Допустимі символи в назвах | Unicode окрім NUL |
Можливості | |
Властивості | mtime, ctime, atime |
Точність збереження дати | 1 наносекунда |
Потоки метаданих | Так |
Права доступу | POSIX, ACL |
Фонове кодування | Ні |
Підтримується ОС | AIX, OS/2, Linux, eComStation[en], ArcaOS[en] |
JFS — журнальована файлова система. Спочатку JFS була розроблена корпорацією IBM для операційної системи AIX. Наступна версія JFS (JFS2 або Enhanced JFS) була розроблена IBM для ОС Warp Server 4.5 for e-Business (Aurora). Пізніше вона була перенесена в IBM AIX та Linux. Мета розробників була забезпечити високу продуктивність, надійність та масштабованість для багатопроцесорних комп'ютерів. Одна з перших файлових систем, яка мала функцію журналювання (метаданих). Націлена на ефективність в обслуговуванні серверів баз даних, має добрі показники при роботі з великими файлами. При роботі з великою кількість малих файлів, відчутна затримка і програє конкурентним файловим системам. За результатами аналізів,[1][2] [Архівовано 21 серпня 2019 у Wayback Machine.][3] [Архівовано 10 жовтня 2019 у Wayback Machine.] також відома відносно меншим споживанням часу процесора.
Наступні особливості вирізняють JFS з-поміж інших систем.[1][2]
JFS — журнальована файлова система, у якій журнал було закладено в дизайні з самого початку (на противагу, наприклад, ext3). Максимальний розмір журналу 128 мегабайт. Журналюються лише метадані, вміст власне файлів не журналюється і може бути втрачений при раптовому краху системи чи втраті живлення. Механізм журналювання схожий на XFS, журналюються лише частини дискових індексів (inode).[3]
Для пришвидшення пошуку у каталогах JFS використовує B+ дерево. У inode можливе збереження до 8 елементів, при перевищенні цієї кількості використовується B+ дерево. JFS також індексує екстенти у B+ дереві.
JFS динамічно виділяє місце для дискових індексів (inode) за потреби. Розмір кожного індекса 512 байт. У 16-кілобайтному екстенті вміщуються 32 індекси.
Файли у JFS організуються у формі екстентів. Екстент — це послідовність (змінної довжини) агрегованих блоків. Екстент може розміщуватися у кількох групах алокації. Екстенти індексуються у B+ дереві, це підвищує швидкодію при пошуку розташування екстентів.
Суперблок файлової системи містить наступні відомості:
- Розмір ФС
- Кількість блоків даних у ФС
- Стан ФС
- Розміри груп алокації
- Розмір блоку файлової системи
- ↑ JFS overview. Steve Best, IBM. Архів оригіналу за 29 січня 2008. Процитовано 9 січня 2008.
{{cite web}}
: Cite має пустий невідомий параметр:|df=
(довідка) - ↑ JFS Layout (PDF). Steve Best, IBM. Архів оригіналу (PDF) за 27 червня 2018. Процитовано 1 травня 2008.
- ↑ David Kleikamp. JFS journal. OSDIR. Архів оригіналу за 3 березня 2016. Процитовано 17 квітня 2018.
- JFS для eComStation [Архівовано 24 лютого 2006 у Wayback Machine.] (рос.)
- Утиліта відновлення файлів JRescuer [Архівовано 16 червня 2008 у Wayback Machine.], див. також [Архівовано 28 вересня 2007 у Wayback Machine.]
- Порівняння JFS та JFS2 в AIX [Архівовано 28 березня 2019 у Wayback Machine.]