27.11.2014 Views

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

unixoid<br />

ФАЙЛОВАЯ СИСТЕМА EXT4 И ТЕСТЫ BONNIE++<br />

ФАЙЛОВАЯ СИСТЕМА EXT4 И ТЕСТЫ IOZONE<br />

сложнейших правил обработки пакетов. Приведенный<br />

автором проекта код фильтрации<br />

исходящего трафика выглядит так:<br />

Пример конфигурационного<br />

файла nftables<br />

include "ipv4-filter"<br />

chain filter output {<br />

ct state established,related<br />

accept<br />

tcp dport 22 accept<br />

counter drop<br />

}<br />

А способ инкрементального добавления<br />

правил очень похож на то, как это делается в<br />

OpenBSD:<br />

# nft add rule output tcp dport 22<br />

log accept<br />

Генерируемый на выходе псевдокод прост<br />

и прямолинеен. Львиную долю работы по<br />

проверке правил возложили на компилятор<br />

nft. Это позволило существенно сократить код<br />

фильтрации, работающий внутри ядра. Теперь<br />

он выполняет только базовый набор действий,<br />

таких как разбор пакетов, сравнение данных<br />

и т.д.<br />

В отличие от iptables, утилита nft не так тесно<br />

связана с ядром и представляет собой всего<br />

лишь фронтенд для генерации псевдокода или<br />

инкрементального добавления новых правил.<br />

Возможность создания новых фронтендов,<br />

XÀÊÅÐ 07 /127/ 09<br />

обладающих совершенно иным синтаксисом<br />

правил, вытекает из общей архитектуры<br />

системы.<br />

ОЧЕРЕДНОЕ РАСШИРЕНИЕ<br />

Для Linux было создано и портировано из<br />

других операционок огромное количество<br />

файловых систем, но только одна из них<br />

может гордо носить имя официальной — это<br />

файловая система ext3.<br />

ФС ext3 — уже третья эволюция стандартной<br />

файловой системы Linux. До нее была ext2,<br />

в основном отличающаяся отсутствием<br />

журнала. Еще раньше была ext, первая<br />

файловая система, созданная специально<br />

для Linux. Однако надолго в ядре она<br />

не задержалась (этому способствовали<br />

многочисленные ограничения, такие как<br />

максимальный размер в 2 Гб и отсутствие<br />

поддержки дат модификации файлов).<br />

Четвертая реинкарнация файловой<br />

системы ext (июнь 2006) стала следствием<br />

требований разработчиков — новые<br />

функции и возможности могли нарушить<br />

обратную совместимость или сделать<br />

файловую систему нестабильной и слишком<br />

сложной для поддержки. Спустя 5 месяцев<br />

предварительная версия ext4 появляется в<br />

ядре Linux 2.6.19, помеченная как «экспериментальная<br />

разработка». Допиливание<br />

файловой системы продолжалось больше<br />

года, и только с выходом ядра версии 2.6.28<br />

(25 декабря) ext4 становится стабильной<br />

и рекомендованной для повсеместного<br />

тестирования.<br />

Из-за отсутствия требований к обратной<br />

совместимости разработчики ext4 смогли<br />

применить самые изощренные техники для<br />

повышения производительности, надежности<br />

и расширяемости файловой системы.<br />

Далее мы рассмотрим все ключевые новшества<br />

ext4, которые позволили ей стать одной<br />

из самых производительных и богатых<br />

на функциональность файловых систем:<br />

• 48-битная адресация блоков. Размер<br />

файловой системы ext3 ограничен 16<br />

терабайтами, а размер файла — двумя,<br />

что может быть недостаточно для больших<br />

хранилищ данных и систем потокового вещания<br />

мультимедиа. Файловая система ext4<br />

использует 48-битную адресацию блоков и<br />

доводит эти ограничения до фантастических<br />

в наши дни 1 экзабайта (1 Эб = 1048576<br />

Тб) и 16 Тб соответственно.<br />

• Механизм пространственной записи<br />

файлов. Файловая система ext3 использует<br />

традиционную методику слежения<br />

за блоками данных файлов, основанную<br />

на карте соответствия. Последняя представляет<br />

собой закрепленный за файлом<br />

список адресов блоков файловой системы,<br />

хранящих информацию этого файла. Во<br />

время чтения или записи в файл файловая<br />

система проходит по карте соответствия в<br />

поисках нужного блока. Недостаток: низкая<br />

эффективность. Карта соответствия большого<br />

файла может содержать от нескольких<br />

десятков до сотен тысяч записей, проход по<br />

которым отнимет значительное время. ФС<br />

ext4 использует более современный подход.<br />

Он основан на так называемых экстентах,<br />

которые представляют собой непрерывную<br />

последовательность блоков, закрепленных<br />

за файлом. Там, где ext3 требовалась карта<br />

соответствия с 10 тысячами элементов,<br />

ext4 может хранить информацию о закрепленных<br />

за файлом блоках всего лишь в<br />

нескольких экстентах. Благодаря этому механизму<br />

ext4 стала более производительной<br />

и менее подверженной фрагментации.<br />

• Многоблочное распределение. Перед<br />

записью данных на диск файловая система<br />

должна найти нужное количество свободных<br />

блоков для размещения данных. ФС ext3<br />

использует для этого технику поблочного<br />

распределения, когда за один проход может<br />

быть найден только один свободный блок.<br />

Эта особенность делает ext3 более медленной<br />

в сравнении с другими современными<br />

файловыми системами. ФС ext4 хранит не<br />

077

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!