Лекция 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; просмотров: 857;