ОС / 3. ОС - Управление данными
.pdf21
Жесткие и символические связи
Жесткая связь: связь между именем файла и самим файлом (файл может иметь несколько имен, в том числе в разных каталогах);
Символическая связь: файл, содержащий имя другого файла.
Вданном примере все 5 имен указывают на один и тот же файл данных.
Операционные системы. Управление данными
22
s5fs: структура тома
BOOT – загрузочная запись;
Суперблок – содержит основные сведения о томе и о файловой системе на нем, а также информацию о свободном месте;
Массив inode – состоит из "индексных дескрипторов" (inode), содержащих всю информацию о файлах, кроме имен;
Область данных – файлы, каталоги, свободное пространство.
Операционные системы. Управление данными
|
|
|
|
|
23 |
Каталоги и индексные дескрипторы |
|||||
Каталог |
|
|
|
|
Жесткие связи: два имени |
Имя |
inode |
|
|
|
ссылаются на один и тот |
|
|
|
|
|
|
program1.c |
105 |
|
|
|
же inode; |
|
|
|
|
|
|
program2 |
102 |
|
|
|
Удаленная связь: номер |
VeryImportantText.txt |
104 |
|
|
||
|
|
|
inode = 0. |
||
UnusedOldFile |
0 |
|
|
|
|
|
|
|
|
||
SameText.txt |
104 |
|
|
|
|
|
М а с с и в i n o d e |
|
|
||
( а т р и б у т ы |
ф а й л о в ) |
|
|||
101 |
102 |
103 |
104 |
105 |
|
|
|
Операционные системы. Управление данными |
24
Атрибуты файла (поля inode)
Тип файла (обычный, каталог, специальный символьный или блочный, символическая связь, канал, сокет).
Код защиты (доступ на чтение, запись, исполнение для владельца, группы и прочих).
Флаги режимов (SUID, SGID).
Число жестких связей.
Владелец файла (UID).
Группа-владелец (GID).
Размер файла (в байтах).
Информация о размещении файла.
Дата доступа.
Дата модификации.
Дата создания (дата изменение inode).
Операционные системы. Управление данными
25
Флаги режимов (SUID, SGID)
Определяют, чьи права доступа будут использоваться при работе исполняемого файла:
0: права пользователя, запустившего программу (и права его группы);
1: права владельца файла программы и его группы.
Это позволяет обычному пользователю выполнять некоторые действия "от имени администратора".
Пример: изменение своего пароля в системном файле паролей.
Операционные системы. Управление данными
26
Управление доступом к файлу
Пример отображения атрибутов командой "ls -l":
-rwxr-x--x l dr |
teachers … (размер, время, имя файла) |
||
Здесь: |
|
|
|
|
- |
– обычный файл; |
|
|
rwx |
– для владельца – чтение, запись, исполнение; |
|
|
r-x |
– для группы-владельца – чтение и исполнение; |
|
|
--x |
– для прочих – только исполнение; |
|
|
1 |
– количество жестких связей; |
|
|
dr |
– владелец файла; |
teachers – группа-владелец.
Для каталогов право на исполнение означает право открывать файлы и делать каталог текущим.
Операционные системы. Управление данными
27
Информация о размещении файла
|
|
|
|
|
|
|
Блок 11 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
Блок 1 |
|
|
|
|
|
|
|
Вторичный |
|
|
|
|
|
|
|
|
|
|||||
inode |
|
|
|
|
|
|
|
косвенный 2 |
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Блок 2
1 |
|
|
Вторичный |
2 |
Блок 3 |
Косвенный |
косвенный 257 |
3 |
|
||
|
блок 1 |
Блок 266 |
|
|
|
||
|
|
Косвенный |
Блок 267 |
|
|
|
|
|
|
блок 2 |
|
10 |
Блок 10 |
|
|
|
|
|
|
11 |
|
|
|
12 |
Вторичный |
Косвенный |
|
13 |
косвенный 1 |
|
|
блок 257 |
|
||
|
|
|
|
|
Третичный |
|
|
|
косвенный |
|
|
Операционные системы. Управление данными
28
Список свободных блоков
Операционные системы. Управление данными
29
Выделение и освобождение дисковой памяти
При выделении блоков их номера берутся из массива в суперблоке.
Когда массив исчерпан, в суперблок переносятся данные из первого блока продолжения списка.
При освобождении блоков из номера добавляются в массив в суперблоке.
Если массив переполняется, его содержимое переносится в один из свободных блоков, который становится первым блоком продолжения списка.
При создании нового файла номер inode для него берется из соответствующего массива в суперблоке.
При исчерпании этого массива система просматривает массив inode и выбирает из него
номера свободных записей.
Операционные системы. Управление данными
30
Недостатки системы s5fs
Низкая надежность:
широкое использование сцепленных списковых структур для хранения жизненно важной информации;
интенсивное использование суперблока для хранения часто изменяющейся информации;
компактное размещение наиболее важных метаданных в начале дискового тома.
Недостаточная производительность:
дополнительные операции чтения с диска вследствие использования косвенных блоков;
сильная фрагментация дискового пространства из-за выделения дисковых блоков по принципу «последним освободился – первым занят».
Операционные системы. Управление данными