3.4. Структура каталогов

Error message

Notice: Undefined index: add term path in hansel_get_breadcrumbs() (line 524 of /data/sites/msdosworld.ru/www/sites/all/modules/hansel/hansel.module).

      При форматировании диска на нем создается корневой каталог.

 В дальнейшем Вы  можете создавать новые  каталоги, образующие на

 диске  древовидную  структуру.  Описание  подкаталогов  и файлов

 имеет   одинаковую   структуру.   Точнее,   каталог  состоит  из

 32-байтовых  элементов,  каждый  из  которых  описывает файл или

 подкаталог,  содержащийся  в  этом  каталоге.  Строение элемента

 каталога следующее:

 

 Смещение Длина Содержимое       Комментарий

 ───────────────┬─────────────────┬──────────────────────────────

  +0        8   │ F I L E N A M E │ Имя файла, дополненное справа

                ├──────────┬──────┘ пробелами

  +8        3   │ E X T            Тип файла, дополненный справа

                ├────┬─────┘        пробелами

  +Bh       1   │Attr│              Атрибуты файла

                ├────┴────────────┐

  +Ch     0Ah   │(зарезервировано)│

                ├───────┬─────────┘

  +16h      2   │ time    Время последней модификации файла

                ├───────┤

  +18h      2   │ date    Дата последней модификации файла

                ├───────┤

  +1Ah      2   │ClustNo│  Номер начального кластера файла

                ├───────┴──────┐

  +1Ch      4     filesize      Размер файла в байтах

                └──────────────┘

  +20h          Длина элемента каталога

 

      Байт  атрибутов  файла  хранится  по  смещению  0Bh и имеет

 следующее строение:

 

  7 6 5 4 3 2 1 0

 ┌─┬─┬─┬─┬─┬─┬─┬─┐

 │0│0│A│D│V│S│H│R│

 └─┴─┴┬┴┬┴┬┴┬┴┬┴┬┘ Бит:                                   Маска:

      │ │ │ │ │ │

      │ │ │ │ │ └──> 0 : 1 = Read-only                  a & 01h

      │ │ │ │ │              (файл только для чтения)

      │ │ │ │ └────> 1 : 1 = Hidden (скрытый файл)      a & 02h

      │ │ │ └──────> 2 : 1 = System (системный файл)    a & 04h

      │ │ └────────> 3 : 1 = Volume label (метка тома)  a & 08h

      │ └──────────> 4 : 1 = SubDirectory (подкаталог)  a & 10h

      └────────────> 5 : Archive (бит архива)           a & 20h

 

      Этот байт  содержит несколько флагов,  несущих информацию о

 файле,  и используемых  при поиске  файлов в  каталоге. Атрибуты

 имеют следуюий смысл:

 

 Read-only    Файл с этим атрибутом может  только читаться, но не

              может быть открыт для записи или удален. При поиске

              файлов этот бит не используется.

 

 Hidden       Скрытые файлы не выводятся  в  листингах  каталогов


              ДОС  и  исключаются  при  обычном  поиске файлов  в

              каталоге.

 

 System       Это файлы ДОС, в частности, IBMBIO.COM и IBMDOS.COM.

              Они исключаются при обычном поиске файлов.

 

 Volume label Элемент каталога содержит 11-символьную метку тома.

              Остальная   информация  в  этом  элементе  каталога

              игнорируется. Поскольку это не файл, он  использует

              только элемент каталога, но не имеет дополнительных

              данных.

 

 Directory    Указывает   на   подкаталог    данного    каталога.

              Подкаталоги исключаются из обычного поиска  файлов.

 

 Archive      Этот бит устанавливается всякий раз, когда файл был

              модифицирован, и сбрасывается программами BACKUP  и

              XCOPY. Он  означает,  что  со  времени   последнего

              сохранения файла был  изменен.  При  поиске  файлов

              этот бит не используется.

 

      О поиске файлов  с заданными атрибутами - см.  фн 11h/12h и

 4Eh/4Fh. Изменение атрибутов - см. фн 43h.

 

      Дата  и  время  последней   модификации  файла  хранятся  в

 специальном формате:

 

  1 1 1 1 1 1

  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐

   часы     минуты   │ сек/2     Время:            Извлечение:

 └────┬────┴─────┬─────┴────┬────┘

                          └────> 2-секундные     (t & 001Fh)<<1

                                 пpиращения (0-30)

                └───────────────> минуты (0-59)   (t & 07E0h)>>5

      └──────────────────────────> часы (0-23)   (t & 0F800h)>>11

 

  1 1 1 1 1 1

  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐

    год      месяц     день     Дата:

 └────┬────┴─────┬─────┴────┬────┘

                          └────> день (1-31)          d & 001Fh

                └───────────────> месяц (1-12)    (d & 01E0h)>>5

      └──────────────────────────> год-1980       (d & 0F800h)>>9

                                   (0-119)

 

      К номеру года следует добавить 1980 (7BCh).

 

      См. также: Ввод-вывод файлов

                 Диски, каталоги, файлы.

 

 

Вы находитесь в разделе: 
Метки: 

Добавить коментарий