Cвод документации по 3OS-FS(c) 3OS-FS Team Версия от 24.12.2002 |
Содержание | Размер (байт) | Примечания | |
1. | Идентификатор раздела | 20 | Строка ‘3OS filesystem vN.NN’ |
2. | Имя раздела | 200 | 100 символов unicode |
3. | Указатель на таблицу файлов | 4 | Сектор с которого начинаются записи файлов |
4. | Размер кластера в блоке | 4 | Измеряется в байтах, кратен физическому сектору диска. Стандартно равен 2kb. |
5. | Размер блока | 4 | Измеряется в кластерах. Стандартно=4000 (8Mb в кластерах по 2kb). |
6. | Адрес первого блока | 4 | Первый сектор, с которого начинается деление диска на блоки. |
7. | Дата форматирования | 4 | - |
8. | Дата последней дефрагментации | 4 | - |
9. | Дата последней проверки FS | 4 | - |
10. | Флаг необходимости проверки FS | 1 | Устанавливается в 1, если при следующем запуске требуется произвести проверку раздела. |
11. | Зарезервировано | 263 | - |
Содержание | Размер (байт) | Примечания | |
1. | Тип записи | 1 | 0 - чистая запись. 1 - Файл 2 - Файл помеченный как удаленный. |
2. | Тип хранения файла в FS. | 1 | 0 - Обычное хранение 1 - Файл заархивирован 2 - Файл зашифрован 3 - Файл заархивирован и зашифрован |
3. | Имя файла | 64 | 32 символа unicode. Вообще, имя файла может достигать до 255 символов. Если имя превышает 32 символа, то оно размещается в начале реестра файла, а в этом поле помещается индикатор переполнения - строка "00 in reg" |
4. | Размер файла | 8 | В байтах. Max. размер 2^64 байт (примерно 16000 пентабайт). |
5. | Размер реестра | 4 | В байтах. Max. размер 4Gb. |
6. | Размер описателя контента | 4 | В байтах. Max. размер 4Gb. |
7. | Дата создания | 4 | Формат: 1-й (младший) байт - день 2-ой байт - месяц 3-й и 4-й байты - год. |
8. | Время создания | 4 | Формат: 1-й (младший) байт - час 2-ой байт - минуты 3-й - секунды 4-й - зарезервирован.. |
9. | Дата последнего изменения | 4 | - |
10. | Время последнего изменения | 4 | - |
11. | ID владельца файла | 4 | 0 - система 1 - root и т.д. |
12. | Маска доступа к файлу | 8 | Определяется самим пользователем. Пока недокументирована, т.к. формат будет зависить от того в какую сторону будет развиваться 3OS |
13. | Указатель на блок в котором хранятся данные реестра. | 4 | Если = 0, то файл без реестра. |
14. | Номер записи реестра в таблице блока. | 2 | - |
15. | Указатель на блок в котором хранятся данные описателя контента | 4 | Если = 0, то это raw-файл. |
16. | Номер записи описателя контента в таблице блока. | 2 | - |
17. | Указатель на блок в котором хранятся данные файла | 4 | Для файла нулевой длинны, это поле = 0, т.е. данные нигде не хранятся. |
18. | Номер записи данных файла в таблице блока. | 2 | - |
Содержание | Размер (байт) | Примечания | |
1. | Идентификатор файла к которому принадлежит запись. | 4 | № файла в общей таблице. |
2. | Адрес данных в блоке. | 2 | Смещение в кластерах от начала блока. Максимальное смещение составляет 64536 кластеров, что при минимальном размере кластера 512байт, составит 32Mb, т.е. не стоит задавать размер блока более 32Mb. |
3. | Количество кластеров занятых под запись в блоке | 2 | - |
4. | Указатель на след. блок. | 2 | Если = 0, то значит запись помещается в блоке целиком, если нет, то содержит адрес следующего блока в котором лежит продолжение записи. |
5. | Указатель замись в следующем блоке принадлежащей записи (файлу, реестру, описателю контента). | 2 | Если = 0, то значит файл помещается в блоке целиком, если нет, то содержит адрес следующего блока в котором лежит продолжение записи. |
6. | Тип записи. | 2 | 0 - Данные Файла, 1 - реестр, 2 - описатель контента. |
7. | Зарезервировано. | 2 | - |