Взаимно однозначное соответствие между именем файла и его содержимым.
1. Содержимому любого файла соответствует единственное имя файла.
Или древообразная иерархическая файловая система
2. Содержимому файла может соответствовать два и более имен файла.
«Жесткая связь»
«Символьные связи»
Пространство внешней памяти
Координация использования пространства внешней памяти.
- если «Большой блок»: - эффективность обмена - существенная внутренняя фрагментация (неэффективное использование пространства ВП) - если «Маленький блок»: - эффективное использование пространства ВП - фрагментация данных файла по диску Развитые системы позволяют параметризовать эту характеристику.
Состояние любого блока определяется содержимым бита с номером каждого блока. Если блок свободен, бит равен 1, занят – 0.
Это Учет количества файлов и их размеров у которых атрибут владельца соответствует конкретному пользователю. 2 категории ресурсов:
Жесткие лимиты не превышаются никогда. Гибкие квоты можно превышать, но после этого «включается обратный счетчик» предупреждений. Пока счетчик!= 0, при каждой
регистрации пользователя в системе он получает предупреждение; если счетчик = 0, пользователь блокируется.
Надежность ФС При работе с ФС возможна потеря информации в результате аппаратного или программного сбоя или случайное удаление файлов. Есть несколько вариантов решения этой проблемы:
1)Резервное копирование в общем случае должно происходить в ограниченные промежутки времени.
•Копируются не все файлы файловой системы (избирательность архивирования по типам файлов); • Инкрементное архивирование (резервное копирование) – единожды создается «полная» копия, все последующие включают только обновленные файлы; • Использование компрессии при архивировании (риск потери всего архива из-за ошибки в чтении/записи сжатых данных); • Проблема архивирования «на ходу» (во время копирования происходят изменения файлов, создание, удаление каталогов и т.д.) • Распределенное хранение резервных копий.
2)Архивирование Стратегии: •Физическая архивация - «один в один» (забывая о структуре ФС); - интеллектуальная физическая архивация (копируются только использованные блоки файловой системы); - проблема обработки дефектных блоков. • Логическая архивация – копирование файлов (а не блоков), модифицированных после заданной даты.
3)Проверка целостности или непротиворечивости файловой системы.
При аппаратных или программных сбоях возможна потеря информации: - потеря модифицированных данных в «обычных» файлах;
Уже на ходу, в режиме профилактики 1.Формируются две таблицы: - таблица занятых блоков; - таблица свободных блоков; (размеры таблиц соответствуют размеру файловой системы – число записей равно числу блоков ФС)
Изначально все записи таблиц обнуляются.
2. Анализируется список свободных блоков. Для каждого номера свободного блока увеличивается на 1 соответствующая ему запись в таблице свободных. 3. Анализируются все индексные узлы. Для каждого блока, встретившегося в индексном узле, увеличивается его счетчик на 1 в таблице занятых блоков. 4. Анализ содержимого таблиц и коррекция ситуаций. Возможно 4 случая: Непротиворечивость файловой системы соблюдена.
В таблице обнаружился пропавший блок: - Можно оставить как есть, но система «замусоривается»; - Добавить в список свободных блоков файловой системы. Образуется дубликат свободного блока – пересоздание списка свободных блоков. Дубликат занятого блока => автоматическое решение максимально затруднено, имеет место потеря информации в одном из файлов. 5.
Проверка непротиворечивости файлов ФС:
Возможные варианты: 1. L== M – все в порядке
2. L!= M - ошибка
Лекция 8. ОС UNIX. Файловая система.
UNIX – революционная ФС, потому что это –
6. UNIX - «переносимая» операционная система. Это означает, что большая часть кода, алгоритмов легко переносятся на другие архитектуры.
Виды файлов в ОС UNIX Файл Unix – это специальным образом именованный набор данных, размещенный в файловой системе.
Виды файлов: • обычный файл (regular file). Данные, кот ввели и кот получаем после их выполнения. • каталог (directory) • специальный файл устройств (special device file). Файлы, имеющие спец тип, посредством кот можно использовать те или иные драйверы устройств в системе UNIX. • именованный канал (named pipe). (FIFO) регулярные файлы, имеющие определенную фикс систему доступа • ссылка (link). Спец файлы, кот могут нарушать древовидную организацию. • сокет (socket). Спец файлы, предназначенные для вз-я процессов как в рамках одной локальной машины, так и в рамках сети.
Права доступа Классическая модель рассматривает 3 категории пользователей: - пользователь (владелец) - группа - все пользователи системы Права каждой категории:
права интерпретируются в зависимости от типа файла.
Логическая структура ФС
UNIX предлагает некоторую стандартную структуру ФС, a’priory предполагающую определенные имена каталогов с файлами. Есть корневой каталог UNIX с точностью до именования. Он содержит программные ядра ОС или часть ядра. BIN каталог с исполняемыми файлами наиболее распространенных команд UNIXа. Можно перестроить команды в нек каталогах или сделать их разными для разных пользователей. ETC файл, в кот хранится системная информация, обеспечивающая разного рода настройки в системе, в т.ч. passwd (инф-ция о всех зарегистрированных в системе пользователях). TMP - временные файлы ФС, сохранность которых не гарантируется после перезапуска системы. MNT - корневой каталог локальной ФС ассоциируется с к-л каталогом в MNT. DEV - спец файлы устройств. USR - размещается пользовательская инф-ция. LIB – например gcc, cc. include содержит headerы, кот используются программой пользователя для препроцессора. Например, SYS содержит include – файлы системы. BIN содержит исполняемые файлы, которые предоставляются для пользовательского доступа и характеризуют конкретную установку. (так, если знаем имя файла, сначала ищем его в USR/BIN, а затем в BIN. USER – домашние каталоги зарегистрированных пользователей.
Внутренняя организация ФС
Суть: ФС в дисковом разделе имеет 3 категории пространства:
Суперблок файловой системы содержит оперативную информацию о текущем состоянии операционной системы, а также данные о параметрах настройки файловой системы. В частности, суперблок содержит информацию о количестве, так называемых, индексных дескрипторов в файловой системе. Также суперблок содержит информацию о количестве блоков, составляющих файловую систему, а также информацию о свободных блоках файлов, о свободных индексных дескрипторах, и прочие данные, характеризующие время, дату модификации и другие специальные параметры. За суперблоком следует область (пространство) индексных дескрипторов. Индексный дескриптор - это специальная структура данных файловой системы, которая ставится во взаимно однозначное соответствие с каждым файлом. Размер пространства индексных дескрипторов определяется параметром генерации файловой системы по количеству индексных дескрипторов, которые указаны в суперблоке. Каждый индексный дескриптор содержит следующую информацию: 1. Поле, определяющее тип файла (каталог или нет). 2. Поле кода защиты (доступ). 3. Количество ссылок к данному индексному дескриптору из всевозможных каталогов файловой системы (в ситуации нарушения дерева файловой системы). Если значение этого поля равно нулю, то считается, что этот индексный дескриптор свободен. 4. Длина файла в байтах. 5. Статистика: поля, характеризующие дату и время создания и т.п. 6. Поле адресации блоков файлов. 7. массив номеров блоков файла.
•Освобождение ИД - Есть свободное место – номер –> элемент массива - Нет свободного места – номер “забывается” •Запрос ИД - Поиск в массиве
- Массив пустой – обновление массива - Массив не пустой - ok
Массив блоков файлов, кот находятся в ИД. В общем случае состоит из 13ти элементов. Первые 10 – имена 10ти логических блоков памяти. К ним доступ осуществляется без каких-либо накладных расходов. Если больше 10ти – включается в работу косвенность: 1 уровень – 11й элемент – 128 номеров блоков продолжения памяти. Если мало – слово №12, в нем ссылка на № блока, в кот 128 номеров блоков, где каждый содержит 128 № блоков памяти и т.д. Лучше всего может длинный, но непрерывный файл.
Файл - каталог Мы с вами говорили, что одним из свойств операционной системы UNIX является то, что вся информация размещается в файлах, т.е. нет каких-то специальных таблиц, которыми пользуется операционная система, за исключением тех таблиц, которые она создает, уже функционируя в пространстве оперативной памяти. Каталог, с точки зрения файловой системы, - это файл, в котором размещены данные о тех файлах, которые принадлежат каталогу.
В каталоге А содержаться файлы В, С и D, несмотря на то, что файлы В и С могут быть как файлами, так каталогами, а файл D является каталогом. Каталог состоит из элементов, которые содержат два поля. Первое поле - номер индексного дескриптора, второе поле - это имя файла, которое ассоциировано с данным индексным дескриптором. Номера индексных дескрипторов (в пространстве индексных дескрипторов) начинаются с единицы. Первый индексный дескриптор - индексный дескриптор каталога. В общем случае в каталоге могут встречаться записи, ссылающиеся на один и тот же индексный дескриптор, но в каталоге не могут быть записи, имеющие одинаковые имена. Имя в пределах каталога уникально, но с содержимым файла может ассоциироваться произвольное количество имен. Поэтому есть некоторая неоднозначность в определении понятия файл в операционной системе UNIX. Файл оказывается не просто именованным набором данных: у него есть индексный дескриптор и может быть несколько имен (т.е. имя - вторичная компонента). При создании каталога в нем всегда создаются две записи: запись на специальный файл с именем «.» (точка), с которым ассоциирован индексный дескриптор самого каталога, и файл «..» (две точки), с которым ассоциируется индексный дескриптор (ИД) родительского каталога. Для нашего примера каталог А имеет, например, ИД с номером 7, а каталог D имеет ИД с номером 5. Файл F имеет ИД №10, файл G имеет ИД №101. В этом случае файл-каталог D будет иметь следующее содержимое:
Отличие файла-каталога от обычных файлов пользователя заключается в содержимом поля типа файла в ИД. Для корневого каталога поле родителя будет ссылаться на него самого.
Достоинства версии SYSTEM V: •Оптимизация в работе со списками номеров свободных индексных дескрипторов и блоков. •Организация косвенной адресации блоков файлов
Недостатки: •Концентрация важной информации в суперблоке •Проблема надежности •Фрагментация файла по диску •Ограничения на возможную длину имени файла
ФС UNIX имеет недревовидную систему организации, т.к. появился аппарат ссылок. 2 возможности ссылок:
Содержится: •копия суперблока •информация о свободных блоках (битовый массив) и о свободных индексных дескрипторах •массив индексных дескрипторов (ИД) •блоки файлов
Характеристики: 1) кластеризация данных; 2) оптимизация физических размещений; 3)
3) оптимизация блоков 2х уровней;
4) позволяет работать с достаточно большими размерами каталогов, но меняет их структуру.
Структура каталога FFS
Управление внешними устройствами. Управление внешними ресурсами рассматривается как функция, но в основном базируется на аппаратных возможностях ОС. Это скорее компонент ВС, а не ОС, т.к. ОС – это программа с некоторыми свойствами. Архитектура организации процессора и внешних устройств.
историческая модель, основанная на том, что ВСЕ действия по управлению внешними устройствами осуществляется через ЦП. Через эти устр-ва можно передавать информацию о статусе устр-ва (ошибка) и т.п. предполагается наличие двух потоков:
непосредственное управление характеризуется тем, что оба потока обслуживаются ЦП. => необходим достаточно большой объем личной работы.
Суть контроллера – упрощение работы ЦП, хотя оно все равно непосредственное; функции обнаружения ошибок; функции, которые обеспечивают ЦП несколько более высокоуровневый интерфейс к внешним процессам (например, позиционирование головки, выход на нужный сектор).
Х-ся появлением аппарата прерываний, но оба потока в ЦП.
ЦП подает управляющую инф-цию по организации обмена, но поток образующихся данных идет между устройствами и ОП, без ЦП.
Обеспечивается высокоуровневый интерфейс для организации ввода/вывода.
Лекция 9. Программное управление внешними устройствами
Цели: •унификация программных интерфейсов доступа к внешним устройствам (унификация именования, абстрагирование от свойств конкретных устройств); •обеспечение конкретной модели синхронизации при выполнении обмена (синхронный, асинхронный обмен); •обработка возникающих ошибок; •буферизация обмена (кэширование потоков инф-ции); •обеспечение стратегии доступа к устройству (например, многопроцессорное+принтер); •планирование выполнения операций обмена. Буферизация обмена T – время обмена; С – время выполнения программы между обменами t – общее время выполнения программы Схемы буферизации ввода-вывода
а) Без буферизации б) Одинарная буферизация когда буфер освобождается, читается следующий буфер, т.к. считалось то, что потребуется в) Двойная буферизация в один буфер — данные для обмена, другой – за предыдущий обмен. г) Циклическая буферизация по циклическому списку буферов Какую схему выбрать зависит от интенсивности буферизации и особенности действий.
Планирование дисковых обменов
поток заказов на обмен превосходит возможности системы в некоторые моменты времени: 1) минимизация 2) разделение приоритетов 3) случайный выход – очередь и датчик случайных чисел
Рассмотрим модельную ситуацию: головка HDD позиционирована на дорожке 15 Очередь запросов к дорожкам: 4, 40, 11, 35, 7, 14
Варианты решения 1. простейшая модель – случайная выборка из очереди
Shortest Service Time First – «жадный» алгоритм – на каждом шаге поиск обмена с минимальным перемещением
4. эффективно когда один потребитель читает примерно в одном месте
5. PRI – алгоритм, основанный на приоритетах процессов. Проблема – голодание (для всех кроме FIFO), запрос может «зависать» из-за прихода наиболее приоритетных.
Алгоритм «лифта» - сначала «движение» в одну сторону до «упора», затем в другую, также до «упора». Для " набора запросов перемещений £ 2-х число дорожек 7. Циклическое сканирование Сканирование в одном направлении. Ищем минимальный номер дорожки, затем «движемся наверх»
8. N-step-SCAN Разделение очереди на подочереди длины £ N запросов каждая (из соображений FIFO). Последовательная обработка очередей. Обрабатываемая очередь не обновляется. Обновление очередей, отличных от обрабатываемой.
RAID системы. RAID – Redundant Array of Independent (Inexpensive) Disks – избыточный массив независимых (недорогих) дисков. Сначала было не independent, а inexpensive. RAID система - набор физических дисковых устройств, рассматриваемых операционной системой, как единое дисковое устройство (данные распределяются по физическим устройствам, образуется избыточная информация, используемая для контроля и восстановления информации). Достигается повышение скорости и надежности. Проблемы
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|