Типы файлов
Система распознает файлы типа обычные, файлы каталогов или специальные. Однако в операционной системе также применяются многие производные типы файлов.
Существуют следующие основные типы файлов:
| Флаг | Описание |
|---|---|
| обычный | Предназначен для хранения данных (текстовых или двоичных данных и исполняемого кода) |
| каталог | Содержит информацию, применяемую для доступа к другим файлам |
| специальный | Представляет собой файл канала FIFO или файл физического устройства |
Система распознает только файлы этих типов. Однако в операционной системе также применяются многие производные типы файлов.
- Стандартные файлы
-
Большая часть файлов относится к обычному типу и применяется для хранения данных. Обычные файлы делятся на текстовые файлы и двоичные файлы:
- Текстовые файлы
-
Текстовые файлы - это обычные файлы, содержащие информацию в формате ASCII, которая может быть прочитана пользователем. Их можно просмотреть или напечатать. Строки текстового файла не должны содержать символы
NUL, а их длина с учетом символа новой строки не должна превышать{LINE_MAX}байт.Текстовый файл может содержать управляющие и непечатаемые символы (отличные от
NUL). Если стандартная служебная программа получает текстовый файл в качестве ввода или записывает его в качестве вывода, то она должна уметь обрабатывать встреченные специальные символы. В противном случае, в описании этой программы должны быть явно заданы ограничения, которые накладываются на входные текстовые файлы. - Двоичные файлы
-
Двоичные файлы - это обычные файлы, содержащие данные, которые может прочитать компьютер. Примером двоичного файла может быть исполняемый файл, в котором содержатся инструкции для системы по выполнению некоторого задания. Команды и программы хранятся в двоичном виде в форме исполняемых файлов. Для преобразования текста ASCII в двоичный код предназначены специальные программы-компиляторы.
Единственное различие между текстовыми и двоичными файлами состоит в том, что текстовые файлы разбиты на строки, не содержащие символов
NULи заканчивающиеся символом новой строки, длина которых не превосходит{LINE_MAX}байт.
- Файлы каталогов
-
Файлы каталогов содержат информацию, которая необходима системе для доступа к файлам всех типов, но при этом в них не хранится сама информация из файлов. В результате каталоги занимают меньше места, чем обычные файлы. Кроме того, каталоги позволяют создать гибкую многоуровневую структуру файловой системы. Каждая запись каталога связана с файлом или подкаталогом и содержит имя файла и номер индексного дескриптора файла (номер i-узла). Номер i-узла ссылается на уникальный индексный дескриптор, присвоенный файлу. В индексном дескрипторе описано физическое расположение данных, связанных с файлом. Для создания каталогов и управления ими предназначен отдельный набор команд.
- Специальные файлы
-
К специальным файлам относятся файлы устройств и временные файлы, создаваемые процессами. Существуют следующие основные типы специальных файлов: FIFO, блочные и символьные. Файлы FIFO также называются каналами. Канал создается на ограниченное время одним процессом для обмена данными с другим процессом. Такие файлы удаляются после завершения работы первого процесса. Блочные и символьные файлы определяют устройства.
Для каждого файла устанавливается набор разрешений (прав доступа), задающих группы пользователей, которые могут читать, изменять или выполнять файл.