Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Взаимно однозначное соответствие между именем файла и его содержимым.




 

1. Содержимому любого файла соответствует единственное имя файла.

Например,

 

 

Или древообразная иерархическая файловая система

 

2. Содержимому файла может соответствовать два и более имен файла.

 

«Жесткая связь»

 

«Символьные связи»

 

Пространство внешней памяти

 

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

 

  1. Определение оптимального размера блока ФС:

- если «Большой блок»:

- эффективность обмена

- существенная внутренняя фрагментация

(неэффективное использование пространства ВП)

- если «Маленький блок»:

- эффективное использование пространства ВП

- фрагментация данных файла по диску

Развитые системы позволяют параметризовать эту характеристику.

  1. Учет свободных блоков ФС:

исп-ние связного списка свободных блоков. ФС изначально выделяет в пространстве раздела блоки, предназначенные для хранения ссылок на следующие блоки. В ОП - содержимое или часть содержимого 1ого блока, если израсходовалось – читается след блок и т.д.

использование битового массива. Все пространство представляется в виде битовой карты.

Состояние любого блока определяется содержимым бита с номером каждого

блока.

Если блок свободен, бит равен 1, занят – 0.

  1. Квотирование пространства ФС:

Это Учет количества файлов и их размеров у которых атрибут владельца соответствует конкретному пользователю.

2 категории ресурсов:

количество имен файлов (ограничивается размером раздела)

пространство, которое занимают эти файлы

Жесткие лимиты не превышаются

никогда. Гибкие квоты можно

превышать, но после этого

«включается обратный

счетчик» предупреждений. Пока

счетчик!= 0, при каждой

регистрации пользователя в системе

он получает предупреждение; если

счетчик = 0, пользователь блокируется.

 

 

 

Надежность ФС

При работе с ФС возможна потеря информации в результате аппаратного или программного сбоя или случайное удаление файлов. Есть несколько вариантов решения этой проблемы:

 

 

1)Резервное копирование в общем случае должно происходить в ограниченные промежутки времени.

 

•Копируются не все файлы файловой системы (избирательность архивирования по типам файлов);

• Инкрементное архивирование (резервное копирование) – единожды создается «полная» копия, все последующие включают только обновленные файлы;

• Использование компрессии при архивировании (риск потери всего архива из-за ошибки в чтении/записи сжатых данных);

• Проблема архивирования «на ходу» (во время копирования происходят изменения файлов, создание, удаление каталогов и т.д.)

• Распределенное хранение резервных копий.

 

2)Архивирование

Стратегии:

•Физическая архивация

- «один в один» (забывая о структуре ФС);

- интеллектуальная физическая архивация (копируются только использованные блоки файловой системы);

- проблема обработки дефектных блоков.

Логическая архивация – копирование файлов (а не блоков), модифицированных после заданной даты.

 

3)Проверка целостности или непротиворечивости файловой системы.

 

 

При аппаратных или программных сбоях возможна потеря информации:

- потеря модифицированных данных в «обычных» файлах;

потеря системной информации (содержимое каталогов, списков системных блоков, индексные узлы и т.д.)

Уже на ходу, в режиме профилактики

1.Формируются две таблицы:

- таблица занятых блоков;

- таблица свободных блоков;

(размеры таблиц соответствуют размеру файловой системы – число записей равно числу блоков ФС)

Изначально все записи таблиц обнуляются.

 

2. Анализируется список свободных блоков. Для каждого номера свободного блока увеличивается на 1 соответствующая ему запись в таблице свободных.

3. Анализируются все индексные узлы. Для каждого блока, встретившегося в индексном узле, увеличивается его счетчик на 1 в таблице занятых блоков.

4. Анализ содержимого таблиц и коррекция ситуаций.

Возможно 4 случая:

Непротиворечивость файловой системы соблюдена.

 

 

В таблице обнаружился пропавший блок: - Можно оставить как есть, но система «замусоривается»;

- Добавить в список свободных блоков файловой системы.

Образуется дубликат свободного блока – пересоздание списка свободных блоков.

Дубликат занятого блока =>

автоматическое решение

максимально затруднено, имеет место потеря информации в одном из файлов.

5.

 
 

Проверка непротиворечивости файлов ФС:

 

Возможные варианты:

1. L== M – все в порядке

 

2. L!= M - ошибка

 

 

Лекция 8. ОС UNIX. Файловая система.

 

UNIX – революционная ФС, потому что это –

  1. первый системный программный продукт, разработанный с использованием языка высокого уровня (обычно – assembler или макрооператоры к нему);
  2. элегантная и развитая система управления процессами (fork-exec);
  3. особенности ФС:

архитектура ФС. UNIX использует древовидную организацию ФС, которая иногда превращается в ориентированный граф, более сложный, чем дерево.

исп-ние концепции файлов. Практически все в UNIX-машине представлено в виде файлов. Все через единый интерфейс (раньше все сист вызовы были отдельные).

  1. В системе достаточно аккуратно и прагматично организована работа с внешними устройствами. Одно и то же устройство можно в UNIX определить и как байт- и как блок-ориентированное.
  2. ОС 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 – домашние каталоги зарегистрированных пользователей.

 

Внутренняя организация ФС

  1. модель версии SYSTEM V

Суть: ФС в дисковом разделе имеет 3 категории пространства:

спецобласть – часть ФС, в кот находится инф-ция о настройках ФС и актуальном состоянии ФС;

область индексных дескрипторов – системная структура данных, которая описывает состояние файла в ФС;

область рабочих блоков ФС, в кот системные структуры данных, блоки файлов и содержимое файлов.

 

 

Суперблок файловой системы содержит оперативную информацию о текущем состоянии операционной системы, а также данные о параметрах настройки файловой системы. В частности, суперблок содержит информацию о количестве, так называемых, индексных дескрипторов в файловой системе. Также суперблок содержит информацию о количестве блоков, составляющих файловую систему, а также информацию о свободных блоках файлов, о свободных индексных дескрипторах, и прочие данные, характеризующие время, дату модификации и другие специальные параметры.

За суперблоком следует область (пространство) индексных дескрипторов. Индексный дескриптор - это специальная структура данных файловой системы, которая ставится во взаимно однозначное соответствие с каждым файлом. Размер пространства индексных дескрипторов определяется параметром генерации файловой системы по количеству индексных дескрипторов, которые указаны в суперблоке. Каждый индексный дескриптор содержит следующую информацию:

1. Поле, определяющее тип файла (каталог или нет).

2. Поле кода защиты (доступ).

3. Количество ссылок к данному индексному дескриптору из всевозможных каталогов файловой системы (в ситуации нарушения дерева файловой системы). Если значение этого поля равно нулю, то считается, что этот индексный дескриптор свободен.

4. Длина файла в байтах.

5. Статистика: поля, характеризующие дату и время создания и т.п.

6. Поле адресации блоков файлов.

7. массив номеров блоков файла.

 

Массив номеров свободных блоков файла. В суперблоке: все свободные блоки ФС организованы в однонаправленный список: 1й эл-т списка – массив из N ссылок, кот размещены в суперблоке. Нулевой эл-т - № блока из пространства блоков ФС, в котором продолжение списка. ФС работает оперативно с этим массивом. Если много освобождаем – выбираем след блок и складываем.

 

Массив свободных индексных дескрипторов. Массив фиксированного размера, без списочной организации. Запускается специальный процесс:

•Освобождение ИД

- Есть свободное место – номер –> элемент массива

- Нет свободного места – номер “забывается”

•Запрос ИД

- Поиск в массиве

- Массив пустой – обновление массива

- Массив не пустой - ok

 

Массив блоков файлов, кот находятся в ИД. В общем случае состоит из 13ти элементов. Первые 10 – имена 10ти логических блоков памяти. К ним доступ осуществляется без каких-либо накладных расходов. Если больше 10ти – включается в работу косвенность: 1 уровень – 11й элемент – 128 номеров блоков продолжения памяти. Если мало – слово №12, в нем ссылка на № блока, в кот 128 номеров блоков, где каждый содержит 128 № блоков памяти и т.д. Лучше всего может длинный, но непрерывный файл.


 

Файл - каталог

Мы с вами говорили, что одним из свойств операционной системы UNIX является то, что вся информация размещается в файлах, т.е. нет каких-то специальных таблиц, которыми пользуется операционная система, за исключением тех таблиц, которые она создает, уже функционируя в пространстве оперативной памяти. Каталог, с точки зрения файловой системы, - это файл, в котором размещены данные о тех файлах, которые принадлежат каталогу.

В каталоге А содержаться файлы В, С и D, несмотря на то, что файлы В и С могут быть как файлами, так каталогами, а файл D является каталогом.

Каталог состоит из элементов, которые содержат два поля. Первое поле - номер индексного дескриптора, второе поле - это имя файла, которое ассоциировано с данным индексным дескриптором. Номера индексных дескрипторов (в пространстве индексных дескрипторов) начинаются с единицы. Первый индексный дескриптор - индексный дескриптор каталога. В общем случае в каталоге могут встречаться записи, ссылающиеся на один и тот же индексный дескриптор, но в каталоге не могут быть записи, имеющие одинаковые имена. Имя в пределах каталога уникально, но с содержимым файла может ассоциироваться произвольное количество имен. Поэтому есть некоторая неоднозначность в определении понятия файл в операционной системе UNIX. Файл оказывается не просто именованным набором данных: у него есть индексный дескриптор и может быть несколько имен (т.е. имя - вторичная компонента).

При создании каталога в нем всегда создаются две записи: запись на специальный файл с именем «.» (точка), с которым ассоциирован индексный дескриптор самого каталога, и файл «..» (две точки), с которым ассоциируется индексный дескриптор (ИД) родительского каталога. Для нашего примера каталог А имеет, например, ИД с номером 7, а каталог D имеет ИД с номером 5. Файл F имеет ИД №10, файл G имеет ИД №101. В этом случае файл-каталог D будет иметь следующее содержимое:

 

Имя №ИД  
«.»   Первая запись - запись на самого себя.
«..»   Вторая запись - на родителя (каталог А).
«F»   Далее перечислены файлы, которые находятся в этом каталоге.
«G»   Вот таким будет содержимое каталога D.

 

Отличие файла-каталога от обычных файлов пользователя заключается в содержимом поля типа файла в ИД. Для корневого каталога поле родителя будет ссылаться на него самого.

 

Достоинства версии SYSTEM V:

•Оптимизация в работе со списками номеров свободных индексных дескрипторов и блоков.

•Организация косвенной адресации блоков файлов

 

 

Недостатки:

•Концентрация важной информации в суперблоке

•Проблема надежности

•Фрагментация файла по диску

•Ограничения на возможную длину имени файла

 

ФС UNIX имеет недревовидную систему организации, т.к. появился аппарат ссылок. 2 возможности ссылок:

т.н. «жесткая ссылка» - с одним и тем же идентификатором ассоциируется 2 и более имени, размещенных в произвольных точках ФС, все они равноценны;

«текстовая» (символьная) – спец файл-ссылка, сод кот размещается в идентификаторе и содержимое – текстовая строка, указывающая полное имя файла, с кот ассоциируется новое имя.

 

  1. Альтернатива для SYSTEM V – FFS BSD.

 
 

Содержится:

•копия суперблока

•информация о свободных блоках (битовый массив) и о свободных индексных дескрипторах

•массив индексных дескрипторов (ИД)

•блоки файлов

 

 

Характеристики:

1) кластеризация данных;

2) оптимизация физических размещений;

3)

 

3) оптимизация блоков 2х уровней;

 

4) позволяет работать с достаточно большими размерами каталогов, но меняет их структуру.

 

 

Структура каталога FFS


 

 

Управление внешними устройствами.

Управление внешними ресурсами рассматривается как функция, но в основном базируется на аппаратных возможностях ОС. Это скорее компонент ВС, а не ОС, т.к. ОС – это программа с некоторыми свойствами.

Архитектура организации процессора и внешних устройств.

 

  1. Непосредственное управление внешними устройствами центральным процессором.

 

 

историческая модель, основанная на том, что ВСЕ действия по управлению внешними устройствами осуществляется через ЦП. Через эти устр-ва можно передавать информацию о статусе устр-ва (ошибка) и т.п.

предполагается наличие двух потоков:

потока управляющей инф-ции

потока данных

непосредственное управление характеризуется тем, что оба потока обслуживаются ЦП.

=> необходим достаточно большой объем личной работы.

 

  1. Синхронное управление внешними устройствами с использованием контроллеров внешних устройств.

 

Суть контроллера – упрощение работы ЦП, хотя оно все равно непосредственное; функции обнаружения ошибок; функции, которые обеспечивают ЦП несколько более высокоуровневый интерфейс к внешним процессам (например, позиционирование головки, выход на нужный сектор).

 

  1. Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.

 

Х-ся появлением аппарата прерываний, но оба потока в ЦП.

 

  1. Использование контроллера прямого доступа к памяти (DMA) при обмене.

ЦП подает управляющую инф-цию по организации обмена, но поток образующихся данных идет между устройствами и ОП, без ЦП.

  1. Управление внешними устройствами с использованием процессора или канала ввода/вывода.

Обеспечивается высокоуровневый интерфейс для организации ввода/вывода.

 

 

Лекция 9. Программное управление внешними устройствами

 

 

 

Цели:

•унификация программных интерфейсов доступа к внешним устройствам (унификация именования, абстрагирование от свойств конкретных устройств);

•обеспечение конкретной модели синхронизации при выполнении обмена (синхронный, асинхронный обмен);

•обработка возникающих ошибок;

•буферизация обмена (кэширование потоков инф-ции);

•обеспечение стратегии доступа к устройству (например, многопроцессорное+принтер);

•планирование выполнения операций обмена.

Буферизация обмена

T – время обмена;

С – время выполнения программы между обменами

t – общее время выполнения программы

Схемы буферизации ввода-вывода

 

а) Без буферизации

б) Одинарная буферизация

когда буфер освобождается, читается следующий буфер, т.к. считалось то, что потребуется

в) Двойная буферизация

в один буфер — данные для обмена, другой – за предыдущий обмен.

г) Циклическая буферизация

по циклическому списку буферов

Какую схему выбрать зависит от интенсивности буферизации и особенности действий.

 

 

Планирование дисковых обменов

 

поток заказов на обмен превосходит возможности системы в некоторые моменты времени:

1) минимизация

2) разделение приоритетов

3) случайный выход – очередь и датчик случайных чисел

 

Рассмотрим модельную ситуацию:

головка HDD позиционирована на дорожке 15

Очередь запросов к дорожкам: 4, 40, 11, 35, 7, 14

 

Варианты решения

1. простейшая модель – случайная выборка из очереди

2.

 

 

3.

Shortest Service Time First – «жадный» алгоритм – на каждом шаге поиск обмена с минимальным перемещением

 

 

4.

эффективно когда один потребитель читает примерно в одном месте

 

5. PRI – алгоритм, основанный на приоритетах процессов.

Проблема – голодание (для всех кроме FIFO), запрос может «зависать» из-за прихода наиболее приоритетных.

6.

Алгоритм «лифта» - сначала «движение» в одну сторону до «упора», затем в другую, также до «упора». Для " набора запросов перемещений £ 2-х число дорожек

7.

Циклическое сканирование

Сканирование в одном направлении. Ищем минимальный номер дорожки, затем «движемся наверх»

 

 

8. N-step-SCAN

Разделение очереди на подочереди длины £ N запросов каждая (из соображений FIFO). Последовательная обработка очередей. Обрабатываемая очередь не обновляется. Обновление очередей, отличных от обрабатываемой.

 

 

RAID системы.

RAID – Redundant Array of Independent (Inexpensive) Disks – избыточный массив независимых (недорогих) дисков. Сначала было не independent, а inexpensive.

RAID система - набор физических дисковых устройств, рассматриваемых операционной системой, как единое дисковое устройство (данные распределяются по физическим устройствам, образуется избыточная информация, используемая для контроля и восстановления информации).

Достигается повышение скорости и надежности.

Проблемы

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...