Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Экзамен ОС 2018

.pdf
Скачиваний:
118
Добавлен:
29.01.2018
Размер:
4.67 Mб
Скачать

Оглавление

Типы:

обычные файлы

-Текстовые файлы состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере.

-Двоичные файлы не используют ASCII-коды, они часто имеют сложную внутреннюю структуру. Например, исполняемый файл в ОС Unix имеет пять секций: заголовок, текст, данные, биты реаллокации и символьную таблицу. Любая операционная система должна уметь распознавать хотя бы один тип файлов – их собственные исполняемые файлы. Другим примером бинарного файла может быть архивный файл.

специальные файлы

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

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

-Специальные файлы, так же как и устройства ввода-вывода, делятся на блок-ориентированные и байт-ориентированные.

файлы-каталоги

Логическая организация файлов:

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

Логическая запись – это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи.

Три схемы логической организации файла:

-записи фиксированной длины;

-записи переменной длины с последовательной организацией;

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

Оглавление

Оглавление

Физическая организация файлов:

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

Файл состоит из физических записей – блоков.

Блок – наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью.

Примерами блоков являются сектора, кластеры и цилиндры.

Способы:

Непрерывное размещение - единый сплошной участок дисковой памяти. Связанный список индексов - c каждым блоком связывается некоторый элемент

– индекс. Индексы располагаются в отдельной области диска. Если некоторый

Оглавление

Оглавление

блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла.

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

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

Каталоги:

Каталоги – системные файлы, поддерживающие структуру файловой системы.

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

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

Логическая организация ФС:

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

Иерархия каталогов может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть – если файл может входить сразу в несколько каталогов.

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

Оглавление

Оглавление

Повышение производительности файловых систем:

Кэширование дисковых операций ввода/вывода:

-Перехват запросов к внешним блочным ЗУ, промежуточным программным слоем – подсистемой буферизации (ПБ).

-ПБ представляет собой буферный пул, располагающийся в ОЗУ, и комплекс программ, управляющих этим пулом по принципу кэш-памяти.

-Размер каждого буфера пула равен размеру одного блока.

-Кэширование может выполняться как

при выполнении операций чтения диска:

при выполнения операций записи на диск:

Оглавление

Оглавление

Опережающее чтение:

-Второй метод увеличения производительности ФС состоит в попытке получить блоки диска в кэш прежде, чем они потребуются. В частности, многие файлы считываются последовательно.

-Когда ФС получает запрос на чтение блока k файла, она выполняет его, но после этого сразу проверяет, есть ли в кэше блок k + 1. Если этого блока в кэше нет, ФС читает его в расчете, что к тому моменту, когда он понадобится, этот блок уже будет считан в кэш.

Снижение времени перемещения блока головок:

-Другой важный метод состоит в уменьшении затрат времени на перемещение блока головок. Достигается это помещением блоков, к которым высока вероятность доступа в течение короткого интервала времени, близко друг к другу.

-Три возможные ситуации, которые могут привести к увеличению затрат времени на перемещение блока головок:

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

-чтение фрагментированного файла;

-два обращения к диску при чтении блока данных файла.

Использование RAID-систем:

См. Вопрос №6

4. Способы учета свободного дискового пространства.

Способы учета свободного дискового пространства:

Связанный список (linked list) – в этом случае все свободные блоки связываются в общий список, указатель на первый свободный блок

Оглавление

Оглавление

размещается в специально отведенном месте диска. Недостаток этого решения состоит в том, что для просмотра всего списка нужно выполнить много обращений к диску. Однако, обычно, необходим только первый свободный блок.

Битовая карта (bit map) – в этом случае список свободных блоков диска реализован в виде битового вектора. Каждый блок представлен одним битом, принимающим значение 0 или 1, в зависимости от того, занят он или свободен.

Групповой способ (grouping) – модификации подхода связанного списка, в первом свободном блоке хранятся адреса n свободных блоков. Первые n-1 этих блоков действительно используются, а последний блок содержит адреса других n блоков и т. д.

Способ «счетчика» (counting) – каждая группа последовательных свободных блоков описывает парой чисел (номер стартового свободного блока; число последовательных свободных блоков).

Оглавление

Оглавление

5. Файловые системы FAT и FAT32. Структура логического диска. Элемент каталога. Логическая, физическая организация файлов. Хранение длинных имен. Повышение производительности файловых систем.

5.1 Файловые системы FAT и FAT32

FAT (англ. File Allocation Table — «таблица размещения файлов») — это классическая архитектура файловой системы.

5.1.1 Файловая система FAT16

Разработана Биллом Гейтсом и Марком МакДональдом в 1976-1977 годах и первоначально использовалась в операционной системе 86-DOS. В дальнейшем 86-DOS была приобретена Microsoft и стала основой для ОС MS-DOS 1.0, выпущенной в августе 1981 года.

FAT16 была вначале предназначена для работы с гибкими дисками размером менее 1 Мбайт и не предусматривала поддержки жестких дисков.

В FAT16 имена файлов имеют формат 8.3 (8 символов, образующие имя файла, и последние 3, образующие расширение) и состоят только из символов кодировки ASCII.

Поддерживается 16-разрядная адресация кластеров – максимальное число адресуемых кластеров – 65 524.

5.1.2 Файловая система VFAT

VFAT — это расширение FAT16, появившееся в первой версии Windows 95. Во второй версии Windows 95 пользователям была предложена уже FAT32. Virtual FAT поддерживала длинные имена файлов (Long File Name, LFN) в

кодировке UTF-16LE, при этом LFN хранятся одновременно с именами в формате 8.3,

называемыми SFN (Short File Name).

LFN нечувствительны к регистру при поиске.

Длинные имена (LFN) хранятся в специально отформатированных 32-байт записях, байт атрибутов у которых равен 0x0F.

Поддерживает разделы до 4 Гб.

VFAT использует 16-разрядную адресацию кластеров.

5.1.3 Файловая система FAT32

FAT32 — последняя версия файловой системы FAT и улучшение предыдущей версии, известной как FAT16. Она была создана, чтобы преодолеть ограничения на размер тома в FAT16, позволяя при этом использовать старый код программ MS-DOS и сохранив формат.

Поддерживается 32-разрядная адресация кластеров – максимальное число адресуемых кластеров – 4 294 377 472.

Поддержка больших разделов (более 4Gb).

Оглавление

Оглавление

Поддержка длинных имен (LFN) до 255 символов, причем нет ограничений на число и размер расширения.

Корневой каталог теперь можно свободно наращивать по мере необходимости подобно подкаталогу. Отсутствуют ограничения на число записей в корневом каталоге.

Имеет более высокую надежность: FAT32 способна перемещать корневой каталог, создает резервную копию загрузочного сектора и может работать с резервной копией FAT.

5.1.4 Файловая система exFAT (иногда называют FAT64)

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

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

Теоретический лимит на размер файла 2^64 байт (16 эксабайт). Максимальный размер кластера увеличен до 2^25 байт (32 мегабайта). Улучшение распределения свободного места за счёт введения битовой карты

свободного места, что может уменьшать фрагментацию диска.

Для корневого каталога ограничения на размер нет. Количество файлов в подкаталогах ограничено числом 2,796,202 ((2^23)/3).

Введена поддержка списка прав доступа.

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

5.2 Структура логического диска

Структура логического диска для всех версий FAT одинакова

Загрузочная запись (первый сектор диска) – служит для загрузки ОС и организации хранения данных.

FAT (File Allocation Table) – таблица размещения файлов.

FAT (копия) - копия таблицы размещения файлов.

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

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

Оглавление

Оглавление

5.3 Элемент каталога

5.3.1 Элемент каталога FAT16

5.3.2 Элемент каталога VFAT

5.3.3 Элемент каталога FAT32

Чтобы обеспечить возможность работы с возросшим числом кластеров, в записи каталога для каждого файла должно выделяться 4 байт для начального кластера файла (по сравнению с 2 байтами в FAT16 и vFAT)

Эти 2 дополнительных байта выделяются среди зарезервированных 10 байт.

Оглавление

Оглавление

5.4 Логическая, физическая организация файлов

5.4.1 Логическая организация файлов

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

5.4.2 Физическая организация файлов

Физическая организация файловой системы FAT основана на использовании

связанного списка индексов (таблица FAT).

Файловая система FAT не может контролировать отдельно каждый сектор диска, поэтому она объединяет смежные сектора в кластеры (clusters). Таким образом, уменьшается общее количество единиц хранения, за которыми должна следить файловая система.

Таблица FAT.

FAT представляет собой таблицу, связывающую кластеры дискового пространства с файлами.

Первые два элемента содержат информацию о самой системе FAT. Третий и последующие элементы ставятся в соответствие кластерам дискового пространства, начиная с первого кластера, отведенного для файлов.

Для любого используемого файлом, но не последнего кластера элемент FAT содержит номер следующего кластера, занятого файлом, таким образом организуется связанный список индексов кластеров, принадлежащих файлу. Для последнего кластера файла в таблице FAT сохраняется значение в диапазоне 0xFFF8 – 0xFFFF.

Оглавление