
- •4. Ввод-вывод и файловая система
- •4.1 Задачи ос по управлению файлами и устройствами
- •4.2 Физическая организация жесткого диска
- •4.2 Избыточные дисковые подсистемы raid(raid-массивы)
- •4.3 Файловая система
- •4.4 Физическая организация и адрес файла
- •4.8 Реализации файловых систем
- •4.8.1 Файловая система fat
- •4.8.2 Файловая система hpfs
4. Ввод-вывод и файловая система
4.1 Задачи ос по управлению файлами и устройствами
1. Организация параллельной работы устройств ввода-вывода и процессора;
2. согласование скоростей обмена и кэширование данных;
3. разделение устройств и данных между процессами;
4. организация удобного интерфейса между устройствами и остальной частью системы;
5. поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;
6. динамическая загрузка и выгрузка драйверов;
7. поддержка нескольких файловых систем;
8. поддержка нескольких файловых систем;
9. поддержка синхронных и асинхронных операций ввода-вывода;
4.2 Физическая организация жесткого диска
Основным типом устройства, которое используется в современных вычислительных устройствах для хранения файлов, являются дисковые накопители. Существует множество типов дисков. Наибольшее распространение получили магнитные диски. Их особенностью является одинаковая скорость чтения и записи, что делает их идеальными в качестве дополнительной памяти (страничная подкачка файлов, файловые системы и т.д.). Иногда, с целью создания высоконадежного устройства хранения, используются наборы жестких магнитных дисков (RAID-массивы).
Жесткий диск (Рис. 4.1) состоит из пакета пластин. На каждой стороне каждой пластины расположены концентрические кольца – дорожки, на которых хранятся данные. Нумерация дорожек начинается с 0 от внешнего края к центру. Совокупность дорожек одного радиуса на всех поверхностях всех пластин пакета называется цилиндром. Каждая дорожка разбивается на фрагменты, называемые секторами. Сектор имеет фиксированный для конкретной системы размер, чаще всего размер сектора составляет 512 байт. Учитывая, что дорожки разного радиуса имеют одинаковое количество секторов, плотность записи становится тем выше, чем ближе дорожка к центру.
Сектор – наименьшая адресуемая единица обмена данными дискового устройства с оперативной памятью. Файловая система при работе с диском использует другую единицу дискового пространства – кластер. Кластер – это один или несколько подряд расположенных секторов.
Существуют абсолютная (физическая) и
относительная адресация диска. Для
обращения к диску на физическом уровне
необходимо задать номер цилиндра, номер
поверхности (головки) и номер сектора.
Нумерация физических секторов начинается
с 1.
Рис. 4.1 Схема устройства жесткого диска
Дорожки и секторы создаются в результате выполнения физического (или низкоуровнего) форматирования диска. Низкоуровневый формат диска не зависит от типа операционной системы, которая будет этот диск использовать. Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровнего, или логического, форматирования.
Прежде чем форматировать диск под определенную файловую систему, он может быть разбит на разделы. Раздел – непрерывная часть физического диска, которую операционная система представляет как логическое устройство (логический диск, или логический раздел). На разных логических устройствах одного и того же физического диска могут располагаться разные файловые системы.
4.2 Избыточные дисковые подсистемы raid(raid-массивы)
RAID(RedundantArrayofInexpensiveDisks) – класс устройств ввода-вывода, представляющих массив дисков с избыточностью. Используется для увеличения производительности и надежности дисковых операций.
RAID-массив может быть создан на базе нескольких дисковых устройств, управляемых обычными контроллерами, в этом случае в операционной системе должен быть установлен специальный драйвер. Может быть вариант реализации технологииRAIDс использованием исключительно аппаратных средств. Для этого в системе устанавливаетсяRAID-контроллер для управления массивом дисков. В любом случае весь набор дисков выглядит с точки зрения операционной системы как один большой дисковой накопитель.
Различают несколько вариантов организации RAID-массивов, называемых также уровнями.
В RAID0 (Рис. 4.2, а) общий для дискового устройства контроллер при выполнении операции записи расщепляет данные на блоки и передает их параллельно на все диски, при этом первый блок данных записывается на первый диск, второй – на второй и т.д. по кругу. Подобный способ хранения данных на нескольких дисках называется чередующим набором.
RAID1 (Рис. 4.2, б) называется зеркальным
набором. Логическое устройство в этом
случае образуется на основе одной или
нескольких пар дисков, в которых один
диск является основным, а другой
(зеркальный) дублирует информацию,
находящуюся на основном диске. При
записи информация поступает на оба
диска одновременно. При чтении может
использоваться любая копия.
Рис.4.2. Организация массива
а) RAID-0, б)RAID-1
RAID2 расщепляет данные побитно: первый бит записывается на первый диск, второй – на второй и т.д. Отказоустойчивость реализуется путем использования для кодирования отказоустойчивого кода Хемминга, который обеспечивает исправление однократных ошибок и обнаружение двукратных ошибок. Избыточность обеспечивается за счет нескольких дополнительных дисков для хранения кодов коррекции ошибок.
В RAID3 (Рис.4.3, а) для каждого слова данных подсчитывается один байт четности, записываемый на отдельный диск. Диск четности является резервным. Если какой-либо диск выходит из строя, то данные с остальных дисков плюс данные о четности резервного диска позволяют не только определить, какой из дисков вышел из строя, но и восстановить утраченную информацию.
Организация RAID4 аналогичнаRAID3, расщепляются на дисках не побайтно, а блоками. Для хранения контрольной информации также используется один дополнительный диск. Если любой из дисков выйдет из строя, потерянные байты могут быть восстановлены при помощи той же операции сложения по модулю два.
В RAID5 биты четности равномерно распределены по всем дискам (рис.4.3 б). Восстановление вышедшего из строя диска в этом случае аналогичноRAID4.
RAID10 представляет собой комбинированный способ при котором данные расщепляются (RAID0) и зеркально копируются (RAID1) без вычисления контрольных сумм.
Рис.4.2. Организация массива
а) RAID-0, б)RAID-1, в)RAID-3, г)RAID-5
Таблица 1. Характеристики уровней RAID
Конфигурация RAID |
Избыточность |
Отказоустойчивость |
Скорость чтения |
Скорость записи |
RAID0 |
Нет |
Нет |
Повышенная |
Повышенная |
RAID 1 |
50% |
Есть |
Повышенная |
Повышенная |
RAID 3, RAID 4, RAID 5 |
До 33% |
Есть |
Повышенная |
Пониженная (в разной степени) |
RAID 10 |
50% |
Есть |
Повышенная |
Повышенная |