Файлы
Файл – это самая простая и фундаментальная абстракция в операционных системах Unix, в которых как бы придерживаются такого предположения, что всё есть файл. Это значит, что большая часть взаимодействий реализована через запись и чтение в файл. Даже в тех случаях, когда интересующий нас объект нельзя назвать файлом в общепринятом смысле этого слова.
Файлы в этой системе также определяют привилегии пользователя, так как права пользователя в большинстве случаев контролируются с помощью прав доступа к файлу.
Файлы обеспечивают доступ к периферийным устройствам. Все программы, которые выполняются в системе, включая прикладные задачи пользователя, системные процессы, ядро системы являются исполнительными файлами.
Файлы в Unix системах организуются в древовидной структуре называемой Файловой системой. Говорят что файловая система это набор файлов и каталогов в формальном виде и допустимой иерархии. Каждый файл имеет имя, определяющее его расположение в файловой системе.
Корнем этого дерева является корневой каталог. Его имя ‘ / ’
Все файлы имеют имена, которые представляют собой путь (список каталогов который необходимо пройти, чтобы достигнуть файла).
Пример:
/home/stud/prog1.c
Имя, начинающееся с / называют полным именем файла. Можно указать относительное имя файла тогда поиск будет начат от текущего каталога.
Важно, что имя файла является атрибутом файловой системы, а не набора данных, на каком- то носителе. Каждый файл имеет метаданные для связи с ним.
Метаданные – набор данных определяющих характер файла.
Они хранятся в индексных дескрипторах, и имя файла в файловой системе является указателем на индексный дескриптор inode.
Типы файлов
В операционной системе Unix такие типы:
1 обычный файл
2 каталог
3 файлы устройства
4 файлы символичной связи (ссылки)
5 файлы именованных каналов (каналов FIFO)
6 сокеты
3-6 являются специальными типами