Eugene ([info]eros2) wrote,
@ 2007-12-15 13:53:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:os/2, software

OS/2: Extended Attributes
Популярно про использование расширенных атрибутов (Extended Attributes, EA) в OS/2. С картинками.



Вот чего мне действительно не хватает в других операционных системах — так это поддержки и использования расширенных атрибутов (далее EA). (Кстати, в Windows поддержка EA есть, но они там никак не используются!)

Расширенные атрибуты — это данные, связаные с файлом (метаданные). В расширенных атрибутах можно хранить иконку файла, картинку предпросмотра или что-то ещё. Важным свойством расширенных атрибутов является их привязанность к файлу. При копировании или архивации EA копируются или архивируются вместе с файлом.[1]

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


Теперь файл с иконкой.


Если его заархивировать — EA тоже будут заархивированы вместе с файлом.


Полученный zip-файл я могу, к примеру, отправить по электронной почте, и когда получатель распакует его и откроет папку с этим файлом — он увидит ту иконку, которую я назначил этому файлу. (Если, конечно, получатель использует OS/2. ;)

Моя качалка PM Downloader скачав файл, записывает в EA ссылку и время скачивания, так что потом, при желании, можно найти откуда и когда был скачан файл.


Другая программа, просмотрщик документов Lucide, сохраняет в EA эскиз первой страницы документа.


...

А что у нас в этом отношении с Windows?
Надо заметить, что версии Windows, основанные на NT (NT4, 2000, XP и т.д.) знают про существование расширенных атрибутов. Если переместить файл из OS/2 на сетевой диск Windows, а потом обратно, то EA будут сохранены. Так что ядро Windows умеет работать с EA. А вот программы для Windows про существование расширенных атрибутов не знают ничего.
Например, зскизы картинок Windows сохраняет в скрытом файле Thumbs.db. Так что перемещая картинку в другую папку или архивируя её мы теряем связь с эскизом. А вот назначить иконку файлу Windows просто неспособна.

Конечно, можно сказать что это мелочи, но вот из таких мелочей и складывается правильная операционная система.

...

А кто знает, имеются ли метаданные в MacOS?


---
[1] Конечно, если вы используете системно-независимые методы для передачи файла (например http, ftp, bittorrent), то EA не будут переданы. Ну да это и так понятно.




(7 comments) - (Post a new comment)


[info]dln_cds
2007-12-15 07:44 pm UTC (link)
В мак-е сделано так:
Создается папка, которая видна в операционке как файл. А вовнурь пихается, что хочешь. Хоть либы, хоть картинки, хоть текст..

(Reply to this)


[info]ghost_mozga
2007-12-16 09:53 am UTC (link)
Чего-то я не понял, так где это прописывается? Зависит ли сохранность этих метаданных в OS/2 от файловой системы?

(Reply to this) (Thread)


[info]eros2
2007-12-16 11:02 am UTC (link)
С точки зрения прикладного программиста - неважно где это прописывается, главное что система предоставляет API для работы.

Ну а вообще способ хранения EA зависит от используемой файловой системы. На FAT место для хранения метаданных не предусмотрено, поэтому на FAT OS/2 и Windows хранят EA в скрытом файле "ea data. sf" в корне диска. На родных для OS/2 файловых системах HPFS и JFS предусмотрено место для хранения метаданных.

Насчёт NTFS - там, насколько я знаю, с файлом может быть проассоциировано произвольное количество "потоков", в одном могут быть данные файла (собственно содержимое файла), в другом - метаданные.

Т.е. современные FS в большинстве поддерживают хранение метаданных. (например ссылка, см. 6-ой вопрос про каждую файловую систему).

(Reply to this) (Parent)(Thread)


[info]fonmax
2008-05-18 08:34 pm UTC (link)
windows такого файла не хранит. кстати, EA великолепно записываюстя на дискету (3.5"). а ещё у меня получалось отформатировать флопик на HPFS..

(Reply to this) (Parent)(Thread)


[info]eros2
2008-05-18 08:51 pm UTC (link)
> windows такого файла не хранит

Хранит-хранит. На FAT И FAT32. Скрытый, в корне диска. Конечно, создаёт его только тогда, когда есть EA. А в винде их обычно нет, появляются только если скопировать на расшаренный виндовый диск файл из OS/2.

> EA великолепно записываюстя на дискету (3.5")

Несомненно. И "ea data. sf" сразу создаётся на дискете.

(Reply to this) (Parent)(Thread)


[info]fonmax
2008-05-18 09:30 pm UTC (link)
там два файла, ea data.sf и wp data.sf. и мы про фроточки говорили, то бишь, сами форточки EA не имеют, а WPF таки да, хранит их скрытыми в корне FAT разделов.

о, кстати. оказывается, кроме мну ещё кто-то в OS/2 / eCS живет? чудненько. (:

jabber: fonmax@livejournal.com / fonmax@jabber.org -> потолкуем. (:

(Reply to this) (Parent)(Thread)


[info]eros2
2008-05-19 06:45 am UTC (link)
Сами форточки не имеют, но если подключиться по сети из OS/2 к виндовой машине и скопировать на виндовую машину файл с EA - вот тогда винда создаст у себя "ea data. sf" (если у винды FAT). Но это умеют только NT/2k/XP, 9х потеряют EA.

(Reply to this) (Parent)


(7 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…