Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 8:44 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 259 posts ]  Go to page 1 2 3 4 518 Next
Author Message
PostPosted: Fri Mar 24, 2006 8:40 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Текущая реализация файловой системы имеет следующие ограничения:
1. Поддержка только FAT.
2. Поддержка только имен файлов в формате 8.3.
Есть одно исключение - при чтении директории длинные имена можно добыть. Но, во-первых, это не является заслугой ядра, а во-вторых, обращаться к файловой системе по этим именам все равно нельзя.
3. Отсутствие нормальной работы с директориями - можно только читать их как файлы. С этим еще можно работать, пока поддерживается только FAT, хотя и несколько неудобно, но в дальнейшем...
О пункте 1 речь пока не идет. Я собираюсь сделать нормальную работу с длинными именами файлов и, потом, с каталогами, но:
для работы с файловой системой используется 58-я функция. (Все прочие всегда можно объявить устаревшими.) Формально в документации примеры путей имеют вид "/hd/1/file.ext". Но ядро понимает также имена типа "/hd/1/FILE EXT" (4 пробела) (и даже "/hd/1/FILENAMEEXT" как "/hd/1/filename.ext"). Поэтому для длинных имен придется делать одно из:
1) Отказаться от обратной совместимости, поправить mfar, sysxtree (кстати, есть еще программы, использующие это?) (надеюсь, я могу заниматься такими модификациями?)
2) Завести новую сисфункцию типа "расширенная работа с файловой системой"
3) Завести дополнительные подфункции в 58-й функции типа 0x100 - read, 0x101 - write и т.д.
Ваше мнение, коллеги?
P.S. Я предпочитаю забить на обратную совместимость.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Sat Mar 25, 2006 11:28 am 
diamond
1) Нельзя отказываться от обратной совместимости совсем. И программ использующих 58 функцию больше чем эти 2, которые ты перечислил. Мы в обязательном порядке потеряем все игры собранные на Cи.
2) Вот сделай это, только не трогая прежних процедур. Сделай пока параллельную работу обоих подсистем.
3) А кто мешает.
Я все же за то чтобы оставить обратную совместимость.


Top
   
 Post subject:
PostPosted: Sat Mar 25, 2006 7:04 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Я тоже за введение нового при поддержке старого.


Top
   
 Post subject:
PostPosted: Sat Mar 25, 2006 7:29 pm 
Mario79
Этой недокументированной особенностью 58 функции пользуется не так много программ.


Top
   
 Post subject:
PostPosted: Sat Mar 25, 2006 8:47 pm 
halyavin
Да делайте блин что хотите.
Один хер мое мнение в лучшем случае уже, похоже, никого не интересует.

Марат, опять начинаешь? -- mike.dld
Миша не изображай из себя бога или суперцензора! Я в твои посты не залажу, имей совесть, если она у тебя есть. -- Администратор Mario79


Last edited by Mario79 on Mon Mar 27, 2006 6:43 pm, edited 2 times in total.

Top
   
 Post subject:
PostPosted: Sat Mar 25, 2006 10:04 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Так если ввести новую системную функцию,то можно будет читать файлы через неё.А 58 функцию оставить как есть,зачем её переписывать.В результате будет улучщена работа с файловой системой при совместимомти со старыми программами.

Мне совсем не хочется,чтобы игрушки которые ущё вчера работали,сегодня бы уже не работали.


Top
   
 Post subject:
PostPosted: Mon Mar 27, 2006 11:40 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Игрушки, которые ещё вчера работали, будут продолжать работать. Пути типа "/hd/1/dir1.d/file1.ext" будут продолжать работать точно так же. Возможность чтения типа "FILENAMEEXT" недокументирована и работает только в силу особенностей кода ядра. Этой недокументированной возможностью, как уже сказал halyavin, пользуются только небольшое количество программ, я знаю только mfar/sysxtree.
Это чтобы прояснить ситуацию. А вообще если говорите, что лучше оставить совместимость, - прекрасно, пусть будет совместимость (даже на уровне недокументированных функций). Тогда остаются варианты 2 и 3.
А кстати, эти особенности присутствуют из-за того, что вся работа завязана на FAT. Думаете, человек, который будет писать поддержку ext*fs или NTFS, захочет (и вообще сможет) эмулировать такие эффекты?

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Mon Mar 27, 2006 7:00 pm 
diamond
Я же высказал свое мнение. Если ты считаешь, что, так как предлагаешь ты:
1) Лучше
2) Надежней
3) Ты согласен получать пинки и вовремя отвечать на них лично.
То делай, что задумал.

Вообще у меня уже у самого вызревает идея изменения обработки дисковых функций, но не в том ключе, который предлагаешь ты.
Если будет желание узнать, мыль мне mario79[dog]bk[dot]ru и распиши подробнее, что хочешь сделать. Потому что нужно согласовывать подобные действия, чтобы не получить два противоположных результата.


Top
   
 Post subject:
PostPosted: Mon Mar 27, 2006 7:37 pm 
diamond
Я как-то не думал, что считывание папки как файла является недокументированной функцией. Я почему-то думал, что это обычное дело.
Извиняюсь за оффтоп. SYSXTREE не запускает приложения, если в строке пути присутствует точка.


Top
   
 Post subject:
PostPosted: Tue Mar 28, 2006 5:45 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Подводя итог: народу нравится обратная совместимость. Хорошо, на том и порешим. Пока нет поддержки других файловых систем, это будет работать. Я собираюсь ввести новые подфункции 58-й функции, начиная с 0x100 (для удобства) - чтение/запись/... с учётом длинных имён.
Mario79
Считывание папки как файла в сегодняшней Kolibri - вещь, похоже, документированная (правда, с определением документированности есть некоторые проблемы). Я просто просматриваю в перспективе добавление ext*fs и NTFS, а там структура директорий совершенно другая.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Tue Mar 28, 2006 7:50 pm 
diamond
Ну, в ISO9660 структура тоже несколько другая, а я рассматриваю возможность добавления в ядро исходников, которыми со мной любезно поделился заграничный товарищ Dex.
Давай тогда вырабатывай единый стандарт, в который будут преобразовываться данные на выходе для приложения.
Отсутствие стандарта на многие вещи самая большая проблема для Колибри.


Top
   
 Post subject:
PostPosted: Wed Apr 26, 2006 4:36 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Добавил чтение с длинными именами файлов - подфункция 0x100 функции 58 (описание входит в мою документацию, online-версия http://shade.msu.ru/~msu-se/klbr_doc/58100.htm)

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Wed Apr 26, 2006 5:44 pm 
diamond
А может стоит перенести реализацию новых подфункций в 70 функцию? Я как раз для этого ее зарезервировал.
Впрочем, дело твое.


Top
   
 Post subject:
PostPosted: Wed Apr 26, 2006 5:50 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario79
Да мне без разницы. Это как народ скажет...

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Wed Apr 26, 2006 6:18 pm 
diamond
Психологически проще.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 259 posts ]  Go to page 1 2 3 4 518 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited