> man operating_systems
Статья: файловая система BeOS
Андрей Пешеходов продолжает рассматривать популярные и перспективные файловые системы. Свежая статья - о файловой системе BeOS. В материале: архитектура, реализация, алгоритмы. Скачать можно в pdf и odt.

[Прислал fresco]
Roman I Khimov  в  Вторник, 12 Февраль 2008, 09:23  |   Комментарии: 10  |  для печати

Комментарии
Hmmm |12.02.2008 12:19
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Статья интересная но не без недостатков. Иногда автор перевода вставляет свои комментарии не оговаривая этого, ну сложно мне представить, что Dominic Giampaolo мог использовать в качестве примера имя "Василий Пупкин" (стр 14) Это конечно не криминал но таким образом автор перевода соглашается со всеми возможными неточностями оригинала.
Теперь по существу.
В BFS номером inode является адрес содержащего его блока, т.е., в отличие от файловых систем Linux и UNIX вообще (исключая XFS), номер inode однозначно определяет его местоположение на диске.

Уверяю автора, в ext2/ext3 (предполагаю что вообще во всех ФС мамой которых можно считать UFS) зная номер inode и имея информацию из суперблока можно однозначно определить его местоположение на диске.

Хотя может показаться, что операция балансировки дерева требовательна к вычислительным ресурсам системы — это не так, ведь перемещения данных при этом не происходит.

Учим матчасть ибо перемещение данных при балансировке B-дерева происходит, подробно описывать не буду, ознакомится можно например вот тут

Сложность в том, что не существует простого способа определить, какие файлы уже имеют данный атрибут без обхода всех файлов в ФС.

Возможно я невнимательно читал, но индексы тогда зачем?

Возник вопрос, в BeOS нет такого понятия как файл устройства или ссылка на файл?

fresco |13.02.2008 14:40
Комментарии: 19

Зарегистрирован: 21.08.2005 19:42

Уверяю автора, в ext2/ext3 (предполагаю что вообще во всех ФС мамой которых можно считать UFS) зная номер inode и имея информацию из суперблока можно однозначно определить его местоположение на диске.


Ну можно, конечно. Положение таблицы inodes в каждой группе блоков фиксированное. Это понятно. Конечно, координаты inode по его номеру вычисляются дочтаточно просто. Но все таки вычисляются.

Учим матчасть ибо перемещение данных при балансировке B-дерева происходит


Не то имелось в виду. Реальное перемещение -- т.е. изменение одного или нескольких родительских узлов, происходит редко (о вероятности этого события смотрим Кнута, том 3). В целом объем избыточного ввода/вывода в B-дереве относительно plain-файла достаточно невелик. Выигрыш в производительности гораздо больше.

Возможно я невнимательно читал, но индексы тогда зачем?


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

Возник вопрос, в BeOS нет такого понятия как файл устройства или ссылка на файл?


Симлинк есть (см. поле char short_symlink[SHORT_SYMLINK_NAME_LENGTH]; в struct bfs_inode), девайсов нет -- это, все-таки, не UNIX.

Hmmm |13.02.2008 22:25
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

В основном все понятно, однако в Вашем переводе
в отличие от файловых систем Linux и UNIX вообще (исключая XFS), номер inode однозначно определяет его местоположение на диске.

На что я и указал, вычисляется он или нет не суть важно, поскольку есть взаимно однозначно соответствие номера inode и его положения на разделе. А из Вашего перевода следует, что в Unix системах это соответствие не однозначно.

fresco |14.02.2008 10:18
Комментарии: 19

Зарегистрирован: 21.08.2005 19:42

А из Вашего перевода следует, что в Unix системах это соответствие не однозначно.


Принято, поправлю.



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.