Не буду тебя цитировать, а то потом никому читать не удобно. Лишь подытожу
1. Все что лежит за гранью первых 9 секторов ты не приемлешь из соображений невозможности найти места в существующем софте, пусть даже это будут всего 512 байт.
2. Вариант с MagicNumber поддержан.
3. Вариант с записью в таблицу принадлежности, чтобы файлы оказались в нужном месте, поддержан.
Напрягаю свою мозговую извилину и рожаю вот такой вариант:
1. Суммарное число файлов и каталогов не может превышать какого-то максимума Это количество зависит от формата хранения имени каталога и соотношения количества файлов и каталогов на диске (см. ниже).
2. Таблицу (длинной N байт) принадлежности файлов к каталогам и каталогов к каталогам держать в 9-м системном секторе. Там же держать дескриптор системы и контрольную сумму и др. необходимую информацию.
4. Названия каталогов хранить в первых 9-ти секторах системной дорожки, при этом хранить их начиная с конца 8-го сектора и далее вниз. То есть файлы растут снизу вверх, а каталоги сверху вниз пока где-то они не встретятсяНеобходимо помнить, что список файлов закачивается нулем, а каталоги тоже нужно чем-то заканчивать (тем же нулём), то на стыке одно название теряется - за этим нужно четко следить.
За названиями каталогов удобнее закрепить 11 символов. Вполне вероятно, что к названию можно присовокупить дату изменения, как ты предложил, но в этом случае каталогов на диск поместится меньше.
Плюсы предложения:
1. Все живет на стандартных местах и не занимает дополнительного места.
2. Любой софт, ничего не знающий о каталогах увидит все файлы на диске в обычном виде без лишних файлов и всего прочего.
3. Системную дорожку можно резервно хранить за пределами 159-го терка.
Минусы предложения:
1. Жесткое ограничение на количество каталогов и файлов.
2. Сортировка угробится в случае несанкционированного MOVE.
3. 9-й сектор используют в своих целях различные программы.
Я высказал идею. Она безусловно хуже чем DirSys, но на мой взгляд лучше, чем то, что предлагаешь ты.
P.S. А DirSys я всё равно не брошуЗавсегда можно написать конвертор из одной системы в другую
![]()





Ответить с цитированием