Самодел 2003 (1114718), страница 11
Текст из файла (страница 11)
- Массив пустой – обновление массива
- Массив не пустой - ok
Массив блоков файлов, кот находятся в ИД. В общем случае состоит из 13ти эдементов. Первые 10 – имена 10ти логич блоков памяти. К ним доступ осуществляется без к-л накладных расходов. Если больше 10ти – включается в работу косвенность: 1 уровень – 11й элемент – 128 номеровблоков проджолжения памяти. Еслим мало – слово №12, в нем ссылка на № блока, в кот 128 номеров блоков, где каждый содержит 128 № блоков памяти и т.д. Лучше всего может длинный, но непрерывный файл.
Файл - каталог
Мы с вами говорили, что одним из свойств операционной системы UNIX является то, что вся информация размещается в файлах, т.е. нет каких-то специальных таблиц, которыми пользуется операционная система, за исключением тех таблиц, которые она создает, уже функционируя в пространстве оперативной памяти. Каталог, с точки зрения файловой системы, - это файл, в котором размещены данные о тех файлах, которые принадлежат каталогу.
Каталог состоит из элементов, которые содержат два поля. Первое поле - номер индексного дескриптора, второе поле - это имя файла, которое ассоциировано с данным индексным дескриптором. Номера индексных дескрипторов (в пространстве индексных дескрипторов) начинаются с единицы. Первый индексный дескриптор - индексный дескриптор каталога. В общем случае в каталоге могут встречаться записи, ссылающиеся на один и тот же индексный дескриптор, но в каталоге не могут быть записи, имеющие одинаковые имена. Имя в пределах каталога уникально, но с содержимым файла может ассоциироваться произвольное количество имен. Поэтому есть некоторая неоднозначность в определении понятия файл в операционной системе UNIX. Файл оказывается не просто именованным набором данных: у него есть индексный дескриптор и может быть несколько имен (т.е. имя - вторичная компонента).
При создании каталога в нем всегда создаются две записи: запись на специальный файл с именем «.» (точка), с которым ассоциирован индексный дескриптор самого каталога, и файл «.. » (две точки), с которым ассоциируется индексный дескриптор (ИД) родительского каталога. Для нашего примера каталог А имеет, например, ИД с номером 7, а каталог D имеет ИД с номером 5. Файл F имеет ИД №10, файл G имеет ИД №101. В этом случае файл-каталог D будет иметь следующее содержимое:
Имя | №ИД | ||
«. » | 5 | Первая запись - запись на самого себя. | |
«.. » | 7 | Вторая запись - на родителя (каталог А). | |
«F» | 10 | Далее перечислены файлы, которые находятся в этом каталоге. | |
«G» | 101 | Вот таким будет содержимое каталога D. |
Отличие файла-каталога от обычных файлов пользователя заключается в содержимом поля типа файла в ИД. Для корневого каталога поле родителя будет ссылаться на него самого.
Достоинства версии SYSTEM V:
•Оптимизация в работе со списками номеров свободных индексных дескрипторов и блоков.
•Организация косвенной адресации блоков файлов
Недостатки:
•Концентрация важной информации в суперблоке
•Проблема надежности
•Фрагментация файла по диску
•Ограничения на возможную длину имени файла
ФС UNIX имеет недревовидную систему органтизации, т.к. появился аппарат ссылок. 2 возможности ссылок:
-
т.н. «жесткая ссылка» - с одним и тем же идентификатором ассоциируется 2 и более имени, размещенных в произвольных точках ФС, всен они рабноценны;
-
«текстовая» (символьная) – спец файл-ссылка, сод кот размещается в идентификаторе и содержимое – текстовая строка, указывающая полное имя файла, с кот ассоциируется новое имя.
-
Альтернатива для SYSTEM V – FFS BSD.
Содержится:
•копия суперблока
•информация о свободных блоках (битовый массив) и о свободных индексных дескрипторах
•массив индексных дескрипторов (ИД)
•блоки файлов
Характеристики:
-
кластеризация данных;
-
оптимизация физ размещений;
-
оптимизация блоков 2х уровней;
4) позволяет работать с достаточно большими размерами каталогов, но меняет их структуру.
Структура каталога FFS
Управление внешними устройствами.
Управление внешними ресурсами рассматривается как функция, но в основном базируется на аппаратных возможностях ОС. Это скорее компонент ВС, а не ОС, т.к. ОС – это программа с некоторыми свойствами.
Архитектура организации процессора и внешних устройств.
-
Непосредственное управление внешними устройствами центральным процессором.
историческая модель, основанная на том, что ВСЕ действия по управлению внешними устройствами осуществляется через ЦП. Через эти устр-ва можно передавать инфтрмацию о статусе устр-ва (ошибка) и т.п.
предполагается наличие двух потоков:
-
потока управляющей инф-ции
-
потока данных
непостедственное управление х-ся тем, что оба потока обслуживаются ЦП.
=> необходим достаточно большой объем личной работы.
-
Синхронное управление внешними устройствами с использованием контроллеров внешних устройств.
Суть контроллера – упрощение работы ЦП, хотя оно все равно непостредственное; функции обнаружения ошибок; функции, которые обеспечивают ЦП нессколько более высокоуровневый интерфейс к внешним процессам (например. Позиционирование головки, выход на нужный сектор).
-
Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.
Х-ся появлением аппарата прерываний, но оба потока в ЦП.
-
Использование контроллера прямого доступа к памяти (DMA) при обмене.
ЦП подает управляющую инф-цию по организации обмена, но поток образующихся данных идет между устройствами и ОП, без ЦП.
-
Управление внешними устройствами с использованием процессора или канала ввода/вывода.
Обеспечивается высокоуровневый интерфейс для организации ввода\вывода.
Лекция 9. Программное управление внешними устройствами
Цели:
•унификация программных интерфейсов доступа к внешним устройствам (унификация именования, абстрагирование от свойств конкретных устройств);
•обеспечение конкретной модели синхронизации при выполнении обмена (синхронный, асинхронный обмен);
•обработка возникающих ошибок ;
•буферизация обмена (кэширование потоков инф-ции);
•обеспечение стратегии доступа к устройству (например, многопроцессорное+принтер);
•планирование выполнения операций обмена.
Буферизация обмена
T – время обмена;
С – время выполнения программы между обменами
t – общее время выполнения программы
Схемы буферизации ввода-вывода
а) Без буферизации
б) Одинарная буферизация
когда буфер освобождается, читается следующий буфер, т.к. считалось то, что потребуется
в) Двойная буферизация
в один буфер — данные для обмена, другой – за предыдущий обмен.
г) Циклическая буферизация
по циклическому списку буферов
Какую схему выбрать зависит от интенсивности буферизации и особенности действий.
Планирование дисковых обменов
поток заказов на обмен превосходит возможности системы в некоторые моменты времени:
-
минимизация
-
разделение приоритетов
-
случайний выход – очередь и датчик случайных чисел
Рассмотрим модельную ситуацию:
головка 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 – избыточный массив независимых (недорогих) дисков. Сначало было не iindependent, а inexpensive.
RAID система - набор физических дисковых устройств, рассматриваемых операционной системой, как единое дисковое устройство (данные распределяются по физическим устройствам, образуется избыточная информация, используемая для контроля и восстановления информации).
Достигается повышение скорости и надежности.
Проблемы
-
эффективность ( когда есть все уровни КЭШ, но нет интенсивности потоков)
-
одно из основных качеств программного решения – надежность (24 часа 7 дней в неделю)
Семь уровней RAID систем.
RAID 0 (без избыточности)
совокупность независимых друг от друга устр-в. нет избыточности инфориъмации. Есть возможность предельного доступа в пределах 1 цикла. Полосы, попавшие на ракзные дисковые усир-ва могут быть параллельными. Ускорение дисковых систем.