Что такое файл данных. Файл данных. Проверка введенных данных на уровне процессора баз данных

08.02.2024 Windows XP

вполне закономерен.

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

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

Рассмотрим пример. Файл "document.doc". Здесь "document" это имя файла, а "doc" это расширение, которое указывает Windows, что данный файл необходимо открывать и редактировать с помощью текстовых процессоров, таких как Microsoft Word или OpenOffice Writer. В случае если расширение не известно Windows (не установлено необходимых программ), то система предложит выбрать программу вручную. Стоит знать, что в Windows есть предопределенные наборы известных расширений, таких как txt (текстовый файл), exe (исполняемая программа) и прочие.

Классификация файлов по функциональному применению

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

1. Файлы пользователя - рисунки, веб-страницы, документы, таблицы и прочие файлы, которые пользователи используют для собственных задач. Имена таких файлов ограничены лишь стандартом имен Windows. Расширения таких файлов обычно не задаются пользователями, а автоматически проставляются используемыми программами, во время создания файлов. Например, программа Microsoft Word выставляет расширение "doc" или "docx" (в зависимости от версии), а OpenOffice Writer устанавливает "odt".

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

3. Программные файлы - все те файлы, которые используются установленным программным обеспечением. С точки зрения формирования имени, они аналогичны системным файлам. Другими словами, так же не противоречат стандарту имен, но имеют фиксированные имена, которые были определены автором. Стоит знать, что программы могут так же создавать программные файлы во время своего функционирования. Например, файлы журнала ошибок или файлы конфигурации. Эти файлы должны редактироваться только самой программой, в противном случае могут возникать ошибки (при условии, что программное обеспечение не предусматривает обратного).

Стандарт имен файлов в операционной системе Windows.

Рассмотрим стандарт имен файлов в операционной системе Windows. Имеется два набора символов:

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

2. Допустимый набор символов . Сюда входит пробел, подчеркивание, апостроф, точка с запятой, точка, запятая, а так же специальные символы " ! @ # $ % & " (и часть специальных символов основной кодировки). Стоит знать, что этот набор символов интерпретируется Windows специфически. Поэтому по возможности не стоит их применять. Тем не менее, с символами пробела, точки, запятой и подчеркивания редко возникают проблемы. А вот при использовании остальных символов могут возникать ошибки. Особенно, с некоторыми спецсимволами. Так же стоит знать, что если вам нужны файлы, которые будут нормально открываться и в других операционных системах, то стоит ограничиваться только цифрами и латинским алфавитом, а точку использовать только для разделения имени и расширения.

Запрещенный набор символов - в именах файлов нельзя использовать: \ /: * ? < > |

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

Как формируется полный путь до файла . У компьютера есть диски, они представлены латинской буквой. Это первая составляющая пути. После нее ставится разделитель в виде двоеточия и косой черты ":\". В случае если файл лежит в корне диска, то далее идет полное имя файла (далее по тексту просто имя файла). Если же файл лежит в каталоге, вначале указывается имя каталога, затем ставится символ "\" и указывается имя файла. Если же файл находится в подкаталоге каталога, то после каталога так же должно идти имя подкаталога и "\". Далее по аналогии. В данном случае символ "\" является разделителем, который позволяет идентифицировать каждую часть полного пути до файла.

Файлы, сохраненные в формате данных используются программой Analysis Studio, и это приложение хранит в этих файлах данных деталей, используемых для автономного анализа. Эти данные могут быть введены в соответствующий файл данных, созданное пользователем Analysis Studio. Как правило, классифицируются как файлы данных, эти файлы DATA прикреплены с расширением.data и более конкретно называется Analysis Studio файлы данных в автономном режиме. Appricon разработала формат данных и программное обеспечение Analysis Studio, чтобы предоставить пользователям автономного хранения данных и аналитических функциональных возможностей полезной instatistical данных исследований, хранения, управления и анализа. Содержание этих файлов данных может включать в себя данные, закодированные в текстовом формате или в разделителями табуляции форматов. заголовки файлов Analysis Studio также могут быть включены в эти данные файлов пользователем Analysis Studio. Пользователь отключен от сервера Analysis Studio, как правило, получает доступ к этим данным файлов в автономном режиме, хотя программное обеспечение Analysis Studio также предоставляет пользователю доступ к содержанию этих файлов данных даже в режиме реального времени. Содержание этих файлов данных также могут быть импортированы из других баз данных, таких как Microsoft SQL Server и баз данных Microsoft Access. Программное обеспечение Analysis Studio связывает файл с данными в соответствующий файл STP, и содержание этих файлов STP состоит из метаданных объекта и детали проекта схемы. Пользователь Microsoft Windows может удалить файл заголовка Analysis Studio файла данных, чтобы открыть и просмотреть его содержимое с помощью электронных таблиц приложения Microsoft Excel 2010.

Файлы данных

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

Текстовые файлы с последовательным доступом (файлы последовательного доступа) не имеют какой-либо структуры. Структура этих файлов определяется самой считывающей программой. В текстовых файлах с последовательным доступом каждая строка заканчивается двумя специальными символами: конец строки и возврат каретки, которые вводятся в текст программы при нажатии клавиши Enter (Ввод) на клавиатуре. Поэтому один из самых легких способов обработки текстового файла с последовательным доступом состоит в чтении его строка за строкой. Создание текстовых файлов с последовательным доступом также не представляет большого труда. Его можно создать любым текстовым редактором. Данные в файл последовательного доступа записываются последовательно байт за байтом. Чтобы проанализировать и выбрать нужную информацию, файл должен быть полностью прочитан. Это повышает требования к объему оперативной памяти и снижает скорость выполнения программы.

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

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

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

Открытие файлов

Для открытия файлов служит команда Open .

Open “спецификация_файла” For { тип файла}

As [#] N



Опция “Спецификация_файла ”, как известно, позволяет указать диск, маршрут, имя и расширение имени файла. Например: R:/Prognoz/Ucheb/prognoz1.dan. Чтобы файл мог использоваться на компьютерах и с операционной системой MS DOS, имя файла и его расширение должны формироваться по правилам операционной системы MS DOS. Tо есть в имени файла и расширении имени файла могут использоваться только латинские символы и цифры, имя файла должно начинаться с буквы, длина имени файла не должна превышать 8 символов, а расширение имени файла – четырех символов, включая точку. В имени файла не допускается использование точек и пробелов. Спецификация файла заключается в кавычки.

Опция For определяет тип файла. Тип файла указывает на его структуру и способ использования и может принимать следующие значения:

Input – файл последовательного доступа, открыт для чтения;

Output – файл последовательного доступа, открыт для записи;

Append - файл последовательного доступа, открыт для добавления данных;

Bynary – двоичный файл открыт для записи и чтения данных:

Random – файл прямого доступа открыт для записи и чтения данных.

Опция Access определяет права доступа к данным при работе в сетях ЭВМ. Она может иметь три значения:

Read – разрешено чтение данных из файла;

Write – разрешена запись данных в файл;

Read Write - разрешено чтение и запись данных. Этот режим доступа используется по умолчанию.

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

Shared – файл может использоваться всеми процессами для считывания и записи данных;

LockRead – запрет чтения. Никакой другой процесс не может считывать данные из файла. Этот параметр можно установить, если в данный момент никакой другой процесс не выполняет операцию чтения.

LockWrite – запрет записи. Никакой другой процесс не может записывать данные в файл. Данный параметр можно установить, если в текущий момент никакой другой процесс не выполняет операцию записи.

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

Опция As – определяет номер канала. Знак # можно опустить. Номер канала может принимать значения от 1 до 255. Число одновременно открытых каналов определяется ограничениями операционной системы, указанными в файле Config.sys.

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

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

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

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

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

Закрытие файлов

Для закрытия файлов используется команда Close . Синтаксис команды:

Close [# <номер канала> ]

Команда Close с параметром номера канала закрывает указанный канал. Команда Close без параметров закрывает все открытые файлы. Команда Close очищает буфер и дает указание операционной системе обновить таблицу размещения файлов .

Команды записи данных в файл и чтения информации из файлов данных зависят от типа файла.

Урок №7

Разработка урока на тему «Файлы данных».

Тема урока: Файлы данных.

Цель урока: Сформировать у учащихся понятие о файле данных. Процедуры работы с файлами.

Задачи урока:

  1. Файлы данных.
  2. Процедуры работы с файлами.

Оборудование урока: компьютер, проектор.

План урока

1. Организационный момент (приветствие).

- Здравствуйте, садитесь. Кто сегодня отсутствует?

2. Изучение нового материала .

Файлы данных.

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

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

a: file of integer; (Файл целых чисел.)

f: file of string; (Файл строк.)

Алгоритм работы с файлом:

  1. Файл специальной процедурой связывается с файловой переменной.
  1. Открывается либо создается файловая переменная (физически будет открыт файл, но программист в этом процессе не участвует).
  2. Выполняются необходимые операции чтения и записи данных.
  3. Файловая переменная закрывается.

Задача 1 . Напишем программу, в которой будут выполняться следующие действия:

  1. Открывается файл.
  2. Записывается 100 последовательных целых чисел.
  3. Файл закрывается.
  4. Файл открывается.
  5. Считываются числа, содержащиеся в файле, и распечатываются на экран.

Program example;

I,u: integer;

{ Определяется переменная, которую затем можно привязать к файлу,

F: file of integer;

begin

{ Файловая переменная привязывается к файлу,

Имя которого указано в апострофах }

Assign(f,’file’);

{ Так как такой файл еще не существует, то он создается и открывается}

Rewrite(f);

{ Числа записываются в файл }

For i:=1 to 100 do write(f,i);

{ Файл закрывается}

Close(f);

{ Так как файл уже существует, то он просто открывается }

Reset(f);

{ Числа читаются из файла и выводятся на экран дисплея}

For i:=1 to 100 do

Begin

Read(f,u);

Write(‘ ‘,u);

End;

end.

Файловая переменная не может быть совершенно обычной переменной. Поэтому для файловых переменных предусмотрены специальные процедуры и функции. Краткий список процедур и функций, работающих с файлами в Borland Pascal, приведен далее.

  1. assign - процедура, связывающая файл с файловой переменной.
  2. reset - открывает существующий файл и устанавливает указатель позиции файла на нулевой элемент.
  3. rewrite - создает файл.
  4. truncate - обрезает файл, начиная с текущей позиции.
  5. seek - устанавливает указатель файла в указанную позицию.
  6. eof - функция, возвращающая истину, если был достигнут конец файла, и ложь в противном случае.
  7. filesize - вычисляет размер файла в количестве записей того типа, который указан в объявлении файла.

Примечание

Для файла существует такое понятие как указатель на текущую позицию. Это величина целого типа (для Borland Pascal - это величина типа longint ), в которой хранится номер текущей позиции файла. При каждой операции чтения/записи указатель смещается на следующую запись. Под записью понимается длина типа, указанного в объявлении файла. Нумерация записей в файле начинается с нуля.

Структуры данных в приведенном примере определены вполне корректно, но в операторе write(f,a); компилятор выдаст сообщение об ошибке. А именно: компилятор сообщит, что имеет место несоответствие типов. Кажется, что типы переменных a и f одинаковы. Однако это не так с точки зрения компилятора. Мы описали две разные структуры, и компилятор справедливо полагает, что они могут быть различны и не берет на себя заботу по проверке их одинаковости.

Указанная проблема решается следующим образом:

Program example;

Uses crt;

Type

R=record

S:string;

I:integer;

End;

A:r;

F: file of r;

begin

A.s:="fsfsfsf";

A.i:=8;

Write(f,a);

end.

Эта программа реализует ту же задачу, что и предыдущая, однако здесь для компилятора не возникает никаких проблем.

Файл может быть компонентом сложной структуры. Например, вполне допустим массив файлов:

f:array file of integer;

Файл вполне может оказаться компонентом записи:

Program example;

A:record

S:string;

F: file of integer;

End;

begin

Assign(a.f,"file.dat");rewrite(a.f);

end.

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

Один и тот же физический файл можно открыть как файл одного типа, а затем его же как файл другого типа:

Program example; Uses crt;

S:string;

I:integer;

F:file of string;

D:file of integer;

begin

Clrscr;

Assign(f,"file.dat");rewrite(f);

S:="gdgdgjagdjasg";

For i:=1 to 10 do write(f,s);

Close(f);

Assign(d,"file.dat");reset(d);

While not eof(d) do

Begin

Read(d,i);write(i," ");

End;

end.

В этом примере файл с именем file.dat открывается как строковый и заполняется некоторым содержимым, затем закрывается и опять открывается, но уже как файл чисел. Такие операции для языка Паскаль вполне законны, это следствие того, что на физическом уровне тип файла никак не фиксируется.

Заключение: Файл - это структура позволяющая хранить большие наборы информации. То, что файловые типы представляют собой обычные языковые типы данных, добавляет им удобства в обработке. Единственный недостаток хранения данных в файлах - это относительно низкая скорость доступа.

3.Домашнее задание.

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

4. Подведение итогов

Выставление оценок ученикам, которые хорошо работали на уроке.


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

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

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

Управление файлами

Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.

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

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

Файловая система включает:Файловая система включает:

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

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

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

Задачи ФС усложняются в однопользовательских многозадачных ОС, которые предназначены для работы одного пользователя, но дают возможность запускать одновременно несколько процессов. К перечисленным выше задачам добавляется новая задача — совместный доступ к файлу из нескольких процессов.

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

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

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

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

Пример

Файловая система FAT (file allocation table) имеет множество реализаций как система управления файлами

  • Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
  • Потом ее усовершенствовали для работы с жесткими дисками большего объема, и эта новая реализация получила название FAT–16. это название используется и по отношению к СУФ самой MS-DOS.
  • Реализация СУФ для OS/2 называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
  • Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).

Типы файлов

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

Обычные файлы могут быть двух типов:

  1. Программные (исполняемые) – представляют собой программы, написанные на командном языке ОС, и выполняют некоторые системные функции (имеют расширения.exe, .com, .bat).
  2. Файлы данных – все прочие типы файлов: текстовые и графические документы, электронные таблицы, базы данных и др.

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

Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода/вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам. Специальные файлы позволяют пользователю осуществлять операции ввода/вывода посредством обычных команд записи с файлов или чтения из файлов. Эти команды обрабатываются сначала программами ФС, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством (PRN, LPT1 – для порта принтера (символьные имена, для ОС – это файлы), CON – для клавиатуры).

Пример . Copy con text1 (работа с клавиатурой).

Файловая структура

Файловая структура – вся совокупность файлов на диске и взаимосвязей между ними (порядок хранения файлов на диске).

Виды файловых структур:

  • простая , или одноуровневая : каталог представляет собой линейную последовательность файлов.
  • иерархическая или многоуровневая : каталог сам может входить в состав другого каталога и содержать внутри себя множество файлов и подкаталогов. Иерархическая структура может быть двух видов: «Дерево» и «Сеть». Каталоги образуют «Дерево», если файлу разрешено входить только в один каталог (ОС MS-DOS, Windows) и «Сеть» – если файл может входить сразу в несколько каталогов (UNIX).
  • Файловая структура может быть представлена в виде графа, описывающего иерархию каталогов и файлов:



Типы имен файлов

Файлы идентифицируются именами. Пользователи дают файлам символьные имена , при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. В ранних файловых системах эти границы были весьма узкими. Так в популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов.

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

Например, Windows NT в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Символьные имена могут быть трех типов: простые, составные и относительные:

  1. Простое имя идентифицирует файл в пределах одного каталога, присваивается файлам с учетом номенклатуры символа и длины имени.
  2. Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, имени диска, имени файла. Таким образом, полное имя является составным , в котором простые имена отделены друг от друга принятым в ОС разделителем.
  3. Файл может быть идентифицирован также относительным именем . Относительное имя файла определяется через понятие «текущий каталог». В каждый момент времени один из каталогов является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла.

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

Для файла 2.doc определить все три типа имени, при условии, что текущим каталогом является каталог 2008_год.

  • Простое имя: 2.doc
  • Полное имя: C:\2008_год\Документы\2.doc
  • Относительное имя: Документы\2.doc

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

Важной характеристикой файла являются атрибуты. Атрибуты – это информация, описывающая свойства файлов. Примеры возможных атрибутов файлов:

  • Признак «только для чтения» (Read-Only);
  • Признак «скрытый файл» (Hidden);
  • Признак «системный файл» (System);
  • Признак «архивный файл» (Archive);
  • Тип файла (обычный файл, каталог, специальный файл);
  • Владелец файла;
  • Создатель файла;
  • Пароль для доступа к файлу;
  • Информация о разрешенных операциях доступа к файлу;
  • Время создания, последнего доступа и последнего изменения;
  • Текущий размер файла;
  • Максимальный размер файла;
  • Признак «временный (удалить после завершения процесса)»;
  • Признак блокировки.

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

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

Права доступа к файлу

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

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

В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки — всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции:

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