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

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

2.1 Понятие

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

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

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

Обобщенное определение.

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

Задачи:

  1. выполняет операции создания и удаления файлов, а также выполняет запись/чтение данных файла.

  2. контролирует права доступа к файлам,

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

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

Файловая система UNIX-а - это многопользовательская иерархическая файловая система.

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

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

В иерархической файловой системе все файлы построены в структуру, основанную на вложенных каталогах.

2.2 Логическая структура файловой системы

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог, и сеть — если файл может входить сразу в несколько каталогов. Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX — сетевую. Каталог самого верхнего уровня называется корневым каталогом, или корнем (root).

Рисунок 2.1 – Структура файловой системы

Логическая файловая система может состоять из одной или нескольких физических файловых (под)систем, являющихся разделами физических носителей (дисков, CD-ROM или дискет).

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

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

Таблица 2 – Содержание основных каталогов

Каталог

Назначение и содержание

/

Корневой каталог. Является основой любой файловой системы UNIX. Все остальные каталоги и файлы располагаются в рамках структуры, порожденной корневым каталогом (в нем и в его подкаталогах), независимо от их физического местонахождения. Для корневого каталога обязательно должна создаваться отдельная физическая файловая система, а сам он является точкой ее монтирования, о чем свидетельствует наличие подкаталога lost+found.

/bin

Пользовательские выполняемые программы. Сейчас обычно является символической связью, указывающей на /usr/bin.

/dev

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

/etc

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

**

/home

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

/lib

Каталог для библиотек. Сейчас обычно является символической связью, указывающей на /usr/lib.

/lost+found

Каталог для сбойных файлов

Подкаталог, имеющийся в каждом каталоге, являющемся точкой монтирования физической файловой системы на диске.

**

/mnt

Точка монтирования для файловых систем на съемных носителях или дополнительных дисках. Может содержать подкаталоги для отдельных типов носителей, например, cdrom или floppy. Может быть пустым.

/opt

Каталог для дополнительного коммерческого программного обеспечения. Может быть пустым или отсутствовать (в BSD-системах).

**

/proc

Каталог псевдо-файловой системы, представляющей в виде каталогов и файлов информацию о ядре, памяти и процессах, работающих в системе.

/sbin

Каталог для системных выполняемых программ, необходимых для решения задач системного администрирования.

**

/tmp

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

**

/usr

В этом каталоге находятся выполняемые программы, библиотеки, заголовочные файлы, справочные руководства (/usr/share/man), исходные тексты ядра и утилит системы (Linux), растущие файлы и очереди печати (/usr/spool в BSD-системах) и т.д. Часто каталог является точкой монтирования отдельной физической файловой системы. Ниже представлены основные его подкаталоги.

/usr/bin

Основные выполняемые программы и утилиты.

/usr/include

Заголовочные файлы библиотек. Может содержать подкаталоги.

/usr/lib

Статически и динамически компонуемые библиотеки. Может содержать подкаталоги.

/usr/local

Каталог для дополнительного свободно распространяемого программного обеспечения (GNU). Содержит структуру подкаталогов, аналогичную корневому каталогу (bin, etc, include, lib и т.д.).

**

/var

Хранения растущие файлы различных сервисных подсистем, например, файлов журналов системы. Так, основной журнал системы, ведущийся демоном syslogd, размещается в виде нескольких файлов в подкаталоге /var/adm. Там же, в файле /var/adm/messages, сохраняются сообщения времени загрузки. Имеет смысл создавать отдельную физическую файловую систему для размещения этого каталога (и, возможно, его подкаталога /var/run).