> Есть идея на счет файловой системы:
>
> Возможность работы с некоторыми типами (по расширению или
> специальному флагу) файлов как с директориями, на уровне поддержки
> операционной системы.
>
> 1) Работа с архивами - просто и удобно (здесь и коментариев не надо).
> 2) Работа с мультимедиа файлами, например, есть картинка picture.jpg,
> открываем ее как директорию и видим, о чудо:
> picture.jpg/info
> picture.jpg/materially.img
> picture.jpg/image8b.img
> picture.jpg/image16b.img
> picture.jpg/image32b.img
>
> дальше в image8b.img:
> image8b.img/info
> image8b.img/palette
> image8b.img/bitmap
>
> или в image32b.img:
>
> image32b.img/info
> image32b.img/bitmap
>
> при этом, конечно, данные для часть файлов будут переконвертированны
> из других данных.
>
> Другие примеры:
> файлы видео будут содержать:
> каталок звуковых дорожек и каталок кадров видео
> --------------
>
> Так единообразным способом будет возможно работать с файлами данных
> сложной структуры имеющих единую природу.
>
> --------------
> Маханизм осуществления поддержки файлов:
>
> 1) администратор устанавливает необходимые файлы поддержки
> 2) программа сообщает ОС, что данный файл она умеет посмотреть (по
> крайней мере на столько ей это необходимо), и этим будет
> заниматься my_fs.vfs (естественно на время работы программы и
> возможно ее потомков).
> --------------
> пример работы, программа ALPHA - графический редактор:
>
> * программа ALPHA
> | (включит поддержку данного типа файлов, монопольно
> | через my_opener.vfs {файлы данных о пользователях и
> | настройках})
> V
> * ОС
> | (ответ на запрос)
> V
> * программа ALPHA
> | (запрос на обработку файла)
> V
> * ОС
> | (передача запроса соответствующему обработчику)
> V
> * my_opener.vfs
> | (отказ в обработке или данные)
> V
> ОС
> | (ответ на открытие)
> V
> % программа ALPHA
> | (запрос на поддержку данного типа файлов)
> V
> % ОС
> | (ответ на запрос)
> V
> % программа ALPHA
> | (настройка стратегии работы обработчика {например, способ
> | преобразования цветов})
> V
> % ОС
> | (передача данных соответствующему обработчику)
> V
> % обработчик 1
> | (передача данных следующему обработчику поддержки данного
> | типа файлов {ну неумеет "обработчик 1" сжимать картинки})
> V
> ...
> | (передача данных следующему обработчику поддержки данного
> | типа файлов)
> V
> % ОС
> | (ответ на настройку)
> V
> % программа ALPHA
> |
> V
> # ...
>
> * - инициализация программы и возможно подключение новых сервисов
> файловой-поддержки
> % - настройка сервисов файловой-поддержки
> # - дальнейшая работа
>