PDA

Просмотр полной версии : Странный глюк в КПК - два файла с одинаковым именем


CaptainFlint
05.07.2004, 03:00
Когда я покупал девайс (iPAQ 4150), мне прямо там сразу русификатор поставили. Это я так, на всякий случай говорю, т.к. не знаю, может быть, в нём дело. Когда я дома поставил Total Commander (а куда ж без него? :)) и залез в папочку \Windows, то увидел там два файлика calc.exe. Первый - 89 кб, создан 24.09.2003, второй - 76 кб, 07.07.2003. Конечно, всякое в жизни случается, но до сих пор мне не приходилось слышать о файловых системах, допускающих файлы с одинаковыми именами в одной папке... Может кто-нибудь сказать, что это за ерунда такая?

helldomain
05.07.2004, 08:58
Wariantow mnogo. Oni neobyazatelno odinakowie. Wozmojnij bag: dobawleni nekie ne prorisowawshiesya znaki i.t.d. ili failowaya sistema powrejdena, t.k. realno w FAT32/NTFS mojno propisat to, o chem ti goworish.

Avanturist
05.07.2004, 09:24
Или к примеру вместо английской буквы "a" вставлена русская "а". Видишь между ними отличие, и я нет, а оно есть.

CaptainFlint
05.07.2004, 12:27
helldomain
Avanturist
Я немножко это дело поисследовал "втихую", т.е. не меняя ничего, и выяснил, что с вероятностью 99,9% имена файлов именно идентичны. Убедился я в этом следующим способом: подключился к КПК через Тоталовый плагин WinCE, нашёл там эти два файла. Как я уже говорил, размеры у них разные. Но когда я попытался сделать сравнение по содержимому, Тотал выдал, что файлы абсолютно одинаковые. Значит, это действительно две одинаковые записи в файловой системе, и при попытке получить файл по имени calc.exe операционка ищет первый попавшийся файл с таким именем, в результате и выдаётся один и тот же файл. (те 0,1% я оставляю на ошибки в рассуждениях и возможные баги другого рода, о которых я мог не подумать :))
А вообще, какие есть утилиты проверки файловой системы на КПК? Встроенных я не нашёл...

В общем-то, способ исправить этот конкрентый глюк я придумал: переименовать любой из них, скажем, в calc1.exe. При этом переименуется тот из них, который ближе к началу списка файлов в каталоге. После этого спокойно можно будет работать с обоими, проверить, какой из них что делает, после чего ненужный удалить (или оставить оба :)). Просто хочется проверить, нет ли других глюков...

CaptainFlint
09.07.2004, 14:56
Короче, плюнул я на это дело, сделал хард-резет, обновил прошивку, поставил полную русификацию с апдейтом - сейчас всё нормально :)
Но всё же вопрос про утилиты проверки файловой системы остаётся открытым. Неужто нету таких утилит? Нашёл одну-единственную, но она исключительно для флеш-карточек, внутреннюю память КПК не тестит.

Cobalt
11.07.2004, 11:20
CaptainFlint

Имена у файлов как раз и не одинаковые. Меня это тоже сначала смутило, но потом разобрался :) Суть в следующем:
после установки русификатора, КПК становится MUI ( то есть можно переключать языки) и в папочке windows появляются следующие файлы (применительно к calc) calc.0419.exe и calc.04xx.exe (точные имена не помню т.к. давно снес всякие русификаторы :) ) Так что имена НЕ ОДИНАКОВЫЕ и по другому быть не может т.к. там FAT, а он два файла с одинаковыми именами не переварит :)
Про утилиты для ФС:
Storage Tools (проверка, дефрагментация, форматирование....)
Pocket Machanic (проверка, дефрагментация, форматирование, low-level format....)

Если нужны - пиши в личку.

Внутреннюю память КПК ты проверить не сможешь IMHO (а может мне просто такие программы не попадались? :) ). Софт предназначен для проверки file store и flash-карточек.

CaptainFlint
11.07.2004, 16:25
Cobalt
Про calc.0419.exe я знаю, но это не оно. В том-то и дело, что в папке было: два файла calc.exe и ещё calc.0419.exe. Ну сам посуди, если бы имена были различные, разве стала бы операционка вместо второго файла первый подсовывать?
Что FAT этого не позволяет, я знаю. Но также знаю, что она этого не позволяет логически. А физически - спокойно. Вносишь столько записей в каталог, сколько надо, хоть все одинаковые можно делать. Главное - делать это в обход средств ОС, напрямую. Что, по всей видимости, и произошло.

Насчёт программок - я как раз Storage Tools и скачал, но как я уже сказал, это не то. Вообще-то, странно, что нет программок для проверки внутренней памяти... Типа, такая сверхнадёжная и безглючная? :)
Или мы друг друга не поняли? Под внутренней памятью КПК я имел в виду только ту её часть, в которой файлы хранятся. Там же какая-то файловая система должна поддерживаться. Вот её и хочу проверить. А Storage Tools этого не позволяет, ей исключительно флеш-карточку подавай.

Cobalt
11.07.2004, 22:20
CaptainFlint

Мы друг друга поняли нормально :) Дело в другом: в КПК с памятью всё хитро. Там есть какой-то объём RAM (57 МБ у iPAQ 2210), в который после Hard Reset копируется из ROM Windows и другие программы, а остальная часть RAM используется так: часть как RAM у ПК и часть как HDD (то есть эта память все равно энергозависимая и после вытаскивания основной батареи будет через некоторое время Hard Reset :)) И при этом все распределяется динамически.
В основной памяти используется FAT (вроде FAT12 или FAT16). Теоретически проверить можно, но windows это сделать не даст т.к. ты будешь обращаться к её частям в памяти, а это для windows не есть хорошо. Да и польза от таких программ, на мой взгляд, не очень большая. Если с кпк глюки, то Hard Reset и файловая система, и всё остальное будет в девственном виде :)

CaptainFlint
11.07.2004, 23:30
Cobalt
Ну я бы не сказал, что так уж бесполезны такие проги... После хард-резета обычно начинают устанавливать кучу любимых дополнительных прог (либо восстановление с архива, но тогда все ошибки тоже восстановятся). И может так оказаться, что одна из этих прог будет делать какую-то ошибку в файловой системе. Если эта ошибка невооружённым глазом не видна (какие-нибудь перекрывающиеся файлы), то полезут глюки. Снова хард-резет, снова установка этой проги... Без проверки файловой системы будет затруднительно узнать причину глюков.

Cobalt
13.07.2004, 00:36
CaptainFlint

Дело в том, что сами по себе два одинаковых файла не появятся т.к. ОС за всеми делами с ФС следит внимательно. Хотя у тебя явно было что-то не то. Программа вряд ли что-нибудь сможет напортачить в ФС. По крайней мере мне о таких случаях не известно. Ядро win mobile писалось опытными программерами, которые основывались на предыдущих разработках мелкомягких, так что с ФС там всё пучком :).

P.S. Я поищу программку для проверки всей памяти и если найду, то скину тебе :yees: