Другие типы файловых систем Unix
Каноническая файловая система проста и достаточно эффективна. Однако она может работать медленно (не велик размер блока – 0.5-1Кбайт) является чрезвычайно уязвимой (имеется одна единственная копия суперблока).
При размере блока на диске не более 1Кбайта и большом числе мелких файлов в файловой системе, как правило, последний блок будет недогружен (на 50 и более процентов).
Исконной файловой системой Unix System V является файловая система s5fs.
Файловые системы современных версий Unix имеют весьма сложную архитектуру, различную для разных версий.
Несмотря на это все они используют базовые идеи, заложенные разработчиками Unix и AT&T и Калифорнийском университете в Беркли.
Типы файловых систем:
· s5fs- System V file system – каноническая файловая система;
· ffs fast file system – файловая система университета в Беркли;
· независимая или виртуальная файловая система (разработана Sun Microsystems; позволяет работать с несколькими «физическими» файловыми системами различных типов).
Особенности файловой системы s5fs:
· Размер массива индексных дескрипторов является фиксированным и задается при создании файловой системы. Таким образом, файловая система s5fs имеет ограничение по числу файлов, которые могут храниться в ней, независимо от размера этих файлов.
· Размер блока данных кратен 512 байтам. Например, файловая система s51k (SCO Unix) использует размер блока в 1К байтов (отсюда и название).
· В каждой файловой системе существует только один суперблок, который расположен в начале раздела диска. Суперблок считывается в память при монтировании файловой системы и находится там до её отключения (размонтирования).
Файловая система s5fs привлекательна благодаря своей простоте.
Файловая система BSD Unix
В версии 4.3 BSD Unix были внесены существенные улучшения в архитектуру файловой системы, повышающие как её производительность, так и надежность.
Новая файловая система получила название Fast File System (ffs).
Файловая система ffs, обладая полной функциональностью системы s5fs, использует те же структуры данных ядра. Основные изменения затронули расположение файловой системы на диске, дисковые структуры данных и алгоритмы размещения свободных блоков.
Как и в случае файловой системы s5fs, суперблок содержит общее описание файловой системы и располагается в начале раздела.
Однако в суперблоке не хранятся данные о свободном пространстве файловой системы, такие как массив свободных блоков и inode.
Поэтому данные суперблока остаются неизменными на протяжении существования файловой системы.
Поскольку данные суперблока жизненно важны для работы всей файловой системы, он дублируется для повышения надежности.
Организация файловой системы предусматривает деление дискового раздела на одну или несколько групп цилиндров.
Каждая группа цилиндров содержит управляющую информацию, включающую:
· резервную копию суперблока;
· массив индексных дескрипторов;
· данные о свободных блоках;
· итоговую информацию об использовании дисковых блоков в группе.
Права доступа к файлам. Флаги доступа к файлу.
Права доступа к файлам
Так как ОС Unix – система многопользовательская, в ней предусмотрен механизм, ограничивающий доступ пользователей к файлам и каталогам.
Под файловым доступом подразумевается:
· чтение и изменение файлов;
· создание и удаление файлов и каталогов;
· запуск файлов;
· изменение названия и атрибутов файлов.
Правильнее говорить не о “правах пользователя” по отношению к какому-либо файлу, а о правах процесса:
· если пользователь и вносит какое-либо изменение в файлы или каталоги, он это делает с помощью каких-либо программ (редакторов, команд оболочки, системных утилит, которые в момент выполнения являются процессами);
· не все программы запускаются пользователем (демоны запускаются при старте системы);
· другие программы могут быть запущены с помощью программы cron в определенные моменты времени;
· некоторые программы могут вызываться с помощью демона inetd для обслуживания запросов из сети.
· существуют программы, которые для выполнения вспомогательных действий запускают другие программы (с помощью fork()).