Программирование в стандарте POSIX


Основные понятия. - часть 3


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

Прочие имена называются относительными, маршрут в них задан относительно текущего каталога.

Маршрутным префиксом называется маршрутное имя, ссылающееся на каталог. Если маршрутное имя оканчивается символом /, оно обязано быть маршрутным префиксом.

Маршрутные имена называют также составными   именами файлов. Примеры составных имен:

/.autofsck /usr/lib/tcl ../susv3 ./l4.txt

Первые два имени являются абсолютными. файл   .autofsck лежит в корневом каталоге, файл   tcl - в подкаталоге lib подкаталога usr   корневого каталога. Третье и четвертое - относительные имена, специфицирующие, соответственно, файл   susv3, расположенный в иерархии на один уровень выше файлов   текущего каталога, и файл   l4.txt из текущего каталога. Последнее маршрутное имя можно было задать и проще:

l4.txt

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

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

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

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




Начало  Назад  Вперед



Книжный магазин