Jump to content

JFS (файловая система)

(Перенаправлено с JFS2 )

JFS
Разработчик(и) IBM и др.
Полное имя Журналируемая файловая система IBM
Представлено 1990 и 1999 годы с JFS1 в AIX 3.1 и JFS в OS/2 4.5.
Идентификаторы разделов 0x35 ( МБР )
Структуры
Содержимое каталога B+ дерево
Распределение файлов Растровое изображение/ экстенты
Пределы
Максимальный размер тома 32 × 2 50 байты (32 ПиБ )
Максимальный размер файла 4 × 2 50 байты (4 ПиБ)
Макс нет. файлов Предел не определен
Максимальная длина имени файла 255 байт
Разрешенное имя файла
персонажи
Любой Юникод , кроме NUL
Функции
Даты записи Модификация (mtime), модификация атрибута (ctime), доступ (atime)
Разрешение даты 1 нс
Вилки Да
Файловая система
разрешения
Разрешения Unix, ACL
Прозрачный
сжатие
Только в JFS1 на AIX
Прозрачный
шифрование
Нет (предоставляется на уровне блочного устройства)
Дедупликация данных Нет
Другой
Поддерживается
операционные системы
AIX, OS/2, Linux , eComStation , ArcaOS

Журналируемая файловая система ( JFS ) — это 64-битная журналируемая файловая система, созданная IBM . Существуют версии для AIX , OS/2 , eComStation , ArcaOS и Linux операционных систем . Последний доступен как бесплатное программное обеспечение на условиях GNU General Public License (GPL). HP-UX имеет другую файловую систему под названием JFS, которая на самом деле является OEM-версией Veritas Software от VxFS .

В операционной системе AIX существует два поколения JFS, которые называются JFS ( JFS1 ) и JFS2 соответственно. [1]

от IBM JFS изначально была разработана для 32-битных систем. JFS2 был разработан для 64-битных систем. [2]

В других операционных системах, таких как OS/2 и Linux, существует только второе поколение, которое называется просто JFS . [3] Не следует путать его с JFS в AIX , который на самом деле относится к JFS1.

IBM представила JFS вместе с первым выпуском AIX версии 3.1 в феврале 1990 года. Эта файловая система, которая теперь называется JFS1 в AIX , была основной файловой системой для AIX в течение следующего десятилетия и была установлена ​​в тысячах или миллионах систем AIX клиентов. Исторически файловая система JFS1 очень тесно связана с диспетчером памяти AIX. [1] это типичная конструкция файловой системы, поддерживающей только одну операционную систему. JFS была одной из первых файловых систем, поддерживающих ведение журнала.

В 1995 году начались работы по улучшению файловой системы, чтобы сделать ее более масштабируемой и поддерживать машины с более чем одним процессором. Другой целью было создание более портативной файловой системы, способной работать в нескольких операционных системах. После нескольких лет проектирования, кодирования и тестирования новая JFS была впервые выпущена в составе OS/2 Warp Server for eBusiness в апреле 1999 года, а затем в OS/2 Warp Client в октябре 2000 года. В декабре 1999 года появился снимок исходной версии. Исходный код OS/2 JFS был предоставлен сообществу открытого исходного кода , и началась работа по портированию JFS на Linux . Первая стабильная версия JFS для Linux появилась в июне 2001 года. [3] Проект JFS для Linux поддерживается небольшой группой участников, известной как JFS Core Team . [4] Этот выпуск исходных кодов также послужил основой для отчета об обратной версии JFS с открытым исходным кодом для OS/2.

Параллельно с этими усилиями некоторые члены группы разработчиков JFS вернулись в группу разработки операционных систем AIX в 1997 году и начали переносить эту новую исходную базу JFS в операционную систему AIX. вторая журналируемая файловая система — Enhanced Journaled File System (JFS2) . В мае 2001 года для AIX 5L стала доступна [1] [3]

В начале 2008 года высказывались предположения, что IBM больше не заинтересована в поддержке JFS и поэтому ее не следует использовать в производственных средах. [5] Однако Дэйв Клейкамп, член Технологического центра IBM Linux и основной группы JFS, [4] пояснили, что они по-прежнему следят за изменениями в ядре Linux и пытаются исправить потенциальные программные ошибки . Далее он добавил, что некоторые дистрибутивы ожидают от них большего объема ресурсов и предпочитают не поддерживать файловую систему. [6]

В 2012 году TRIM ​​поддержка команды для твердотельных накопителей . в JFS была добавлена [7]

JFS поддерживает следующие функции. [8] [9]

JFS — это журналируемая файловая система . Вместо добавления журналирования в качестве дополнительной функции, как в файловой системе ext3 , оно было реализовано с самого начала. Размер журнала может достигать 128 МБ. JFS регистрирует только метаданные, а это означает, что метаданные останутся согласованными, но пользовательские файлы могут быть повреждены после сбоя или отключения питания. Журналирование JFS похоже на XFS тем, что журналируется только часть индексного дескриптора . [10]

B+ дерево

[ редактировать ]

JFS использует дерево B+ для ускорения поиска в каталогах. JFS может хранить 8 записей каталога в индексном дескрипторе каталога перед перемещением записей в дерево B+. JFS также индексирует экстенты в дереве B+.

Динамическое распределение индексных дескрипторов

[ редактировать ]

JFS динамически выделяет место для дисковых индексных дескрипторов по мере необходимости. Каждый индексный дескриптор имеет размер 512 байт. 32 индексных дескриптора выделены на экстенте размером 16 КБ.

Экстенты

[ редактировать ]

JFS выделяет файлы как экстенты . Экстент представляет собой последовательность агрегатных блоков переменной длины. Экстент может находиться в нескольких группах размещения . Чтобы решить эту проблему, экстенты индексируются в дереве B+ для повышения производительности при обнаружении местоположений экстентов.

Сжатие поддерживается только в JFS1 на AIX и использует вариант алгоритма LZ . Из-за высокой загрузки ЦП свободного пространства и повышенной фрагментации сжатие не рекомендуется использовать только на одной пользовательской рабочей станции или в автономных областях резервного копирования .

Параллельный ввод/вывод (CIO)

[ редактировать ]

JFS обычно применяет к файлам блокировку с общим доступом для чтения и исключительной записью, что позволяет избежать несогласованности данных, но налагает сериализацию записи на уровне файла. Опция CIO отключает эту блокировку. Такие приложения, как реляционные базы данных, которые сами поддерживают согласованность данных, могут использовать эту опцию, чтобы в значительной степени устранить накладные расходы файловой системы. [11]

Группы распределения

[ редактировать ]

JFS использует группы размещения. Группы распределения делят совокупное пространство на фрагменты. Это позволяет JFS использовать политики распределения ресурсов для достижения высокой производительности ввода-вывода. Первая политика — попытаться кластеризовать дисковые блоки и дисковые индексные дескрипторы для связанных данных в одной группе доступности, чтобы добиться хорошей локальности диска. Вторая политика заключается в распределении несвязанных данных по файловой системе в попытке минимизировать фрагментацию свободного пространства. При наличии открытого файла JFS заблокирует группу доступности, в которой находится файл, и позволит только открытому файлу расти. Это уменьшает фрагментацию, поскольку только открытый файл может записывать в группу доступности.

Суперблоки

[ редактировать ]

Суперблок хранит информацию обо всей файловой системе и включает в себя следующие поля:

  • Размер файловой системы
  • Количество блоков данных в файловой системе
  • Флаг, указывающий состояние файловой системы
  • Размеры группы распределения
  • Размер блока файловой системы

В операционной системе Linux JFS поддерживается с помощью модуля ядра (начиная с версии ядра 2.4.18pre9-ac4 ) и дополнительных утилит пользовательского пространства, упакованных под названием JFSutils . Большинство дистрибутивов Linux поддерживают JFS, если только она не удалена специально из-за ограничений места, например, на живых компакт-дисках . [ нужна ссылка ]

Согласно тестам доступных файловых систем для Linux, JFS является быстрой и надежной, с неизменно хорошей производительностью при различных видах нагрузки. [12]

Фактическое использование JFS в Linux встречается редко, поскольку ext4 обычно обеспечивает более высокую производительность. [ нужна ссылка ] . JFS действительно играет нишу в Linux: в отличие от большинства других файловых систем Linux она предлагает опцию монтирования без учета регистра. [13]

Существуют также потенциальные проблемы с JFS, такие как реализация журнальных записей. Их можно отложить до тех пор, пока не появится другой триггер — потенциально на неопределенный срок, что может привести к потере данных в течение теоретически бесконечного периода времени. [14]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с «Мини-часто задаваемые вопросы по JFS» . Проект JFS для Linux.
  2. ^ «IBM JFS и JFS2» . ИБМ.
  3. ^ Jump up to: а б с «Интервью с людьми, стоящими за JFS, ReiserFS и XFS» .
  4. ^ Jump up to: а б «JFS для Linux» . JFS.SourceForge.net . Проверено 26 августа 2020 г.
  5. ^ «Re: что использовать: ext3, JFS, XFS, ReiserFS?» . Архивировано из оригинала 3 марта 2016 года . Проверено 31 марта 2008 г.
  6. ^ SourceForge.net: обсуждение jfs
  7. ^ «Поддержка TRIM для файловой системы JFS» .
  8. ^ «Обзор JFS» . Стив Бест, IBM. Архивировано из оригинала 29 января 2008 года . Проверено 9 января 2008 г.
  9. ^ «Макет JFS» (PDF) . Стив Бест, IBM . Проверено 1 мая 2008 г.
  10. ^ Дэвид Клейкамп. «Журнал ЖФС» . ОСДИР. Архивировано из оригинала 3 марта 2016 года . Проверено 7 июля 2008 г.
  11. ^ «Повышение производительности базы данных с помощью параллельного ввода-вывода AIX — технический документ» (PDF) . IBM.com . ИБМ .
  12. ^ «Сравнение 9-сторонней файловой системы с SSD в ядре Linux 3.17» . Фороникс.com . Проверено 7 июля 2020 г.
  13. ^ «jfs_mkfs: создать раздел в формате JFS — Man Pages Linux (8)» . SysTutorials.com . Проверено 7 июля 2020 г.
  14. ^ Анализ и эволюция журналируемых файловых систем - В. Прабхакаран и другие , 2013-06 гг.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 98ef2236c7f86d2a5f37dfe95f8a58c0__1711999620
URL1:https://arc.ask3.ru/arc/aa/98/c0/98ef2236c7f86d2a5f37dfe95f8a58c0.html
Заголовок, (Title) документа по адресу, URL1:
JFS (file system) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)