Блочное перераспределение

Поделись знанием:
(перенаправлено с «Упаковка хвостов»)
Перейти к: навигация, поиск

Блочное перераспределение — способность некоторых (ReiserFS, Reiser4) компьютерных файловых систем, позволяющая объединить несколько небольших или распределённых единиц в один блок, таким образом обеспечивая более эффективное использование дискового пространства (которое в противном случае было бы утеряно), уменьшается фрагментация и предотвращается возникновение «хвостов» у данных.[1]

В файловых системах не подверженных фрагментации, эту функцию также называют tail merging(слиянием хвостов) или tail packing(упаковкой хвостов) так как обычно блок данных упаковывается в место которое занимал бы «хвост», последние пустые блоки, или хвосты нескольких мелких файлов, которые (файлы) упаковываются в один блок.





Обоснование

Файловая система традиционно разделяет диск на одинаковые по размеру блоки для упрощения её конструкции и ограничения фрагментации. Размеры блоков, как правило, кратны 512 в связи с размером дисковых секторов. Некоторые традиционные файловые системы распределяют файлы только по целым блокам, где каждый блок отнесён только к одному файлу. Но так как размеры файлов часто не кратны размеру блока файловой системы, эта конструкция по сути приводит к появлению в последних блоках файлов хвостов которые занимают только часть блока, что называется внутренней фрагментацией. Это пустое место может быть значительным, если файловая система хранит много маленьких файлов, размер которых может стать критическим при попытке использовать большие размеры блоков для повышения производительности. В UFS и других производных UNIX, подобные файловые системы поддерживают упаковку хвостов, что значительно уменьшает этот эффект.

Схема перераспределения

Перераспределение адресов блоков решает проблему потери места, разделяя хвост блока, что позволяет сохранить фрагменты из других файлов.

Некоторые схемы перераспределения могут выполнять распределение на уровне байтов. Большинство схем разделяет сектор на более мелкие части. К примеру, если файл размером 38 Кб будет сохранён в файловой системе использующей сектора размером 32 Кб, файл как правило, займёт два блока. В случае использования секторов размером 64 Кб, для хранения, останется 26 Кб неиспользуемого пространства — хвост. В случае 8 килобайтной схемы перераспределения (в файловой системе с размером сектора равным 64 Кб, файл будет занимать всего 6 Кб второго блока, оставив 2 Кб (из 8 Кб под хвост и 24 Кб свободного пространства для других файлов).

Упаковка хвостов

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

Эффективность

В некоторых случаях, когда большинство файлов меньше, чем половина размера блока, например, в папке с большим количеством маленьких файлов (исходный код или несколько растровых изображений), упаковка хвостов может значительно увеличить эффективность хранения (более чем в два раза), по сравнению с файловыми системами без упаковки хвостов.[2]

Упаковка хвостов не только приводит к сохранению места на диске, но также может увеличивать производительность, так как из-за более плотного распределения переменных, нужно считывать меньше данных, это приводит к увеличению эффективности кэша. Однако, эти преимущества могут быть не эффективны, ввиду увеличения сложности реализации.[3]

По состоянию на 2009 год, наиболее широко используемые файловые системы с поддержкой блочного перераспределения это Btrfs, ReiserFS, Reiser4, FreeBSD UFS2[4] (где они более известны под названием «уровни фрагментов»).

Файловые системы, не использующие функцию блочных перераспределений, используют пространство не так эффективно, как файловые системы использующие эту функцию - они имеют признаки файловых архивов: содержат в одном куске данных, 1 или несколько файлов, имеют средства обнаружения и коррекции ошибок (Btrfs CRC32), контрольные суммы данных для проверки их целостности (Btrfs CRC32).

См. также

Напишите отзыв о статье "Блочное перераспределение"

Примечания

  1. [www.google.com/patents/US6041407 U.S. Patent 6 041 407] (Fundamental patent)
  2. Hans Reiser. [www.namesys.com/disk_usage.html Hard Disk usage, ReiserFS and Ext2fs] (2001). Проверено 14 декабря 2006. [www.webcitation.org/6B2TVbq91 Архивировано из первоисточника 29 сентября 2012].(недоступная ссылка)
  3. Hans Reiser. [www.namesys.com/X0reiserfs.html ReiserFS file system design] (2001). Проверено 14 декабря 2006. [www.webcitation.org/6B2TW2Tqa Архивировано из первоисточника 29 сентября 2012].(недоступная ссылка)
  4. Hervey, Allen [www.pacnog.org/pacnog1/day1/freebsd/intro-freebsd-additional-topics.pdf Introduction to FreeBSD, PacNOG I Workshop, Additional Topics, UFS2 and Soft Updates make for a powerful combination]. PacNOG I (20 июня 2005). Проверено 22 июля 2012. [www.webcitation.org/6B2TWSlyE Архивировано из первоисточника 29 сентября 2012].

Ссылки

  • Daniel Robbins. [www-128.ibm.com/developerworks/library/l-fs2.html Advanced filesystem implementor's guide, Part 2]. Common threads, IBM (1 августа 2001). Проверено 22 июля 2012. [www.webcitation.org/6B2TX4VrJ Архивировано из первоисточника 29 сентября 2012].

Отрывок, характеризующий Блочное перераспределение

Окончив прическу, Наташа в коротенькой юбке, из под которой виднелись бальные башмачки, и в материнской кофточке, подбежала к Соне, осмотрела ее и потом побежала к матери. Поворачивая ей голову, она приколола току, и, едва успев поцеловать ее седые волосы, опять побежала к девушкам, подшивавшим ей юбку.
Дело стояло за Наташиной юбкой, которая была слишком длинна; ее подшивали две девушки, обкусывая торопливо нитки. Третья, с булавками в губах и зубах, бегала от графини к Соне; четвертая держала на высоко поднятой руке всё дымковое платье.
– Мавруша, скорее, голубушка!
– Дайте наперсток оттуда, барышня.
– Скоро ли, наконец? – сказал граф, входя из за двери. – Вот вам духи. Перонская уж заждалась.
– Готово, барышня, – говорила горничная, двумя пальцами поднимая подшитое дымковое платье и что то обдувая и потряхивая, высказывая этим жестом сознание воздушности и чистоты того, что она держала.
Наташа стала надевать платье.
– Сейчас, сейчас, не ходи, папа, – крикнула она отцу, отворившему дверь, еще из под дымки юбки, закрывавшей всё ее лицо. Соня захлопнула дверь. Через минуту графа впустили. Он был в синем фраке, чулках и башмаках, надушенный и припомаженный.
– Ах, папа, ты как хорош, прелесть! – сказала Наташа, стоя посреди комнаты и расправляя складки дымки.
– Позвольте, барышня, позвольте, – говорила девушка, стоя на коленях, обдергивая платье и с одной стороны рта на другую переворачивая языком булавки.
– Воля твоя! – с отчаянием в голосе вскрикнула Соня, оглядев платье Наташи, – воля твоя, опять длинно!
Наташа отошла подальше, чтоб осмотреться в трюмо. Платье было длинно.
– Ей Богу, сударыня, ничего не длинно, – сказала Мавруша, ползавшая по полу за барышней.
– Ну длинно, так заметаем, в одну минутую заметаем, – сказала решительная Дуняша, из платочка на груди вынимая иголку и опять на полу принимаясь за работу.
В это время застенчиво, тихими шагами, вошла графиня в своей токе и бархатном платье.
– Уу! моя красавица! – закричал граф, – лучше вас всех!… – Он хотел обнять ее, но она краснея отстранилась, чтоб не измяться.
– Мама, больше на бок току, – проговорила Наташа. – Я переколю, и бросилась вперед, а девушки, подшивавшие, не успевшие за ней броситься, оторвали кусочек дымки.
– Боже мой! Что ж это такое? Я ей Богу не виновата…
– Ничего, заметаю, не видно будет, – говорила Дуняша.
– Красавица, краля то моя! – сказала из за двери вошедшая няня. – А Сонюшка то, ну красавицы!…
В четверть одиннадцатого наконец сели в кареты и поехали. Но еще нужно было заехать к Таврическому саду.
Перонская была уже готова. Несмотря на ее старость и некрасивость, у нее происходило точно то же, что у Ростовых, хотя не с такой торопливостью (для нее это было дело привычное), но также было надушено, вымыто, напудрено старое, некрасивое тело, также старательно промыто за ушами, и даже, и так же, как у Ростовых, старая горничная восторженно любовалась нарядом своей госпожи, когда она в желтом платье с шифром вышла в гостиную. Перонская похвалила туалеты Ростовых.
Ростовы похвалили ее вкус и туалет, и, бережа прически и платья, в одиннадцать часов разместились по каретам и поехали.


Наташа с утра этого дня не имела ни минуты свободы, и ни разу не успела подумать о том, что предстоит ей.
В сыром, холодном воздухе, в тесноте и неполной темноте колыхающейся кареты, она в первый раз живо представила себе то, что ожидает ее там, на бале, в освещенных залах – музыка, цветы, танцы, государь, вся блестящая молодежь Петербурга. То, что ее ожидало, было так прекрасно, что она не верила даже тому, что это будет: так это было несообразно с впечатлением холода, тесноты и темноты кареты. Она поняла всё то, что ее ожидает, только тогда, когда, пройдя по красному сукну подъезда, она вошла в сени, сняла шубу и пошла рядом с Соней впереди матери между цветами по освещенной лестнице. Только тогда она вспомнила, как ей надо было себя держать на бале и постаралась принять ту величественную манеру, которую она считала необходимой для девушки на бале. Но к счастью ее она почувствовала, что глаза ее разбегались: она ничего не видела ясно, пульс ее забил сто раз в минуту, и кровь стала стучать у ее сердца. Она не могла принять той манеры, которая бы сделала ее смешною, и шла, замирая от волнения и стараясь всеми силами только скрыть его. И эта то была та самая манера, которая более всего шла к ней. Впереди и сзади их, так же тихо переговариваясь и так же в бальных платьях, входили гости. Зеркала по лестнице отражали дам в белых, голубых, розовых платьях, с бриллиантами и жемчугами на открытых руках и шеях.
Наташа смотрела в зеркала и в отражении не могла отличить себя от других. Всё смешивалось в одну блестящую процессию. При входе в первую залу, равномерный гул голосов, шагов, приветствий – оглушил Наташу; свет и блеск еще более ослепил ее. Хозяин и хозяйка, уже полчаса стоявшие у входной двери и говорившие одни и те же слова входившим: «charme de vous voir», [в восхищении, что вижу вас,] так же встретили и Ростовых с Перонской.
Две девочки в белых платьях, с одинаковыми розами в черных волосах, одинаково присели, но невольно хозяйка остановила дольше свой взгляд на тоненькой Наташе. Она посмотрела на нее, и ей одной особенно улыбнулась в придачу к своей хозяйской улыбке. Глядя на нее, хозяйка вспомнила, может быть, и свое золотое, невозвратное девичье время, и свой первый бал. Хозяин тоже проводил глазами Наташу и спросил у графа, которая его дочь?