Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Устройства по способу выделения


· Монопольные используются только одним процессом (принтер) статически или динамически

· Разделенные выделяются динамически (винчестер)

· Виртуальные моделируются в виде дисковых файлов на реальной аппаратуре

Например, если принтер занят приложением Word, то Excel с помощью виртуального устройства напечатает в файл, а потом этот файл будет передан на принтер. Другой пример – окна.

Обслуживание устройства

· Отслеживание состояния устройства (свободно/занято)

· Поддержка стратегии удовлетворения запроса к ресурсу

· Выделение

· Удаление

Если ОС поддерживает физическое устройство, у него есть UCB – Unit Control Block (блок управления устройством). Он обслуживается системным процессом, и существует как у реальных, так и у виртуальных устройсв.

UCB:

· идентификация устройства

· ресурсы устройства (DMA, IRQ, I/O port, …)

· размер UCB

· адрес и характеристика буферов обмена

· адрес драйвера

· состояние устройства

Ø свободно

Ø занятоàчем занятоàсостояние в процессе

· адрес семафора и очереди (для совместных устройств)

Разделение устройств

Обслуживание очереди процессов (HDD):

1. Принцип FIFO (FCFS – First Came First Served), низкая производительность.

2. SSTF – Search Short Time First. Обслуживаются процессы для которых время выполнения (перемещения головок) минимально. Потребность во времени на косвенные расходы и возможность присутствия необслуживаемых процессов.

3. SCAN. Головки чтения перемещаются от одного края к другому и обратно, если подходящий процесс есть, то он обслуживается.

Управления виртуальными устройствами ввода/вывода в ОС.

SPOOLing – Simultaneous Peripheral Operating On-Line (Spool Line)

Использование виртуального устройства в момент создания процесса и его завершения. Виртуальное устройство (принтер) моделируется в виде файла. Запрос обрабатывает диспетчер спулинга (печати). Приложению это не важно. Печать будет осуществлена только после формирования задания и освобождения принтера, возможно после окончания процесса. Приложение взаимодействует с виртуальным УВВ d режиме on-line, а то в свою очередь в off-line с реальным УВВ. В случае запроса на прямой вывод диспетчер приостанавливает вывод и дает монополию процессу.

Использование логических устройств.

Их нет ни как файлов, ни как физических устройств. UCB – все, что у них есть.

Когда процесс создается, все необходимые ему устройства моделируются в виде виртуальных устройств.

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

В отличие от спулинга, этот метод всегда работает в режиме on line.

Управление информацией. Характеристика.

Верхний уровень

· Учет внешней памяти

· Форматирование

· Сбор мусора (defrag)

потерянные кластеры (lost clusters) и кластеры принадлежащие одновременно разным файлам

· Учет выделенной памяти

· Учет свободной памяти

· Функции, связанные с сохранностью информации

· Работа с файлами, как с единицей информации в ОС.

· Дескриптор

· Оглавление

· Главный каталог

· Содержание

· Операции над файлами (работают над файлом без учета его внутренней структуры)

· Создание

· Копирование

· Переименование

· Перемещение

· Удаление

· Сравнение

· Защита

· Тестирование (с точки зрения целостности файлов)

· Просмотр содержания

Нижний уровень (с учетом внутренней структуры файла) – I/O уровень, средства ЯП

· Управление вводом-выводом

· Open

· Close

· Выполнение ввода-вывода

· Read

· Write

· Seek

Физические операции выполняет драйвер, а синхронизирует эти процессы – диспетчер устройств.

Метод доступа – программы ОС, выполняющие операции ввода-вывода

· Организация файлов (последовательная, библиотечная)

· Способ функционирования ввода-вывода

· Физический все обязанности – на программиста

· Логический все заботы – на ОС

· Базисный разделение обязанностей

· Средства блокирования и буферизации

Методы буферизации:

1. Режим перемещения – процесс пишет в собственный системный буфер, являющийся частью буферного пула ОС.

2. Режим подстановки – тоже связан со статическим буферным пулом, использует более сложный алгоритм поддержки буферизации.

3. Режим указания – построение динамического буферного пула системы.

Физический метод доступа:

1. Заполнить FCB – File Control Block

2. Написать драйвер

3. Выбрать средства блокировки и деблокировки

4. Обеспечить синхронизацию процессов (драйвера и метода доступа)

5. Выбрать метод буферизации

6. Определить способ организации файла

Базисный метод доступа: можно не писать драйвер и повлиять на средства блокировки и деблокировки.

Файловая структура томов FAT.

Кластер – единица внешней памяти, состоящая из одного или нескольких секторов, которые учитываются как единица выделяемой памяти.

Том FAT

Boot Record FAT MC – main cat. область данных

 

Boot Record

jump * IPL

*- характеристика тома:

1. Количество байт в секторе (512)

2. Количество секторов в кластере

3. Количество секторов на дорожке

4. Количество рабочих поверхностей

5. Количество секторов на диске

6. Количество копий FAT (2)

7. Размер MC в блоках

FAT

Каждому кластеру выделено 12/16/32 (FAT12/FAT16/FAT32) бит в FAT, которые определяют файл, которому он принадлежит.

MC

Каждый каталог описан в нескольких местах. Внутри себя его имя – '..', '.'– определяет текущий каталог. Т.о. каталог описывается в главном каталоге, в себе самом и в подкаталогах. Это необходимо для разных путей поиска файла. Каталог – файл специального назначения, в котором записано содержание этого каталога и который хранится тоже в виде цепочки кластеров. Каталог состоит из элементов по 32 байта, т.е. в одном блоке 16 элементов каталога:

Байты:

0-7 – имя файла (каталога) - 8 байт

8-10 – расширение - 3 байта

11 – байт атрибутов (Биты: read only, hidden, system, volume, directory, archived и 2 зарезервировано) – 1 байт

12-21 – reserved – 10 байт

22-23 – дата создания – 2 байта

24-25 – время создания – 2 байта

26-27 – номер первого кластера, который равен номеру первого элемента в FAT – 2 байта

28-31 – длина файла – 4 байта

Атрибут Volume используется только в файле, описывающем метку тома, в остальных – 0. В элементы FAT может быть занесено одно из следующих значений:

0000 – кластер свободен

0002-FFF0 – кластер занят

FFF7 – плохой кластер

FFFF – последний кластер цепочки

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

При удалении файла его первый символ в названии заменяется на русскую букву 'х'. Физически файл стирается при нехватке места на диске.

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

0 à номер дополнительного элемента (0x42 – последний)

1-9 à под имя

10 à байт атрибутов (0x0F)

11,12 à зарезервировано

13-25 à под имя

26,27 à 0 (номер первого кластера)

28-31 à под имя

Итого 26 байт для имени, причем оно кодируется в Unicode. Может быть до 20 дополнительных элементов для одного имени, т.е. максимальная длина имени ~260 символов.

Файловая структура томов NTFS.

Недостаток FAT – при больших размерах логических дисков значительно вырастает размер кластеров, так как их общее число ограничено. При использовании NTFS все пространство разбивается на две части: системная область и область данных. Системная область состоит из набора файлов обеспечивающих работу NTFS. Первый и самый важный из них – MFT (Master File Table), а также:

- Копия MFT (MFT Mirror)

- Журнал транзакций (log) – регистрирует изменения тома, помогает при восстановлении после сбоев

- Volume – файл описания тома

- Bad Cluster Table – таблица bad кластеров

- Таблица описания атрибутов

- Таблица выделенных кластеров

- …

MFT состоит из элементов по 1 Кб, которые описывают файлы (каталоги). Если файл маленький, то он размещается прямо в этой записи.

Элемент MFT, описывающий каталог:

системная информация имя права доступа данные – атрибут индекса

Элемент MFT, описывающий файл:

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

Таблица кластеров:

VCN LCN Value

VCN (Virtual Cluster Number) – номер кластера от 0 до MAX для данного файла.

LCN (Logical Cluster Number) – реальный номер кластера на диске, куда будет помещен виртуальный кластер.

Value – количество подряд идущих кластеров.

Любая операция отражается в нескольких системных файлах. Это повышает стабильность. Размер кластера можно брать любым (обычно 4 Кб). Он практически не зависит от объема носителя (логического диска).



Последнее изменение этой страницы: 2016-07-22

headinsider.info. Все права принадлежат авторам данных материалов.