Самодел 2 (1114717), страница 20
Текст из файла (страница 20)
• интеллектуальная физическия архивация (копируются только использованные блоки файловой системы);
• проблема обработки дефектных блоков.
•
Логическая архивация – копирование файлов (а не блоков), модифицированных после заданной даты.
Проверка целостности файловой системы
Проблема – при аппаратных или программных сбоях возможна потеря информации:
•потеря модифицированных данных в «обычных» файлах;
• потеря системной информации (содержимое каталогов, списков системных блоков, индексные узлы и т.д.)
Контроль целостности или непротиворечивости файловой системы.
Контроль непротиворечивости блоков файловой системы:
Модельная стратегия контроля
1.Формируются две таблицы:
- таблица занятых блоков;
- таблица свободных блоков;
(размеры таблиц соответствуют размеру файловой системы – число записей равно числу блоков ФС)
Изначально все записи таблиц обнуляются.
2. Анализируется список свободных блоков. Для каждого номера свободного блока увеличивается на 1 соответствующая ему запись в таблице свободных.
3. Анализируются все индексные узлы. Для каждого блока, встретившегося в индексном узле, увеличивается его счетчик на 1 в таблице занятых блоков.
4. Анализ содержимого таблиц и коррекция ситуаций.
Варианты анализа таблиц
Д
ействие:
1.Name1 ---> копируется Name12
2.Name2 ---> копируется Name22
3.Удаляются Name1, Name2
4.Запускается переопределение списка свободных блоков
5.Обратное переименование файлов и фиксация факта их возможной проблемности.
Контроль непротиворечивости файлов файловой системы:
Возможны варианты:
1. L = M – все в порядке
2. L > M NameCount := L
3. L < M
5. ОС Unix: файловая система
(Модель тюрьмы и школы)
Рассмотрим модельную организацию, она опирается на FS-5.
Организация ФС Unix. Виды файлов
Файл Unix – это специальным образом именованный набор данных, размещенный в файловой системе.
Обычно система опддерживает несколько видов файлов:
•обычный файл (regular file)
•каталог (directory)
•специальный файл устройств (special device file)
•именованный канал (named pipe)
•ссылка (link)
•сокет (socket) (специальные файлы для организации взаимодействия процессов. Средство может работать как в рамках локальной машины, так и в рамках сети.)
Права доступа
Категории пользователей:
•пользователь
•группа
•все пользователи системы
Права пользователей:
•права отдельного пользователя
•права группы, к кторой принадлежит данный пользователь, за исключением самого пользователя
•права всех пользователей, за исключением группы данного пользователя
Права на действия:
•на чтение (выдача списка файлов)
• на запись (возможность создания, удаления, и переименования файлов к каталоге)
• на исполнение (возможность использовать каталог внутри текущего каталога)
Логическая структура каталогов
-
UNIX – файл ядра ОС
-
BIN - (каталог) файлы, раелизующие общедоступные команды ОС. Чтобы создать команду, надо поместить туда файл. Каждая функция жёстко встроена в систему. Имена файлов – это имена команд.
-
ETC – файлы системных данных, а также команды (файлы), организующие работу с системными данными (например, файл pаsswd)
-
ТМР – хранилище временных файлов, которые образует ОС во время работы. Его содержимое не гарантируется после перезагрузки системы.
-
MNT – каталог, примонтированный к ФС для распространения ФС на диски.
-
DEV – каталог устройств – информация о зарегистрированных в системе устройствах
-
USR – каталог для организации работы пользователей. Ос сильно многоуровнев, в нём:
- каталог LIB – библиотеки для работы с пользователем.
- каталог INCLUDE – содержит заголовки, прототипы библиотек и т.п.
- каталог BIN – содержит команды для конкретной задачи (рекомендуется включать команды, характерные для данной условной организации)
- каталог USER – в нём создаются домашние каталоги пользователей.
Внутренняя организация ФС
Модель версии System V
Структура ФС
И
нформация о файлах в пределах раздела разделяется на 3 области:
-
суперблок
-
область индексных дескрипторов
-
блоки файлов
-
Суперблок.
Суперблок файловой системы содержит оперативную информацию о текущем состоянии файловой системы, а также данные о параметрах настройки. (глабольная информация о структуре и размере ФС)
-
Область индексных дескрипторов.
Индексный дескриптор – специальная структура данных ФС, которая ставится во взаимнооднозначное соответствие с каждым файлом. Она имеет фиксированный размер; область индексных дескрипторов определяет существование и размещение файла в ФС.
-
Блоки файлов.
Блоки файлов – пространство на системном устройстве, в котором размещается вся информация, хранящаяся в файлах и о файлах, которая не поместилась в предыдущие блоки файловой системы.
Суперблок:
Работа с массивами номеров свободных блоков
N свободно
<>0
Массив номеров свободных блоков.
Массив фиксированного размера. 0 – ссылки на блоки ФС, где располагаются все остальные свободные блоки. Остальное – номера свободных блоков. Массив обеспечивает кэширование свободных блоков. Вместо данного массива может быть список свободных блоков (0 элемент содержит ссылку на продолжение массива).
Суперблок находится в оперативной памяти ОС.
Работа с массивом свободных ИД
•Освобождение ИД
•Есть свободное место – номер –> элемент массива
•Нет свободного места – номер “забывается”
•Запрос ИД
•Поиск в массиве
•Массив пустой – обновление массива
•Массив не пустой - ok
Индексные дескрипторы (область)
Индексный дескриптор (ИД) – системная структура данных фиксированного размера, которая содержит информацию о файле, в ней могут быть поля:
-
тип файла
-
права доступа
-
информация о владельце
-
информация о группе владельца (список группы)
-
размер файла в байтах
-
число ссылок на ИД из каталога ФС
-
массив номеров блоков файла (состоит зи 13 полей)
-
статистические поля о временах доступа и тп.п
ИД свободен, если количество ссылок к нему из каталога ФС равно нулю.
Логический блок – 512 байтов, поле индексирования – 4 байта, адресное поле – 13 полей; первые 10 из них содержат номера 10 логических блоков файла,
11- содержит номера 128 номеров блоков файла4
12- содержит указатель на структуру из 128 полей, каждое из которых содержит номера 128 блоков файла; 13 – и т.д. по логике.
Многоуровневое кэширование обмена данными.
Файл каталог
Ф
айл каталог – это строка строку – запись фиксированного размера, первое поле которой – номер ИД, второе – имя файла
Установление связей
Существуют жёсткие связи и символические ссылки.
Достоинства ФС модели версии System V
•Оптимизация в работе со списками номеров свободных индексных дескрипторов и блоков.
•Организация косвенной адресации блоков файлов
Недостатки ФС модели версии System V
•Концентрация важной информации в суперблоке и немного в области ИД – следовательно, размер области слишком велик – следовательно, возникает фрагментация по пространству.
•Проблема надежности
•Фрагментация файла по диску
•Ограничения на возможную длину имени файла
М
одель версии FFS BSD
•копия суперблока
•информация о свободных блоках (битовый массив) и о свободных индексных дескрипторах
•массив индексных дескрипторов (ИД)
•блоки файлов
Стратегия размещения
•Размещение каталога
•Равномерность использования блоков данных
•Размещение последовательных блоков файлов
Блоки выровнены по кратности
Алгоритм выделения пространства для файла
•Если в блоке достаточно места, то данные помещаются в это свободное пространство
•Если свободного места в последнем блоке не достаточно, то
–В этот блок до его конца пишутся данные
–Заполняется весь следующий блок и т.д., пока данных не станет меньше, чем целый блок
–Ищется блок с необходимым количеством места или выделяется новый
Файловая система Ext2 Linux
NFS – сетевая файловая система
Блокировка доступа к содержимому файла
Возможность блокирования области файла любого размера.
Системный вызов fcntl ( )
•Исключающая блокировка (exclusive lock) – «жесткая» блокировка (область может быть заблокирована единственный раз). Блокировка с монополизацией.
•Распределенная блокировка (shared lock) – «мягкая» блокировка (возможны пересечения заблокированных областей). Рекомендательная блокировка.
6. Управление внешними устройствами.
Архитектура.
Рассмотрим вопросы, сильно связанные с аппаратурой.
-
Непосредственное управление ВУ ЦП.
-
Синхронное управление ВУ с использованием контроллеров ВУ.
-
Асинхронное управление ВУ с использованием контроллеров ВУ.
4
.Использование контроллера прямого доступа к памяти(DMA – Direct Memory Access) (при обмене).
-
Управление ВУ с использованием процессора или канала ввода-вывода.
Программное управление внешними устройствами
Ц
ели:
•унификация программных интерфейсов доступа к внешним устройствам (унификация именования, абстрагирование от свойств конкретных устройств);
•обеспечение конкретной модели синхронизации при выполнении обмена (синхронный, асинхронный обмен);
•обработка возникающих ошибок (индикация ошибки, локализация ошибки, попытка исправления ситуации);
•буферизация обмена;
•обеспечение стратегии доступа к устройству (распределенный доступ, монопольный доступ);