Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7. Структура диска. Файловые системы - структур...docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
35.46 Кб
Скачать

Сравнение основных видов фс

Созд.

Дата предст.

Родная ОС или платформа

Макс. длина имен

Доп. символы в названиях

Макс. длина пути

Макс. размер файла

Макс. размер тома

FAT12

Microsoft

1980

Microsoft Disk BASIC

8+3 символов (255 байт для VFAT)

Любые символы ANSI (Unicode для VFAT), кроме NUL

Нет ограничений

32MiB

1MiB — 32MiB

FAT16

Microsoft

1983

MS-DOS 2.0

8+3 символов (255 байт для VFAT)

Любые символы ANSI (Unicode для VFAT), кроме NUL

Нет ограничений

2GiB

16MiB — 2GiB

FAT32

Microsoft

1996

Windows 95b

255 байт

Любые символы Юникода, кроме NUL

Нет ограничений

4GiB

512MiB — 8TiB

NTFS

Microsoft, Gary Kimura, Tom Miller

1993

Windows NT

255 символов

Любые символы Юникода, кроме NUL, " / \ * ? < > | :

32 767 символов Юникода; каждая компонента пути (каталог или имя файла) — до 255 символов

16 EiB

16 EiB

HPFS

IBM & Microsoft

1988

OS/2

255 байт

Любые символы, кроме NUL

Нет ограничений

4GiB

2TiB

UFS1

Kirk McKusick

1994

4.4BSD

255 байт

Любые символы, кроме NUL

Нет ограничений

4GiB — 256TiB

256TiB

UFS2

Kirk McKusick

2004

FreeBSD 5.0

255 байт

Любые символы, кроме NUL

Нет ограничений

512GiB — 32PiB

1YiB

FAT

Файловая система FAT (File Allocation Table) была разработана Биллом Гейтсом и Марком Макдональдом в 1977 году.

Сейчас существуют три типа файловой системы FAT:

FAT12 – поддерживает очень небольшие объемы дисков, поэтому сейчас она применяется только на дискетах.

FAT16 – используется на винчестерах и поддерживает диски объемом до 2 Гб, поэтому сейчас данная файловая система практически не используется.

FAT32 – теоретически поддерживаются диски объемом до 2 Тб. Поддерживается, начиная с операционной системы Windows 95 OSR2. Данная файловая система сейчас достаточно популярна, хотя в последние годы многие пользователи Windows XP предпочитают использовать NTFS (New Technology File System).

Структура:

– Загрузочный сектор

В начале раздела диска с файловой системой FAT располагается загрузочный сектор. Он необходим для начальной загрузки компьютера. Так же в нем располагается информация о параметрах данного раздела.

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

Вся область данных диска разделена на кластеры – блоки, размер которых задается при форматировании диска. На дискете, например, размер кластера равен 512-ти байтам. А на современных винчестерах с объемом диска более 32 Гб размер кластера равен 32 Кб. Каждый файл и каталог занимает один или несколько кластеров. Таким образом, образуются цепочки кластеров.

В таблице размещения файлов каждый кластер помечается специальным образом. Размер метки в битах для каждого кластера указывается в названии файловой системы. Т.е. для файловой системы FAT16 размер метки будет равен 16-ти байтам, для FAT32 – 32-м и т.д.

Всего существует три типа меток для кластеров:

Свободный кластер – кластер, в который будут записываться новые файлы и каталоги.

Занятый кластер – в метке указывается следующий кластер в цепочке. Если цепочка кластеров заканчивается, то кластер помечается особой меткой.

BAD-блок – кластер с ошибками доступа. Помечается при форматировании диска, что бы исключить в последующем доступ к нему.

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

– Корневой каталог

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

– Область данных

Оставшаяся часть раздела, на которой размещается содержимое файлов и каталогов.

NTFS

Операционные системы Microsoft семейства Windows NT нельзя представить без файловой системы NTFS - одной из самых сложных и удачных из существующих на данный момент файловых систем. Данная статья расскажет вам, в чем особенности и недостатки этой системы, на каких принципах основана организация информации, и как поддерживать систему в стабильном состоянии, какие возможности предлагает NTFS и как их можно использовать обычному пользователю.

Структура

Как и любая другая система, NTFS делит все полезное место на кластеры - блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт. Никаких аномалий кластерной структуры NTFS не имеет, поэтому на эту, в общем-то, довольно банальную тему, сказать особо нечего.

Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону - пространство, в которое растет метафайл MFT (об этом ниже). Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой - это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.

Свободное место диска, однако, включает в себя всё физически свободное место - незаполненные куски MFT-зоны туда тоже включаются. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях операционных систем ровно в два раза), освобождая таким образом место для записи файлов. При освобождении места в обычной области MFT зона может снова расширится. При этом не исключена ситуация, когда в этой зоне остались и обычные файлы: никакой аномалии тут нет. Что ж, система старалась оставить её свободной, но ничего не получилось. Жизнь продолжается... Метафайл MFT все-таки может фрагментироваться, хоть это и было бы нежелательно.

Файловая система NTFS представляет собой выдающееся достижение структуризации: каждый элемент системы представляет собой файл - даже служебная информация. Самый главный файл на NTFS называется MFT, или Master File Table - общая таблица файлов. Именно он размещается в MFT зоне и представляет собой централизованный каталог всех остальных файлов диска, и, как не парадоксально, себя самого. MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны операционной системе - они называются метафайлами, причем самый первый метафайл - сам MFT. Эти первые 16 элементов MFT - единственная часть диска, имеющая фиксированное положение. Интересно, что вторая копия первых трех записей, для надежности - они очень важны - хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска - восстановить его положение можно с помощью его самого, "зацепившись" за самую основу - за первый элемент MFT.

Первые 16 файлов NTFS (метафайлы) носят служебный характер. Каждый из них отвечает за какой-либо аспект работы системы. Преимущество настолько модульного подхода заключается в поразительной гибкости - например, на FAT-е физическое повреждение в самой области FAT фатально для функционирования всего диска, а NTFS может сместить, даже фрагментировать по диску, все свои служебные области, обойдя любые неисправности поверхности - кроме первых 16 элементов MFT.

HPFS

Высокопроизводительная файловая система HPFS (High Performance File System) была представлена фирмой IBM в 1989 году вместе с операционной системой OS/2 1.20. Файловая система HPFS также поддерживалась ОС Windows NT до версии 3.51 включительно. По производительности эта ФС существенно опережает FAT. HPFS позволяет использовать жесткие диски объемом до 2 Терабайт (первоначально до 4 Гбайт). Кроме того, она поддерживает разделы диска размером до 512 Гб и позволяет использовать имена файлов длиной до 255 символов (на каждый символ при этом отводится 2 байта). В HPFS по сравнению с FAT уменьшено время доступа к файлам в больших каталогах.

HPFS распределяет пространство на диске не кластерами как в FAT, а физическими секторами по 512 байт, что не позволяет ее использовать на жестких дисках, имеющих другой размер сектора. Эти секторы принято называть блоками. Чтобы уменьшить фрагментацию диска, при распределении пространства под файл HPFS стремится, по возможности, размещать файлы в последовательных смежных секторах. Фрагмент файла, располагающийся в смежных секторах, называется экстентом.

Для нумерации единиц распределения пространства диска HPFS использует 32 разряда, что дает 232, или более 4 миллиардов номеров. Однако HPFS использует числа со знаком, что сокращает число возможных номеров блоков до 2 миллиардов. Помимо стандартных атрибутов файла, HPFS поддерживает расширенные атрибуты файла (Extended Attributes, EA), которые могут содержать до 64 Кб различных дополнительных сведений о файле.

Диск HPFS имеет следующие три базовые структуры : загрузочный блок (BootBlock), дополнительный блок (SuperBlock) и резервный блок (SpareBlock).

Дисковый раздел HPFS:

Загрузочный блок

Дополнительный блок

Резервный блок

Группа 1

Битовая карта группы 1

Битовая карта группы 2

Группа 2

Группа 3

Битовая карта группы 3

Битовая карта группы 4

Группа 4

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

В 16 секторе размещается дополнительный блок, содержащий указатель на список блоков битовых карт (bitmap block list). В этом списке перечислены все блоки на диске, в которых расположены битовые карты, используемые для обнаружения свободных секторов. Также в дополнительном блоке хранится указатель на список дефектных блоков (bad block list), указатель на группу каталогов (directory band), указатель на файловый узел корневого каталога и дата последней проверки диска. Файловый узел (fnode) – это структура диска HPFS, которая содержит информацию о расположении файла и о его расширенных атрибутах.

В следующем секторе находится резервный блок, содержащий карту аварийного замещения (hotfix map), указатель на список свободных запасных блоков (directory emergency free block list) и ряд системных флагов. Резервный блок обеспечивает высокую отказоустойчивость HPFS и позволяет восстанавливать поврежденные данные на диске.

Остальное пространство диска разделено на группы (band) хранения данных. Каждая группа занимает 8 Мб и имеет свою собственную битовую карту свободного пространства, которая похожа на таблицу размещения файлов FAT. Каждому сектору группы соответствует один бит к ее битовой карте, показывающий занят ли соответствующий сектор. Битовые карты двух групп располагаются на диске рядом, также как располагаются и сами группы. Это дает возможность непрерывно разместить на жестком диске файл размером до 16 Мб. Одна из групп данных размером 8 Мб, расположенная в середине жесткого диска и называемая группой каталогов, хранит информацию о каталогах диска. В ней наряду с остальными каталогами располагается и корневой каталог. Расположение группы каталогов в центре диска значительно сокращает время позиционирования головок чтения/записи.

В отличие от линейной структуры FAT, структура каталога в HPFS представляет собой сбалансированное дерево (так называемое B-дерево) с записями, расположенными в алфавитном порядке. Сбалансированное дерево состоит из корневого (root block) и оконечных блоков (leaf block). Блоки занимают 4 последовательных сектора и в среднем могут содержать 40 записей. Каждая запись корневого блока указывает на один из оконечных блоков (если только в каталоге не меньше 40 файлов); в свою очередь, каждая запись в оконечном блоке указывает на файловый узел файла или на оконечный блок следующего уровня. Таким образом, двухуровневая структура может содержать 40 оконечных блоков по 40 записей в каждом и описывать до 1600 файлов. При поиске файловая система HPFS просматривает только необходимые ветви дерева.

Файловый узел имеет размер 512 байт и всегда по возможности располагается непосредственно перед первым блоком своего файла. Каждый файл и каталог диска HPFS имеет свой файловый узел. Информация, хранящаяся в файловом узле, включает в себя расширенные атрибуты файла, если они достаточно малы, чтобы поместится в один сектор диска. Если расширенные атрибуты не помещаются в файловый узел, то в него записывается указатель на них. Положение файла на диске описывается в файловом узле двумя 32-битными числами. Первое из чисел представляет собой указатель на первый блок файла, а второе - длину экстента. Если же файл фрагментирован, то его размещение описывается дополнительными парами 32-битных чисел. В файловом узле можно хранить информацию максимум о 8 экстентах файла. Если файл имеет больше число экстентов, то в его файловый узел записывается указатель на блок размещения (allocation block), который может содержать до 40 указателей на экстенты или на другие блоки размещения. Таким образом, двухуровневая структура блоков размещения может хранить информацию о 480 (12*40) секторах, что теоретически, позволяет работать с файлами размером до 7.68 Гб (12*40*16 Мб).

UFS

UFS представляет собой дисковую файловую систему, которая используется по умолчанию в системном программном обеспечении Solaris. Файловая система UFS обладает следующими особенностями:

Флаги состояния. Показывают состояние файловой системы как чистое, стабильное, активное или неизвестное. Наличие флагов состояния исключает проведение дополнительных (излишних) проверок файловой системы. Если файловая система чистая или стабильная, то утилита проверки файловой системы под названием fsck (file system check) не запускается при загрузке системы.

Ф EFT (Extended Fundamental Types - расширенные фундаментальные типы). В их число входят 32-разрядные идентификатор пользователя UID, идентификатор группы GID и номера устройств.

Большие файловые системы. Файловая система UFS может иметь размер до I Тбайт и содержать стандартные файлы размером до 2 Гбайт. По умолчанию системное программное обеспечение Solaris не поддерживает расслоение дисков, которое требуется для формирования логических частей диска, достаточно больших для файловой системы размером в 1 Тбайт. Эту возможность предоставляют необязательные пакеты программного обеспечения, такие как Solstice DiskSuite.

Необходимость в создании (или в пересоздании) файловой системы UFS возникает только в тех случаях, когда вы выполняете одну из следующих операций:

Добавляете или заменяете диски

Изменяете части существующего диска

Выполняете полное восстановление файловой системы

Изменяете параметры файловой системы, такие как размер блока или размер свободного пространства При создании файловой системы UFS дисковая часть делится на группы цилиндров. Затем упомянутая часть делится на блоки для контроля и организации структуры файлов внутри данной группы цилиндров. В файловой системе каждый блок выполняет специфическую функцию. Файловая система UFS имеет следующие четыре типа блоков:

Загрузочный блок (boot block). Хранит информацию, которая используется при выполнении загрузки системы.

Суперблок (superblock). Хранит важную информацию о файловой системе.

Индексный дескриптор (inode). Хранит всю информацию о файле за исключением его имени.

Блок хранения, или блок данных. Хранит данные каждого файла.

Загрузочный блок

Загрузочный блок хранит процедуры, используемые при выполнении загрузки системы. Без загрузочного блока система не загружается. Если файловая система не используется при загрузке системы, загрузочный блок остается пустым. Загрузочный блок появляется только в первой группе цилиндров (группа 0) и занимает первые 8 Кбайт части диска.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]