Операционная система QNX 4.Архитектура системы

       

Связи и индексные дескрипторы


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

Для поддержки связей каждого файла имя файла отделяется от информации, описывающей файл. Информация, не относящаяся к имени файла, хранится в структуре, называемой "индексным дескриптором" (inode).

Если файл имеет только одну связь (т.е. одно имя файла), информация индексного дескриптора (т.е. информация, не относящаяся к имени файла) хранится в элементе каталога данного файла.

Если файл имеет более одной связи, индексный дескриптор хранится как запись в специальном файле с именем /.inodes.

Обратите внимание на то, что связь файла можно создать только в том случае, если файл и связь находятся в одной и той же файловой системе.

На один и тот же файл ссылаются две связи с именами "more" и "less".

Рис. 21

Существует еще две ситуации, при которых файл может иметь вход в файл /.inodes:

  • если имя файла превышает 16 символов, то служебная информация хранится в файле /.inodes, оставляя в элементе каталога место для 48-символьного имени файла;
  • если файл имел более одной связи, и все связи, кроме одной, были удалены, то за файлом остается отдельный элемент в файле /.inodes. В противном случае было бы невозможно найти элемент каталога, указывающий на элемент inode. (Обратной ссылки из inode к элементу каталога не существует.) Эту ситуацию можно исправить с помощью утилиты chkfsys.

Если вы хотите Используйте
Создать связь из интерпретатора Shell Утилиту ln
Создать связь из программы Функцию Си link()



Содержание раздела