Файловая система операционной системы UNIX (2 глава дипломной работы)

Страницы работы

Содержание работы

2  Файловая система

2.1 Основы файловой системы UNIX.

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

Различают физический и логический уровень файловой системы. Физический уровень задает внутреннее машинное представление информации на носителях (дисках, магнитных лентах и т.д.). Логический уровень описывает форму, в которой файловая система доступна прикладным программам и пользователям – имена и атрибуты файлов, организация каталогов, папок и т.д.

Различные UNIX-системы используют различные типы физических файловых систем (UFS, FFS, Ext2, VXFS/Veritas и др.). При этом логический уровень подчиняется единым стандартам и образует единую файловую систему UNIX.

Файловая система UNIX представляет собой иерархическую (древовидную) структуру с поименованными узлами – каталогами и файлами. Каждый каталог содержит информацию о файлах, а также каталогах нижнего уровня. На структуру файлов не накладывается никаких ограничений; каждый файл рассматривается как последовательность байт (символов, литер).

В UNIX существуют следующие типы файлов:

обычный файл. Блок данных, текст, программа и т.п, хранимый на дисковом или ином носителе;

каталог. Содержит информацию о других файлах и каталогах;

специальный файл устройства. Обеспечивает доступ к физическому устройству. Весь программный обмен информацией с устройствами в UNIX реализуется путем чтения и записи в специальный файл устройства. Различают символьные, или байт-ориентированные (чтение и запись произвольных последовательностей байт) и блочные (чтение и запись блоками фиксированной длины) устройства; примерами символьных устройств являются модемы и терминалы, блочных – диски;

очередь, или именованный канал. Системная структура для обмена данными между процессами;

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

сокет. Внутренняя системная структура для сетевого или межпроцессного взаимодействия. Пользователю непосредственно не доступен.

Каждый файл идентифицируется по имени и каталогу, в котором он расположен.

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

«пробел» «~»«,» «?»«!» «*» «[»«]»

«/»«\»«|»«&»«;» « > »« < »

Длина имени ограничена, в зависимости от реализации системы, 255 символами (UNIX System V) или 14 символами (BSD UNIX, а также ранние реализации UNIX). В именах различаются строчные и прописные буквы. Например, имена  file1,  File1, FILE1 задают три различных файла, которые могут располагаться в одном каталоге.

Файлы, имена которых начинаются символом «точка», рассматриваются как скрытые; в частности, они по умолчанию не выводятся командами просмотра каталога.

Имена каталогов подчиняются общим требованиям к именам файлов. Каталог самого верхнего уровня называется корневым  и обозначается символом «косая черта» («/»). Все доступное пользователям файловое пространство объединено в единое дерево каталогов. На логическом уровне нет разделения на тома, диски и т.п. Различные носители – дополнительные жесткие диски и их разделы,  дискеты, CD-ROM, другие сменные накопители - отображаются (путем монтирования) в виде каталогов основной файловой системы.

Полное, или составное, имя файла (каталога) записывается в виде последовательности простых имен, разделенных косой чертой. Составное имя

/usr/sbin/adduser

начинается с корневого каталога «/», в который содержит каталог «usr». Каталог «usr» содержит (под)каталог «sbin», в котором расположен файл «adduser».

Часть составного имени файла до его непосредственного имени называется путем к файлу (в примере путь - /usr/sbin/).

В каждый момент времени один из каталогов является текущим. Если при обращении к файлу не указан путь, подразумевается обращение к файлу из текущего каталога. Так, если текущим каталогом является /usr/sbin, то к файлу /usr/sbin/adduser можно обратиться по (сокращенному) имени adduser.

Если путь не начинается с символа «/», считается, что путь записывается не относительно корневого каталога, а относительно текущего каталога (такой путь называется относительным). Существуют специальные обозначения, применяемые в записи относительного пути: символом «точка» («.») обозначается текущий каталог,  «две точки» (« . . ») – каталог, родительский по отношению к текущему.

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

-  пользователь, которому принадлежит файл («владелец»);

-  группа пользователей, которой принадлежит файл («группа-владелец»);

-  дата и время создания или последней модификации;

-  число жестких ссылок на файл. По умолчанию равно 1, увеличивается при создании на данный файл жестких ссылок. При удалении соответствующих ссылок уменьшается. Данные файла физически удаляются при удалении последней ссылки. Число жестких ссылок на файл можно интерпретировать как количество имен, под которыми в системе доступен данный файл.

-  режим доступа (права, атрибуты доступа) – на чтение, запись и исполнение. Задаются отдельно для владельца, группы-владельца и остальных пользователей.

Права доступа (вместе с типом файла) символически отображаются в виде символов «r» (чтение), «w» (запись или модификация), «x» (для файлов – исполнение, для каталогов – право на просмотр содержимого). Отсутствие какого-либо права обозначается символом «-».

При просмотре прав первым символом отображается тип файла («-» - обычный файл, «d» - каталог (directory), «l» - символическая ссылка (link) и т.д.). Затем следуют 9 символов, из которых первая тройка символов относятся к владельцу, вторая – к группе-владельцу, последняя – к остальным.

Пример.

- обычный файл, с правами «чтение, запись, исполнение» для владельца, «чтение, исполнение» для группы-владельца, «только чтение» для остальных пользователей.

2.2 Стандартные каталоги файловой системы UNIX.

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

Каталог

Назначение

/ (корневой)

Основа файловой системы. Все остальные файлы и каталоги размещаются в корневом каталоге и его подкаталогах.

/bin

Исполняемые файлы основных команд и утилит

/dev

Специальные файлы устройств

/etc

Файлы конфигурации системы и прикладных программ; в ранних реализациях UNIX – также многие утилиты администрирования.

/lib

Библиотечные файлы, необходимые для компиляции и запуска большинства программ

/sbin

Исполняемые файлы команд и утилит системного администрирования

/home или /u

(реже /usr)

Область для домашних каталогов пользователей. Как правило, имя домашнего каталога пользователя совпадает с его регистрационным именем в системе.

/tmp

Область хранения временных файлов.

/var

Оперативная информация, сохраняемая в процессе исполнения системных и прикладных программ.

/mnt

Резервируется для монтирования (временного подключения) внешних файловых систем (удаленные сетевые ресурсы, сменные носители – CD-ROM, дискеты и т.п.)

/usr

Область каталогов сервисных подсистем и прикладных программ. В ранних версиях UNIX здесь же размещались домашние каталоги пользователей.

/usr/bin,

/usr/sbin,

/usr/lib

То же, что /bin, /sbin, /lib, но для менее значимых вспомогательных программ и библиотек.

/usr/local,

/opt

Обычно для установки дополнительного программного обеспечения, не связанного напрямую с системой

Похожие материалы

Информация о работе