Материал: 6261

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

106

4.6 Сравнение файловых систем

Рассмотренные выше структуры файловых систем FAT32 и ext2fs демострируют два разных подхода к обработке данных:

•простоту управления, характерную для FAT32;

•скорость обработки больших файлов, характерную для ext2fs.

Влюбом случае, обе файловые системы имеют общую метаструктуру, которая определяется наличием:

•секторов загрузчика ОС;

•суперблока, характеризующего файловую систему и раздел в котором она расположена;

•набора таблиц для разметки и учета использованных блоков данных;

•корневого каталога, с которого начинается логическое построение ФС;

•набора блоков данных, в которых размещаются подкатологи и файлы ФС.

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

Естественным образом, файловые системы FAT32 и ext2fs имеют как свои преимущества, так и недостатки.

Преимущества FAT32:

•простота реализации и эффективность использования всего физического пространства блочных устройств малой емкости;

•широкая известность и распространенность, делающая ее «универсальным

хранилищем» временных ФС.

Недостатки FAT32:

•практическая ограниченность размера ФС и слабая защищенность, делающая ее непригодной для современных ОС и технологий хранения информации;

•высокая фрагментированность ФС в процессе эксплуатации, что снижает

скорость ее работы и негативно воздействует на устройства хранеия данных. Именно эти недостатки потребовали от корпорации Microsoft, в марте 1993 года, замены FAT32 на более сложную и современную ФС: ntfs.

Файловая система ext2 берет свое начало от ФС minix. Файловая система ext - это Extended minix.

Преимущества ext2:

•высокое быстродействие;

•поддержка файлов до 2 Гбайт. Недостатки ext2:

•отсутствие журналирования, снижающее ее надежность;

•недостаточные, по современным меркам, размеры поддерживаемых разде-

лов ФС и размера файлов.

Указанные недостатки ext2 потребовали дальнейшее ее усовершенствование:

•ext3 — журналируемая ФС появилась в ноябре 2001 года; поддерживает размер файлов до 16 ТБайт и размер раздела до 32 ТБайт;

107

•ext4 — журналируемая ФС появилась в октябре 2008 года; поддерживает размер файлов до 16 ТБайт и размер раздела до 1 ЭБайт.

Журналируемая файловая система — это ФС, которая сохраняет список изменений, проводимых с файловой системой, перед фактическим их осуществлением. Записи будущих фактических изменений хранятся в отдельной части ФС, называемой журналом (journal) или логом (log). Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам или метаданным, а затем удаляет эти записи из журнала.

Записи журнала организованы в наборы связанных изменений файловой системы.

Замечание

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

4.7 Стандартизация структуры ФС

Предыдущий учебный материал дает описание блочного устройства на уровне:

•секторов, LBA и разделов винчестера: подразделы 4.1 и 4.2;

•специализированных блоков отдельных ФС, размещаемых в отдельном разде-

ле винчестера: подразделы 4.3 — 4.6; Данный учебный материал рассматривает структуру ФС как организованый набор

файлов и директорий, видимый программами (процессами) пользовательского режима работы отдельных ОС.

В общем случае, структура ФС на уровне файлов и каталогов может быть произвольной, за некоторыми ограничениями, например:

•обязательно наличие корневой ФС ОС;

•обязательно наличие корневого каталога отдельных ФС.

На рисунке 4.7 приведен пример дерева каталогов и файлов некоторой ФС типа UNIX.

Хорошо видно, что это дерево ФС логически структурировано в прикладном плане, например:

•dev — директория размещения узлов устройств ЭВМ (devices);

•usr — директория ориентированная на пользователей (users);

•home — директория для рабочих (домашних) областей пользователей;

•bin — директория расположения исполняемых файлов ОС (binary).

108

Рисунок 4.7 - Пример структуры ФС типа UNIX

В августе 1993 года, в рамках проекта GNU/Linux, стал разрабатываться стандарт на структуру файловой системы (Filesystem Standard), который был выпущен в феврале 1994 года и получил обозначение FSSTND.

Позже, в 1996 году, была организована группа Free Standard Group (FSG), к которой присоединились и другие разработчики ОС.

FSG продолжила разработку структуры иерархии ФС, которая была бы пригодна для всех UNIX-подобных систем. Такой стандарт получил название Filesystem Hierarchy Standard (FHS).

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

Кратко рассмотрим каждый из этих уровней.

Первый уровень иерархии ФС составляют каталоги, которые управляются пользователем root и другими администраторами системы.

 

109

/

Корневой каталог. Должен содержать все, что необходимо для

 

стар-та и запуска ОС, а также на случай восстановления ее из

 

резервной копии.

/bin

Необходимые программы (бинарные файлы).

/boot

Файлы загрузчика LILO (GRUB)

/dev

Устройства (все устройства доступны в виде файлов).

/etc

Файлы конфигурации.

/etc/X11

Файлы конфигурации для X Window.

/home

Домашние каталоги пользователей.

/home/reznik

Домашний каталог пользователя reznik.

/lib

Разделяемые библиотеки, необходимые для работы программ,

 

находящиеся в каталогах /bin, /sbin и др.

/lib/modules

Модули ядра.

/media

Директория монтирования временных ФС (floppy и т.д)

/mnt

Точка для временного монтирования файловых систем.

/opt

Каталог для пакетов программ.

/opt/Office50

Пакет Star Office 5.0 (в данном случае)

/proc

Специальные виртуальные файлы, обеспечивающие доступ к

 

функциям ядра Linux.

/root

Домашний каталог пользователя root.

/sbin

Необходимые системные программы (бинарные файлы).

/tmp

Временные файлы для всех программ. Эти файлы могут уничто-

 

жаться системой при каждой перезагрузке или периодически.

/usr

Второй уровень иерархии.

/var

Изменяемые данные.

Второй уровень иерархии ФС, по замыслу, содержит данные, которые доступны только для чтения и могут использоваться всеми пользователями или несколькими компьютерами сети. В идеале, модифицироваться могут только файлы каталога /usr/local, в который администратор может устанавливать новые программы, не поставляющиеся с системой.

/usr/X11R6

Система X Window, версия 11.6

/usr/X386

Система X Window, версия 11.5

/usr/bin

Программы, предназначенные для пользователей.

/usr/games

Игры и развлечения.

/usr/include

Файлы заголовков для программ на языке С.

 

110

/usr/lib

Библиотеки.

/usr/local

Локальная иерархия (корень третьего уровня иерархии).

 

Обычно сюда монтируются всякие дополнения.

/usr/sbin

Системные программы.

/usr/share

Архитектурно независимые данные:

/usr/share/dict

Словари.

/usr/share/doc

Документация о свободных форматах.

/usr/share/games

Игры.

/usr/share/info

Документация в формате GNU info.

/usr/share/locale

Данные для системной локали.

/usr/share/man

Документация в формате man.

/usr/share/nls

Данные для поддержки национальных языков (NLS).

/usr/share/misc

Все остальные данные.

/usr/share/terminfo

База данных terminfo.

/usr/share/tmac

Макросы для troff.

/usr/share/zoneinfo

База данных и конфигурация местного времени.

/usr/src

Исходные тексты.

/usr/src/linux

Исходные тексты ядра Linux.

Третий уровень иерархии ФС — подобен второму и продолжается в директории

/usr/local.

Далее, более подробно рассмотрим корневую директорию изменяемых данных /var, поскольку она содкржит множество системных данных ОС.

/var

Каталог, содержимое которого может меняться при работе

 

системных программ.

/var/cache

Временно сохраняемые файлы различных программ (браузеров

 

Internet, программы man, сервера шрифтов и другие).

/var/games

Изменяемые файлы для игр из /usr/games.

/var/lock

Lock-файлы, указывающие, что то или иное устройство (обычно

 

модем) занято.

/var/log

Системные журнальные файлы.

/var/mail

Почтовые ящики пользователей.

/var/opt

Изменяемые файлы для программ из /opt.

/var/run

Файлы, имеющие отношение к запущенным в настоящий момент

 

программам, например, хранящие номера процессов.

Источник: https://studfile.net/preview/16438529/