Файловая система UNIX V7
Хотя это старая файловая система основные элементы используются и современных UNIX системах.
Особенности:
· Имена файлов ограничены 14 символами ASCII, кроме косой черты "/" и NUL - отсутствие символа. (в последующих версиях расширены до 255)
· Поддержка ссылок.
· Контроль доступа к файлам и каталогам.
· Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы.
· Используется схема i-узлов.
· Не делается различий между разными файлами (текстовыми, двоичными и д.р.).
· Поддерживаются символьные специальные файлы (для символьных устройств ввода-вывода).
- Если открыть файл /dev/lp и записать в него данные, то данные будут распечатаны на принтере.
- Если открыть файл /dev/tty и прочитать из него данные, то получим данные, введенные с клавиатуры.
· Поддерживаются блочные специальные файлы (для блочных устройств ввода-вывода, например /dev/hd1).
· Позволяет монтировать разделы в любое место дерева системы.
Расположение файловой системы UNUX
Суперблок содержит:
· Количество i-узлов
· Количество дисковых блоков
· Начало списка свободных блоков диска
При уничтожении суперблока, файловая система становится не читаемой.
Каждый i-узел имеет 64 байта в длину и описывает один файл (в том числе каталог).
Каталог содержит по одной записи для каждого файла.
Каталоговая запись UNIX V7 в 16 байт
Структура i-узела
Поле | Байты | Описание |
Mode | Тип файла, биты защиты, биты setuid и setgid | |
Nlinks | Количество каталоговых записей, указывающий на этот i-узел | |
Uid | Идентификатор владельца | |
Gid | Номер группы | |
Size | Размер файла в байтах | |
Addr | Адрес первых 10 дисковых блоков файла и 3 косвенных блока | |
Gen | Счетчик использования i-узла | |
Atime | Время последнего доступа файла | |
Mtime | Время последнего изменения файла | |
Ctime | Время последнего изменения i-узла |
Первые 10 дисковых блоков файла хранятся в самом i-узле, при блоке в 1Кбайт, файл может быть 10Кбайт.
Дополнительные блоки для i-узла, в случае больших файлов:
· Одинарный косвенный блок -дополнительный блок с адресами блоков файла, если файл не сильно большой, то один из адресов в i-узле указывает на дополнительный блок с адресами. Файл может быть 266Кбайт=10Кбайт+256Кбайт (256Кбайт <= 256 (2^8)-адресов блоков = 1Кбайт-размер блока / 4байта-размер адреса)
· Двойной косвенный блок- дополнительный блок с адресами одинарных косвенных блоков, если одного дополнительного блока не хватает. Файл может быть 65Мбайт=10Кбайт+2^8Кбайт+2^16Кбайт.
· Тройной косвенный блок - дополнительный блок с адресами двойных косвенных блоков, если одного одинарного косвенного блока не хватает. Файл может быть 16Гбайт=10Кбайт+2^8Кбайт+2^16Кбайт+2^24Кбайт.
i-узел UNIX V7
Дата добавления: 2014-12-21; просмотров: 893;