Re^2:
- From
- Boris Rudakov (2:5054/9.4)
- To
- Vasily Krysin ()
- Date
- 2003-10-05T21:35:46Z
- Area
- PERM.UNIX
Hello Vasily!
05 окт 03 14:42, you wrote to me:
VK> hi, Boris
VK> 05 Oct 03 02:03, you wrote to Eugene M. Zheganin:
VK> [...]
EZ>>> Угу. Они везде более-менее одинаковые. Или ты думаешь, что если
EZ>>> бы в какой-то открытой системе были нормальные rw-дрова, то они
EZ>>> тут же автоматом не оказались бы в остальных ? 8))
BR>> Нет конечно, я так не думаю :):):)
VK> Почему? Такие технологии нередко перетекают из
VK> одной открытой системы в другую. Может и не
VK> напрямую, но на уровне структур и методов - легко.
Ты меня не понял - я как-раз думаю что моментом перетащат :)
BR>> Кста, а у Руссиновича егонные NTFS-DOS дрова нормальные или тоже
BR>> из серии "хорошо что хоть что-то" ?
VK> Вроде нормально работают. И р и в. Хотя я работал
VK> тока с нтфс4 - про пятую ничего не скажу.
BR>> Если нормальные, то то что он ими делиться не спешит - весьма
BR>> показательно...
VK> Да скорей всего папа Билли просто запретил и все.
VK> А в обмен выдал некие дополнительные данные, чтобы
VK> оно работало постабильнее.
Возможно. Но я думаю что вопрос скорее всего лежит в коммерческой плоскости.
BR>> Кста, связанный вопрос (все никак не соберусь сгенерить и
BR>> подмонтировать раздел чтобы посмотреть, потому спрошу): как юниксы
BR>> разруливают коллизии с большими/маленькими буквами на фат-разделах
BR>> ?
VK> А какие, собственно, коллизии? Просто два одинаковых
VK> имени немогут существовать в одном каталоге и все тут.
VK> То есть при сравнении используется strcasecmp.
Да, но тот юниксоидный софт, который рассчитан на то что ФС регистрозависима, на таких разделах работать не сможет. Вот в чем фигня...
BR>> Приводят все к lowercase ?
VK> Скорей к upper. Ибо fat хранит свои 8.3 именно в
VK> верхнем регистре.
Одно дело - хранить и другое - выдавать наружу. Я бы на уровне интерфейса дров наружу выдавал меокие буквы и только при физической записи транслировал бы их в большие. Не просто удобнее и привычнее когда буквы мелкие, а еще и софт на это жестко рассчитан. Те же компайлеры желают чтобы расширения были .c, .cpp, .h и ты пы, а отнюдь не .C, .CPP и иже...
BR>> Я бы так поступил, но вот чего делают с длинными именами ?
VK> Так и немогу понять - в чем собственно проблема-то?
В том, что если волюнтаристскими действиями драйвера не менять регистр, то в результате работы маздая файл может быть переименован так, что с точки зрения регистро-независимого маздая имя не изменится, а регистро-зависимый юниксоидный софт файл потеряет.
BR>> Они-то case-preserve и на разделяемых с маздаями разделах херня
BR>> может выйти... Чего делают ?
VK> Да как чего? Совершенно то же самое, что и винда например.
Позволю себе заметить, что Винда НЕ ДЕЛАЕТ НИЧЕГО. Она - только лишь case-preserve. Поиск имени осуществляется с игнорирование регистра, но при создании имени регистр символов сохраняется. Так же подчеркну что это верно для маздая и DOS,OS/2,Win32 подсистем НТи. Само ядро НТи - регистро-зависимо, хотя все функции парсинга системных имен имеют регистро-независимый режим, а POSIX подсистема - регистро-зависима.
VK> Ну типа круто и все такое. Хотя я даже незнаю -
VK> преимущество это, или недостаток. Так просто - фича.
Это сделано чтобы можно было реализовывать ОС с регистро-зависимым файловым API. Что при изготовлении POSIX подсистемы и заюзано :)
Потому-то мне и интересно как работают юниксоидные дрова, в условиях когда весь софт регистро-зависим, а рассматриваемая ФС - нет...
BR>> Я недавно вочию это узрел, когда у меня в одном каталоге создались
BR>> файлы
BR>> bla-bla-bla.H
BR>> и
BR>> bla-bla-bla.h
VK> Хе-хе ;) Это еще нахрена? Расширения закончились? ;)
Да, блин, просто глюк получился :)
Не знаю уж почему, но при распаковке архива одной софтинки, у нужного файла оказалось расширение ".H". ХЗ кто это так постарался. А скрипт, который этот файл должен был перегенерить, сгенерил новый файл с расширением ".h". Другой файл. И оба оказались рядом :)
А компиллял я cc=cl. Он - Win32. И хватал перый попавшийся файл. С ".H" который. Я "долго думал" - вроде все перегенерил, а инклуд - старый. Как так ?! Наверное минуты две прошло, пока я не просек что Фар тоже два файла показывает. А при попытке посмотреть оба - все время одно и то же содержимое кажет, хотя размеры - разные. "Аххха...!" - догадался Штирлиц...
Забавно вышло :)
В общем, при одновременной работе двух ОС на стыке постоянно казусы возникают. Подумать - так все логично и правильно происходит, но каждый раз очень неожиданно :) С НТФС уже второй раз ловлюсь - сначала на точке в конце имени, теперь вот - на регистре. Интересно, на чем Интерикс меня в следующий раз подловит ? :):):):)
VK> peace!
VK> SeaD [deep.perm.ru]
Boris Rudakov, Тостуемый пьет до дна !
BBR
--- Be happy: BBR is looking at you !
* Origin: АлкАголь малыми дозами безвреден в любых количествах (2:5054/9.4)