Важная информация

User Tag List

Показано с 1 по 10 из 56

Тема: Новая система каталогов в TR-DOS

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Activist Аватар для Spectre
    Регистрация
    26.01.2005
    Адрес
    Минск
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Новая система каталогов в TR-DOS

    Не один раз и не одним человеком предпринимались попытки создать систему каталогов на TR-DOS дисках. Самая известная попытка - это DirSys by Станислав Юдин. Но попытавшись поддержать ее в своей программе программист столкнется с трудностью вывода каталог диска (из-за того, что каталоги и файлы хранятся отдельно), необходимостью загружать не первые 9 секторов 0-ой дорожки, а 15 (хотя можно загрузить только 11 секторов, но куда тогда денутся "обрезанные" каталоги и как правильно подсчитать CRC?). Также не следует забывать про то что кнопка Magic или boot в 0-ой дорожке быстро и надежно уничтожат все ваши каталоги. Таким образом нехватка памяти под хранение двух 15-и секторных каталогов дисков с одной стороны и сложность вывода каталога диска с другой стороны, вынудило придумать новую систему хранения каталогов, лишенную этих недостатков. На данный момент 2-я людьми (Pawel Kyslyak и Andrey Bogdanovich), известными как авторы популярных Real Commander и Quick Commander составлено черновое описание новой системы каталогов. Рабочее название "TRDIR". В ближайшем будущем именно эту систему будут поддерживать 2 самых популярных коммандера (согласно опросу в соседней ветке). Приглашаем всех желающих обсудим детали и внести свои предложения для создания единого стандарта хранения каталогов.

    Я понимаю что у многих возникнет мысль: "А зачем вообще нужны каталоги на дисках со 128-ю файлами?". Моя точка зрения в том, что стандарт нужен хотя-бы потому что 128 файлов это не так уж мало, а также на будущее, когда 1-2Мб RAM-диск или 1Мб раздел на винчестере будут распространены. Наше дело содать и внедрить стандарт, а уже пользователи пускай решают пользоваться каталогами или нет. Поэтому прошу в этой ветке воздержаться от фраз "Это не никому нужно", а попробовать найти и указать недостатки, а также пути исправления недостатков в новой системе.

    Описание системы каталогов TRDIR

    Чтобы не было путаницы: каталог - это каталог диска, директория - это каталог созданный на диске.

    Информация о системе директорий хранится в неиспользуемом месте системного сектора (8-ой сектор 0-ой дорожки). Имена директорий создаются как файлы нулевой длины. В таблице отношений каждому байту соответствует свой файл в каталоге TR-DOS. Значение из соответствующей файлу ячейки ссылается на номер директории (файла пустышки) к которому он принадлежит. Значение #ff в ячейке означает что файл принадлежит корневой директории.
    Код HTML:
    Формат системного сектора:
    +#20 (128 байт) таблица отношений файлов и директорий.
    +#A0 (2 байта) CRC области #20 - #9F.
    +#A2 (5 байт) идентификатор системы "TRDIR".
    +#A7 (1 байт) номер версии "1" (#31).
    Директории (при их создании) всегда помещаются в начало каталога, а имена файлов после них. Благодаря этому директории легко отслеживаются по нулевой длине и указателю на 0-ой сектор 1-ой дорожки. Пример каталога с директориями:
    Код HTML:
    Имя    Старт  Длина(байт.)  Длина(сек.)  Сектор  Дорожка
                   (дата изм.)
                   
    Music            0000           00         00      01
    Programms!       1105           00         00      01
    boot    B        0250           01         00      01
    screen  scr      6912           1b         01      01
    Поле длины директорий содержит дату изменения. Дата меняется если в директорию дописывают или удаляют файлы. Если происходит переименование дата не меняется. Формат даты (полубайтами): день+месяц и мл.байт+ст.байт года, берется из CMOS часов. Если CMOS часов у пользователя нет или программа не умеет с ними работать, тогда в поле сохраняется число #0000. При печати имени это отслеживается и не выводится дата если там нули.
    Код HTML:
    Формат имен директорий:
    +#00 (11 байт) имя
    +#0B (2 байта) дата создания каталога
    +#0D (3 байта) длина_в_секторах/сектор/дорожка = #00 #00 #01
    Параметр длина в секторах, сектор и дорожка файла содержат правильные параметры для обеспечения корректного рассчёта длины файлов.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •