Смагин М.С. Вычислительные машины, системы и сети (1088253), страница 12
Текст из файла (страница 12)
Наиболее популярныследующие способы организации размещения файлов:• Непрерывное размещение. При использовании данного способа размещения файлов, под каждый файл выделяются непрерывные участки в адресном пространстве устройств хранения.
Пользователь, или программа,инициирующие создание файла, заранее должны задать размер области, которая для него потребуется. Если непрерывную область нужного размера выделить не возможно, файл не будет создан. Данный способ обеспечивает высокую скорость доступа к данным, поскольку данные из файла локально расположены на диске и не тратится время на поиск рассеянных по диску фрагментов данных. Кроме того, при использовании непрерывного размещения, вдиректориях достаточно хранить информацию об адресе начала файла и егодлине. В ранних дисковых операционных системах, например в системе TRDOS для знаменитого компьютера ZX-Spectrum, также использовалась подобный способ размещения файлов.• Размещение в виде связных списков.
Данный способ предусматривает разбиение файлов на отдельные фрагменты, связанные между собой ссылками. Разбиение файлов на фрагменты, или, как ещё говорят, фрагментирование, позволяет избавиться от основного недостатка, свойственного системам с непрерывным размещением – необходимости поиска непрерывногоучастка памяти, чей размер больше или равен размеру файла. Отсюда вытекает и главный недостаток, – если фрагменты файла произвольно разбросаныпо диску, то доступ к данным, хранимым к файле, существенно замедляется.При использовании связных списков, фрагменты связаны между собой с по81мощью ссылок.
При этом каждый фрагмент, кроме последнего, ссылается нараздел, следующий за ним. В директории же хранится информация только опервом фрагменте файла. Структура связей между фрагментами в связномсписке представлена на рисунке.Рис. 34 Размещение файлов в виде связных списков• Табличное фрагментированное размещение. При использованииданного принципа размещения, все ссылки на фрагменты файлов централизованно хранятся в единой таблице, локально размещённой на жёстком диске.
Это позволяет сократить время доступа к данным. Часто эту таблицу помещают в кэш-память, что также даёт дополнительный выигрыш в производительности. Такая таблица называется таблицей выделения блоков. В этомслучае в директории, как в и предыдущем случае, хранится ссылка на заглавный фрагмент файла. Но при табличном фрагментированном размещении,это ссылка не на сам фрагмент, а на ячейку в таблице выделения блоков.
Вданной ячейке хранится ссылка на ячейку с информацией о следующем блокеи т.д. Если же фрагмент является заключительным, то в соответствующейему ячейке хранится пустая ссылка Null. Принцип организации табличного82фрагментированного размещения файлов представлен на приведённом нижерисунке.Рис.35 Табличное фрагментированное размещение файловНесомненным достоинством файловых систем с табличным фрагментированным размещением является высокая скорость доступа к данным. Однако, по мере роста объёмов жёстких дисков, начали стремительно расти итаблицы размещения блоков. Это привело к тому, что выигрыш в быстродействии начал исчезать, поскольку навигация по перекрёстным ссылкам в таблице размещения блоков стала занимать значительное время, а её размещение в кэш-памяти приводило к непозволительно большой трате её ресурсов.Разработчикам приходилось либо увеличивать минимальный размер фрагмента файла, что приводило к значительным потерям полезного объёма памяти, либо устанавливать предел размеру таблиц, что ограничивало объёмжёстких дисков, поддерживаемых файловой системой.К файловым системам с табличным фрагментированным размещениемотносятся файловые системы семейства FAT, использовавшиеся в операционных системах фирмы Microsoft начиная с MS-DOS и заканчивая Windows98.
Существенный скачёк в объёме жёстких дисков, произошедший в начале832000-х годов, заставил фирму Microsoft перейти к NTFS – файловой системес иным способом размещения файлов• Индексированное фрагментированное размещение Проблема работы с носителями большого объёма была успешно разрешена в файловых системах с индексированным фрагментированным размещением. В подобныхфайловых системах каждому файлу ставится в соответствие свой собственный индексный блок, хранящий информацию о всех фрагментах файла, разбросанных по диску. В этом случае в директории достаточно хранить ссылкудаже не заглавный фрагмент файла, а на его индексный блок.
При поискенужного фрагмента, индексный блок загружается в память. Записанные в нёмссылки используются для определения физического адреса нужного фрагмента искомого файла. Индексные блок, по сути, та же таблица размещенияблоков. Разница в том, что индексные блоки имеют фиксированный размер.Если для файлов большого размера не хватает одного индексного блока, вего ячейках могут храниться ссылки на другие индексные блоки. То есть индексные блоки между собой связанны по механизму связных списков, а доступ к фрагментам файла осуществляется по правилам табличного фрагментированного размещения.
Схема устройства файловой системы с индексированным фрагментированным размещением представлена на рисунке.Рис.36 Индексированное фрагментированноеразмещение файлов84Все описанные способы придуманы, по сути, для решения одной задачи. По мере эксплуатации жёсткого диска, файлы на нём меняют свой размер, удаляются, на их место записываются новые и т.д. В какой-то момент наносителе не остаётся достаточно больших свободных участков, чтобы можнобыло разместить файлы целиком. Приходится их разбивать на фрагменты,размещаемые в разных областях носителя. Такое явление называется фрагментацией и отрицательно влияет на производительность. Разработка сложных способов размещения, таких как индексный или разделённый предназначалась для компенсации отрицательных эффектов фрагментации.Для исправления фрагментированных файлов служит процедура дефрагментации, при которой фрагменты файлов собираются и последовательноразмещаются на носителе.
В современных персональных ЭВМ дефрагментацию рекомендуется выполнять раз в полгода.RAID-массивыНесколько жёстких дисков могут быть объединены в единый массивхранения данных. Данный массив можно организовать так, что он будет восприниматься внешними устройствами как единое хранилище. В зависимостиот способа организации такого массива, он может обладать повышенной скоростью доступа к данным или надёжностью хранения.
Такие массивы получили название RAID-массивов.Аббревиатура RAID первоначально расшифровывалась как RedundantArray of Inexpensive Disks (избыточный массив недорогих дисков). Впоследствии эту аббревиатуру стали расшифровывать как Redundant Array ofIndependent Disks (избыточный массив независимых дисков). Первая версияспецификации RAID была разработана Дэвидом Паттерсоном, Гартом Гибсоном и Рэнди Катцем в 1987. Разберёмся в организации RAID-массива болееподробно.Предположим, имеется набор из нескольких жёстких дисков, объединённых системой управления.
На его основе этого набора дисков можно по85строить один или несколько RAID-массивов различного типа. При этом необходимо руководствоваться типовой структурной схемой RAID-массива,приведённой на рисунке.Рис.37 Структура RAID-массиваДля этого набор дисков необходимо на одну или несколько групп, в зависимости от того, сколько RAID-массивов надо создать. Группа жёсткихдисков, которая будет использована для построения RAID-массива определённого типа, называется дисковой группой (Disk Group – DG).
При организации RAID-массива, все диски из дисковой группы организуются в один логический диск (LD – Logical Disk). Логический диск может быть, вкупе с несколькими другими логическими дисками, дополнительно объединён в единый том (Volume), или напрямую отображаться на логическое устройство(Logical Unit – LUn).Тип RAID-массива, а значит и принцип его организации, задаётся какраз на этапах формирования логического диска и формирования тома из нескольких логических дисков.86Логическое устройство обеспечивает интерфейс с внешними источниками и потребителями информации. При создании и настройке RAIDмассива пользователь может, для повышения надёжности его работы, выделить один или несколько дисков в резерв (Spare Disks), который может бытьлокальным, т.е.
предназначенным для использования в рамках одной дисковой группы, или глобальным, т.е. предназначенным для использования несколькими дисковыми группами.Типы RAID-массивов различаются по способу их логической организации. Современная спецификация предусматривает несколько различныхспособов организации RAID-массивов, каждый из способов в этой спецификации называется «уровнем RAID».
Итак, какие существуют уровни RAID.1. RAID 0Массив минимум из двух дисков с отсутствием избыточности. Информация, записываемая в массив, разбивается на отдельные блоки, называемыестрайпами (полосами), которые записываются на разные винчестеры из массива. Для пользователя такой массив предстаёт как один большой винчестер,ёмкость которого равна сумме ёмкостей всех винчестеров, входящих в егосостав.
Единственное условие состоит в том, что объединяемые винчестерыдолжны иметь одинаковый объём. Иначе суммарная ёмкость массива будетравна произведению количества жёстких дисков на объём самого маленькогоиз них.Достоинством такого способа организации работы винчестеров в массиве является повышение скорости доступа к данным, поскольку системаможет одновременно считывать несколько блоков с разных винчестеров. Основной недостаток – низкая надёжность хранения данных, поскольку в случае выхода из строя одного из винчестеров, теряется и информация, записанная на остальных винчестерах.Предположим, что имеется файл Х. При записи его в массив типаRAID-0, он разбивается на страйпы Х(1)-Х(N), которые будут сохранены надисках, входящих в массив, как указано на рисунке.87Рис.38 Хранение данных в массиве RAID-02. RAID 1 (Mirroring)Массив, работающий в соответствии с этим способом организации,также должен состоять минимум из двух винчестеров. Информация, к которой осуществляется доступ, хранится лишь на одном из винчестеров, на остальных хранится её точная копия.Рис.39 Хранение данных в массиве RAID-1Соответственно, при выходе из строя базового винчестера, информациясохраняется на всех остальных.