В ОС UNIX используется несколько различных типов файлов, различающихся по функциональному назначению и действиям операционной системы при выполнении тех или иных операций над файлами:
1. Обычный файл представляет собой наиболее общий тип файлов, содержащих данные. Для ОС они представляют собой неструктурированный набор данных. Интерпретация содержимого файла производится программой, обрабатывающей файл. К этим файлам относятся текстовые файлы, исполняемые программы, и т.д.
Обычные файлы содержат неструктурированную последовательность байтов. Программа, работающая с таким файлом, определяет его структуру и содержание. Обычно такие файлы можно отнести к одной из следующих категорий:
- Текстовые, содержащие набор символов. Например, письма, отчеты, командные файлы, используемые интерпретатором shell.
- Файлы, содержащие наборы числовых или текстовых данных какой-либо программы: Например, электронные таблицы, базы данных или документы текстовых редакторов.
- Исполняемые программы в двоичном коде, содержащие машинные коды и данные. Например, программы, связанные с выполнением команд ОС UNIX или прикладные программы.
2. Каталог. С помощью каталогов формируется логическое дерево файловой системы. Каталог - это файл, содержащий имена находящихся в нем файлов и указатели на дополнительную информацию, позволяющие операционной системе производить операции над этими файлами.
Каталоги являются специальными файлами, которые предназначены для организации иерархической структуры файловой системы. Каталоги определяют положение файла в дереве файловой системы, поскольку сам файл не содержит информации о своем местонахождении. Подобно обычным файлам, каталоги содержат данные, однако, в отличие от обычных файлов, ядро накладывает ограничения на структуру этих данных: каталоги содержат для каждого файла данные в виде записи "номер индексного дескриптора – имя файла":
Номер индексного дескриптора используется в качестве индекса блока таблицы индексов, где содержится вся информация о файле
Имя файла является текстовой информацией (ASCII). Каталог не может содержать одинаковые имена, относящиеся к нескольким файлам.
3. Специальный файл устройства обеспечивает доступ к физическому устройству. В UNIX различают 2 вида файлов устройств.
Символьные файлы связаны с драйверами устройств, использующими обмен данными с устройствами без разбивки информации на блоки, к которым относятся монитор, принтер, мышь.
Блочные файлы связаны с драйверами устройств, которые позволяют производить обмен данными в виде пакетов фиксированной длины – блоков.
Доступ к некоторым устройствам может осуществляться как через символьные, так и через блочные специальные файлы. Имена файлов устройств содержатся в каталоге /dev.
4. Символическая ссылка. Как было сказано выше, каталог содержит имена файлов и символические ссылки на их данные. Сами данные не содержат ни имени файла, ни указателя на это имя. Это позволяет одному файлу иметь несколько имен в файловой системе. Имена жестко связаны с данными файла, в то время как сам файл существует независимо от того, как его называют в файловой системе.
Символические ссылки – это специальные файлы, которые содержат в качестве данных символическую ссылку на другой файл. Эти данные указывают путь к файлу внутри файловой системы. Ядро системы автоматически определяет по содержимому файла символической ссылки место расположения файла в файловом дереве.
Контрольные вопросы.
1. Объяснить понятие слайс;
2. Основные компоненты файловой системы S5(4);
3. Состав суперблока(8);
4. Назначение массива индексных дескрипторов;
5. Информация в полях индексного дескриптора(9);
6. Назначение массива адресов дисковых блоков;
7. Назначение элементов массива адресов дисковых блоков(13);
8. Особенности организации файлов в ОС UNIX;
9. Особенности имен файлов в ОС UNIX;
10. Особенности обычных файлов и их категории(3);
11. Особенности и назначение каталогов;
12. Особенности специальных файлов устройства и их виды(2);