Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_1_8_Файловая система_пользовательский аспек...doc
Скачиваний:
8
Добавлен:
21.09.2019
Размер:
1.37 Mб
Скачать

Типы файлов в unix

В UNIX файлом может быть:

  • обыкновенный файл (regular file)

  • каталог (directory)

  • специальный файл устройства (speshial device file)

  • именованный (имеющий имя) канал связи (named pipe или FIFO) между процессами

  • символическая ссылка (связь) (symbol link)

  • сокет (socket).

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

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

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

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

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

Символические ссылки (ссылки) – это файлы, которые указывают на другие файлы.

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

Сокеты предназначены для взаимодействия между процессами. Интерфейс сокетов часто используется для доступа к сети по протоколу TCP/IP.