Читаем Вопросы истории: UNIX, Linux, BSD и другие полностью

По собственному же опыту – банальное выключение питания в ходе обычной пользовательской работы, как правило, безболезненно переносят все журналируемые файловые системы, кроме, в некоторых случаях, XFS, о которой скоро пойдёт речь.

Тем не менее, как я уже сказал, репутация часто оказывается самым весомым фактором – и на протяжении долгого времени ext3 предлагалась по умолчанию инсталляторами большинства дистрибутивов.

Ныне, однако, ext3 почти вышла из употребления. Если ext2 всё ещё нередко применяется в ряде специальных случаев (например, для носителей небольшого объёма или там, где журналирование в принципе не имеет смысла), то в амплуа файловой системы общего назначения нынче выступает ext4. Она была разработана Эндрю Мортоном (Andrew Morton) в качестве экспериментальной в 2006 году, и в 2008 принята в ядро Linux'а как стабильная. С тех пор она развивается и поддерживается командой разработчиков, из которых наиболее известен Теодор Цо (Theodore Ts'o).

Подобно ext3, ext4 представляет собой дальнейшее развитие линии ext2, но уже без сохранения совместимости на уровне формата и инструментария. В ext4 предусматривается те же три режима журналирования, что и в ext3, с теми же названиями и особенностями. Однако в ней добавлен и четвёртый – режим работы без журнала вообще. Считается, что в этом режиме она наконец смогла отобрать у ext2 лавры рекордсмена по интегральному быстродействию.

Однако я забежал вперёд – ext4 не стала ещё достоянием истории и, похоже, не собирается это делать в обозримом будущем. Потому что следующей журналируемой системой по очередности появления в Linux'е стала XFS. Хотя создана она была много раньше – в 1994 году, усилиями фирмы Silicon Graphics, для её собственного варианта UNIX'а – IRIX. И была одной из первых 64-разрядных файловых систем.

К весне 2001 года относится открытие исходников XFS под лицензией GPL и разработка Linux-реализации. Долгое время её поддержка ядром этой ОС обеспечивалась только сторонними патчами – официально она была включена в ядро только в 2004 году. Да и после этого какой-то период по умолчанию поддерживалась не всеми дистрибутивами.

Но постепенно XFS утвердилась в Linux'е в качестве стандартной, чему способствовали её особенности, хорошо вписавшиеся в изменившиеся реалии окружающего мира. Если ReiserFS лучше всего показывала себя в обращении с маленькими файлами, то «коронкой» XFS была работа с очень большими файлами на очень больших файловых системах. Что и не удивительно, если вспомнить о её происхождении: фирма Silicon Graphics (ныне SGI) издревле была ориентирована на профессиональные средства в области графики и мультимедии, данные которых требовали большого объёма дисковой памяти и организации её в виде больших файлов. К середине нулевых годов это оказалось востребованным и в Linux'е.

Однако это было не единственной причиной распространения XFS: она (с некоторыми оговорками, о которых я скажу чуть позже) отличалась также впечатляющей производительностью и высокой надёжностью. Причём в полном блеске показывала своё быстродействие на многодисковых устройствах (multiple devices), то есть на аппаратных и программных RAID'ах, которые тоже получили широкое распространение в это время.

Однако, говоря ранее о быстродействии и надёжности XFS, я не случайно сделал оговорку. Дело в том, что это единственная файловая система, в которой теоретические ожидания (обратная корреляция между этими факторами) воплощается в действительность. В ранних версиях её Linux-реализации, которые действительно были завидно быстры, имело место так называемое «обнуление файлов» при сбое питания.

Затем это безобразие пытались побороть, включив в XFS по умолчанию опцию write barriers, от сей напасти избавляющую. Что, однако, привело к падению быстродействия на некоторых операциях. В частности, удаление большого количества маленьких файлов (а в работе с маленькими файлами XFS не блистала и без этой опции) стало происходить просто удручающе медленно.

При этом проблема потери данных при сбоях до конца решена не была, хотя и не стояла так остро. Однако, с учётом и старых вопспоминаний, отношение к XFS местами было настороженным. Хотя эта система уже давно предлагается по умолчанию в инсталляторах некоторых дистрибутивов, причём отнюдь не самых «мультимедийных» или «промышленных», таких как Zenwalk или Salix.

В итоге, однако, работа с мелкими файлами была оптимизирована за счёт заимствования из ext3 отложенного журналирования – хотя реальное воплощение этого ожидается только в светлом будущем ядра Linux версии от 3.3. Что же до потери данных – это решается ещё проще: разработчики предлагают больше внимания уделять состоянию аппаратуры, в частности, и приобретению источников бесперебойного питания, и поменьше слушать страшных баек об исчезнувших в результате сбоя непреходящих ценностей.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT