о файловой системе
Jan. 4th, 2006 07:15 pmНу хорошо. Может она, иерархическая файловая система то есть, действительно не нужна?
Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?
Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.
Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").
Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.
Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.
Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).
"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.
Не будет работать? Слишком сложно? Слишком неинтуитивно?
Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?
Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.
Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").
Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.
Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.
Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).
"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.
Не будет работать? Слишком сложно? Слишком неинтуитивно?
no subject
Date: 2006-01-04 06:36 pm (UTC)Плюс к этому, существуют ещё решения для data warehousing (как правило так или иначе основанные на CAS и/или БД), а также решения для данных в развитии - от простой поддержки версий типа ClearCase, до многоуровневых решений класса ILM (Information Lifecycle Management), где информация в зависимости от её текущего состояния может храниться на том или ином носителе.
no subject
Date: 2006-01-04 06:40 pm (UTC)no subject
Date: 2006-01-04 06:52 pm (UTC)Дома, за исключением совсем экстремальных случаев, лучше всего иметь самое стандартное решение из всех возможных.
no subject
Date: 2006-01-04 06:59 pm (UTC)no subject
Date: 2006-01-04 07:15 pm (UTC)Если речь идёт о Linux, то я бы ставил кондовую ext3, возможно с включённой журнализацией. Но это чисто моё предпочтение - я имел довольно много геморроя с ReiserFS в своё время и с тех пор её не люблю.
Что сегодня ставят на FreeBSD я не знаю, в своё время тривиальная FFS была вполне пригодна к употреблению.
no subject
Date: 2006-01-04 07:42 pm (UTC)Речь не идет о выборе между ReiserFS и ext3, а о файловой системе, видимой на уровне пользователя KDE/GNOME/whatever. В общем-то, на сегодняшний день имеется только лобовое отображение иерархической структуры, существующей в ОС, с несущественными примочками. Все остальное — в лучшем случае альфа. Но, может быть, есть какие-то интересные перспективные разработки? Чисто побаловаться.
no subject
Date: 2006-01-04 08:40 pm (UTC)no subject
Date: 2006-01-04 11:41 pm (UTC)Я понимаю, что существуют разные подобные решения для специализированных файловых систем, т.е. для решения какой-то конкретной задачи хранения данных. Мне интересно разобраться, реально ли сделать так, чтобы такая система полностью заменила привычную иерархическую систему в general-purpose OS. Реально не с технологической точки зрения, а с точки зрения user experience, так сказать.
no subject
Date: 2006-01-05 01:47 am (UTC)Собственно, всё тот же Парк пишет об этом довольно регулярно, вот здесь хотя бы: http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=ce2d1717-f2dd-4065-8c86-0780f8d63be3
Насколько он близок к истине покажет время.