Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Файл, каталог и файловая система



Файлы и каталоги

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

Файл (FILE) – это поименованная область данных на диске.

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

Каждому файлу присваивается свое уникальное имя. Чтобы ОС быстро могла найти любой файл на диске, его имя и адрес записываются в каталог.

Каталг – это область на диске, содержащая информацию об именах файлов и каталогов, входящих в данный каталог, и их адресах, а также некоторую служебную информацию.

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

Для чего нужно делить дисковое пространство на несколько областей, разнося файлы по разным каталогам? Целей может быть несколько:

– объединить в отдельные группы логически связанные файлы (например, все файлы с текстовой информацией или антивирусные программы);

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

– объединить все файлы, относящиеся к какой-либо подсистеме, например, к текстовому редактору WORD или графическому редактору CorelDraw.

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

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

Термин «файловая система» часто рассматривают в двух аспектах.

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

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

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

Файловой системой называют организацию хранения и размещения программ и данных на магнитных носителях.

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

Логическая модель файловой системы материализуется в виде дерева каталогов, выводимого на экран такими программами, как Norton Commander или Windows Explorer, в символьных составных именах файлов, в командах работы с файлами. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

Пользователи обращаются к файлам по символьным именам. Однако способности человеческой памяти ограничивают количество имен объектов, к которым пользователь может обращаться по имени. Иерархическая организация пространства имен позволяет значительно расширить эти границы. Именно поэтому большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня (рис. 4.2).

 
 

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

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

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рис. 4.2, а).

Имена файлов и каталогов

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

Краткое (простое) символьное имя идентифицирует файл в пределах одного каталога. Простые имена присваивают файлам пользователи и программисты, при этом они должны учитывать ограничения ОС как на номенклатуру символов, так и на длину имени. До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов – собственно имя, 3 символа – расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не могло содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. Поэтому современные файловые системы, а также усовершенствованные варианты уже существовавших файловых систем, как правило, поддерживают длинные простые символьные имена файлов. Например, в файловых системах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.

Примеры простых имен файлов и каталогов:

ugol_pravo.doc

doom2.exe

OBUCH

курсовая работа по адм_праву.doc

install_win98RUS.doc

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

Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем. Часто в качестве разделителя используется прямой («/»)или обратный («\») слэш, при этом принято не указывать имя корневого каталога.

На рис. 4.2, б два файла имеют простое имя main.exe, однако их составные имена \depart\main.ехе и \user\anna\main.exe раз­ли­чаются.

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

Иногда используют так называемое относительное имя файла. Оно определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов файловой системы является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла. При использовании относительных имен пользователь идентифицирует файл цепочкой имен каталогов, через которые проходит маршрут от текущего каталога до данного файла. Например, если текущим каталогом является каталог \user, то относительное имя файла \user\anna\main.exe выглядит следующим образом: anna\main.exe.

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

И хотя полное имя однозначно определяет файл, операционной системе проще работать с файлом, если между файлами и их именами имеется взаимно однозначное соответствие. С этой целью она присваивает файлу уникальное имя, так что справедливо соотношение «один файл – одно уникальное имя». Уникальное имя существует наряду с одним или несколькими символьными именами, присваиваемыми файлу пользователями или приложениями. Уникальное имя представляет собой числовой идентификатор и предназначено только для операционной системы. Примером такого уникального имени файла является номер индексного дескриптора в системе UNIX.

Атрибуты файлов

Понятие «файл» включает не только хранимые им данные и имя, но и атрибуты (характеристики).

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

Примеры возможных атрибутов файла:

– владелец файла;

– тип файла (обычный файл, каталог и т.д.);

– создатель файла;

– пароль для доступа к файлу;

– информация о разрешенных операциях доступа к файлу;

– время создания, последнего доступа и последнего изменения;

– текущий размер файла;

– максимальный размер файла;

– признак «только для чтения»;

– признак «скрытый файл»;

– признак «системный файл»;

– признак «архивный файл»;

– признак «двоичный/символьный»;

– признак «временный» (удалить после завершения процесса);

– признак блокировки;

– длина записи в файле;

– указатель на ключевое поле в записи;

– длина ключа.

Набор атрибутов файла определяется спецификой файловой системы: в файловых системах разного типа для характеристики файлов могут использоваться разные наборы атрибутов. Например, в однопользовательской ОС в наборе атрибутов будут отсутствовать характеристики, имеющие отношение к пользователям и защите, такие как владелец файла, создатель файла, пароль для доступа к файлу, информация о разрешенном доступе к файлу.

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе
MS-DOS (рис. 4.3, а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены следующие признаки файла:

– R – только для чтения, read only. Файл можно удалить или редактировать только после снятия атрибута или специального согласия на снятие атрибута;

– А – архивный, archive. Признак того, что файл после его создания или редактирования еще не вносился в резервный архив (утилита BACKUP или команда XCOPY). Данный атрибут не имеет никакого отношения к программам сжатия (упаковки) информации, он просто является обозначением: «при необходимости подлежит архивированию»;

– Н – скрытый, hidden. При обычном просмотре имя файла не видно на экране, обычно присваивается некоторым файлам операционной системы, чтобы они не были случайно удалены;

– S – системный, system. Этот атрибут имеют некоторые файлы операционной системы.

Рис. 4.3. Структура каталогов:

а) – структура записи каталога MS-DOS (32 байта);

б) – структура записи каталога ОС UNIX.

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs операционной системы UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рис. 4.3, б).

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


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 3646; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.024 с.)
Главная | Случайная страница | Обратная связь