Лекция 6. Файловая система UNIX
Литература
o Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
o Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
o Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт)подробнее>>
3.1 Файловая системаUNIX V7
Хотя это старая файловая система основные элементы используются и современных UNIX системах.
Особенности:
o Имена файлов ограничены 14 символами ASCII, кроме косой черты "/" и NUL - отсутствие символа. (в последующих версиях расширены до 255)
o Поддержка ссылок.
o Контроль доступа к файлам и каталогам.
o Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы.
o Используется схема i-узлов.
o Не делается различий между разными файлами (текстовыми, двоичными и д.р.).
o Поддерживаются символьные специальные файлы (для символьных устройств ввода-вывода).
- Если открыть файл /dev/lp и записать в него данные, то данные будут распечатаны на принтере.
- Если открыть файл /dev/tty и прочитать из него данные, то получим данные, введенные с клавиатуры.
o Поддерживаются блочные специальные файлы (для блочных устройств ввода-вывода, например /dev/hd1).
o Позволяет монтировать разделы в любое место дерева системы.

Расположение файловой системы UNIX
Суперблок содержит:
o Количество i-узлов
o Количество дисковых блоков
o Начало списка свободных блоков диска
При уничтожении суперблока, файловая система становится не читаемой.
Каждый 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-узла, в случае больших файлов:
o Одинарный косвенный блок - дополнительный блок с адресами блоков файла, если файл не сильно большой, то один из адресов в i-узле указывает на дополнительный блок с адресами. Файл может быть 266Кбайт=10Кбайт+256Кбайт (256Кбайт <= 256 (2^8)-адресов блоков = 1Кбайт-размер блока / 4байта-размер адреса)
o Двойной косвенный блок - дополнительный блок с адресами одинарных косвенных блоков, если одного дополнительного блока не хватает. Файл может быть 65Мбайт=10Кбайт+2^8Кбайт+2^16Кбайт.
o Тройной косвенный блок - дополнительный блок с адресами двойных косвенных блоков, если одного одинарного косвенного блока не хватает. Файл может быть 16Гбайт=10Кбайт+2^8Кбайт+2^16Кбайт+2^24Кбайт.

i-узел UNIX V7
Поиск файла

Этапы поиска файла по абсолютному пути /usr/sbin/mc
При использовании относительного пути, например sbin/mc, поиск начинается с рабочего каталога /usr.
Дата добавления: 2015-12-26; просмотров: 935;
