JFS

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з 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]

B+ дерево[ред. | ред. код]

Для пришвидшення пошуку у каталогах JFS використовує B+ дерево. У inode можливе збереження до 8 елементів, при перевищенні цієї кількості використовується B+ дерево. JFS також індексує екстенти у B+ дереві.

Динамічне виділення індексів[ред. | ред. код]

JFS динамічно виділяє місце для дискових індексів (inode) за потреби. Розмір кожного індекса 512 байт. У 16-кілобайтному екстенті вміщуються 32 індекси.

Екстенти[ред. | ред. код]

Файли у JFS організуються у формі екстентів. Екстент — це послідовність (змінної довжини) агрегованих блоків. Екстент може розміщуватися у кількох групах алокації. Екстенти індексуються у B+ дереві, це підвищує швидкодію при пошуку розташування екстентів.

Суперблок[ред. | ред. код]

Суперблок файлової системи містить наступні відомості:

  • Розмір ФС
  • Кількість блоків даних у ФС
  • Стан ФС
  • Розміри груп алокації
  • Розмір блоку файлової системи

Примітки[ред. | ред. код]

  1. JFS overview. Steve Best, IBM. Архів оригіналу за 29 січня 2008. Процитовано 9 січня 2008. {{cite web}}: Cite має пустий невідомий параметр: |df= (довідка)
  2. JFS Layout (PDF). Steve Best, IBM. Архів оригіналу (PDF) за 27 червня 2018. Процитовано 1 травня 2008.
  3. David Kleikamp. JFS journal. OSDIR. Архів оригіналу за 3 березня 2016. Процитовано 17 квітня 2018.

Посилання[ред. | ред. код]