Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS5_Not_Full.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
12.9 Mб
Скачать

6. Типы объектов фс.

1. Файл (File) — уникальное именованное множество байт. 2. Каталог (Directory) — единственный тип объекта ФС, который может иметь потомков. Используется для построения иерархической структуры ФС. 3. Мягкая ссылка (Soft Link) — объект ФС, содержащий полное или относительное имя другого объекта ФС. При попытке ее открыть открывается объект, на который она ссылается. Могут ссылаться друг на друга. 4. Файл символьного устройства (N типа, ID). 5. Файл блочного устройства (N типа, ID).

Устройства делятся на символьные и блочные:

Параметры:

а) символьное/блочное

б) номер типа

в) ID

6. Файл IPC.

(именованные каналы, локальные сокеты)

i-node — описатель объекта ФС. Содержит все его характеристики, кроме имени.

У каждого объекта есть свой i-node. Каждый i-node имеет свой уникальный номер. Номер i-node корневого каталога хранится в заголовке ФС.

РИСУНОК

7. Жесткая ссылка — установленная связь между именем объекта и номером i-node — запись таблицы каталогов. У каждого i-node есть характеристика — кол-во жестких ссылок.  i-node освобождается, только когда она равна 0.

В каталоге, одним из имен которого является / есть имя home, связанное с данным i-node. В каталоге, одним из имен которого является /home есть имя •, связанное с данным i-node.

В каталоге, одним из имен которого является /home/user1 есть имя ••, связанное с данным i-node.

Unlink — функция в C, которая удаляет файл (разрушает жесткую ссылку). Если было больше одной ссылки, файл не удаляется.

Original Unix FS

Кластер — минимальная управляемая единица на ФС.

7. Атрибуты суперблока фс.

  1. Размер таблицы i-node.

  2. Тип ФС.

  3. Размер ФС.

  4. Размер блока (кластера).

  5. Номер i-node корневого каталога.

  6. Идентификатор ФС.

  7. Признак монтирования.

  8. Битовая маска свободных блоков.

8. Атрибуты I-node.

  1. Тип объекта ФС.

  2. Пользователь-владелец.

  3. Группа-владелец.

  4. Права доступа (rwxrwxrwx).

  5. Кол-во жестких ссылок.

  6. Размер:

    • Файлы — размер в байтах.

    • Каталоги — размер таблицы каталога.

    • СУ, БУ — номер типа и ID.

    • Мягкие ссылки — размер текста мягкой ссылки.

    • IPC — хранится 0.

  7. Временны́е характеристики.

    • Время последнего доступа.

    • Время изменения данных.

    • Время изменения метаданных.

  8. Информация о расположении данных объекта на ФС.

РИСУНОК

9. Структура таблицы каталога.

Таблица каталогов:

Структура данных таблицы каталогов:

  1. Размер записи 4 B.

  2. Размер имени 4 B.

  3. Номер i-node 4 B.

  4. Имя  4*N B.

10. Структуры данных, используемые ОС для организации доступа к объектам ФС. open(...), close(), A+B, A+C и т. д.

Запись в таблице i-node — закешированный i-node + кол-во ссылок из ТФ.

Запись в ТФ содержит контест файлового I/O:

  1. Режим открытия файла.

  2. Права доступа к файлу.

  3. Текущая позиция 1 файла?

  4. Код завершения последней операции.

  5. Состояние текущей операции.

  6. Количество ссылок из ПТДФ.

Запись ПТДФ — ссылка на запись ТФ.

Операции:

open("/tmp/qqq", O_RDWR)

  1. Поиск i-node по имени объекта ФС.

  2. При необходимости, считывание i-node в таблицу i-node. Увеличение счетчика ссылок i-node на 1.

  3. Создание записи в ТФ (счетчик ссылок =1).

  4. Нахождение свободной записи ПТДФ и занесение в нее ссылки на запись в ТФ.

  5. Номер выделенной записи ПТДФ возвращается как результат выполнения open.

close()

  1. Запись ПТДФ освобождается.

  2. По соответствующей записи ТФ счетчик ссылок уменьшается на 1. Если счетчик ссылок стал равен 0, запись освобождается.

  3. У соответствующей записи таблицы i-node счетчик ссылок уменьшается на 1. Если счетчик ссылок стал равен 0, в последствии эта запись может быть использована для кеширования другого i-node.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]