Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Изучение Linux.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.5 Mб
Скачать

2.7Файловые системы Linux

От свойств файловая системы, особенностей архитектуры, возможностей, надежности во многом зависит работоспособность операционной системы. Помимо продуманной "родной" файловой системы желательно, чтобы была возможность также работать с другими наиболее распространенными файловыми системами (например, FAT16/FAT32).

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

VFS и драйверы файловых систем являются одной из важнейших составляющих ядра. Для того, чтобы получить доступ к файлам, хранящимся на каком-либо устройстве хранения данных, необходимо, чтобы был активен драйвер соответствующей файловой системы, и файловая система была смонтирована. Драйвера всех файловых систем поддерживают набор стандартных функций: открыть файл по имени, записать данные в файл, прочитать данные из файла, закрыть файл, удалить файл и т.д. Буферизация (кэширование) выполняется на уровне VFS.

В настоящее время в Linux наиболее часто используется 2-я и 3-я версия файловой системы ExtFS "Extended File System". Ext3 отличается поддержкой журналирования. Существуют также и другие журналируемые файловые системы: ReiserFS и JFS от фирмы IBM.

Как правило, у этих файловых систем существует специальная область, называемая журналом. Журналирование должно обеспечивать целостность файловой системы после внезапного сбоя, такого как отключение питания. Для этого такие файловые системы, как reiserfs и ext3 в Linux, все изменения метаданных (служебной информации), а в некоторых режимах и данных (содержимого файлов) записывают сначала в журнал (выделенную область файловой системы), и только после попадания в журнал всех изменений (вызванных одной операцией) начинают изменять метаданные в их обычном месте. После сбоя, при следующем монтировании, система читает журнал и завершает все неоконченные транзакции, записанные в журнале, а те, что не успели полностью записаться в журнал, игнорирует. Таким образом гарантируется, что каждая транзакция будет либо полностью завершена, либо не будет иметь никакого эффекта.

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

Посмотреть список обслуживаемых ядром файловых систем можно в файле

/proc/filesystems

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

2.8Утилиты

Обращаться к системным вызовам могут, конечно, не только демоны, но и вообще любые программы. В UNIX® входит немало программ, при помощи которых можно решать разнообразные инструментальные (т. е. связанные с работой самой системы) задачи. Это так называемые системные утилиты. Они используются в первую очередь самой системой (причем вызываются, как правило, из командных сценариев) и системным администратором для управления системой. Однако и пользователь, не обладающий правами администратора, вполне может задействовать системные утилиты, если они помогают ему в работе, а системе не мешают (например, создавать файловую систему на дискете, просматривать состояние системы или демонов и т. п.).

Слово "утилиты" (utilities) буквально означает "полезности". Утилиты - это программы, которые могут понадобиться при решении всевозможных задач.

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