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

       

Сетевой корень по умолчанию


Если программа запускается на чужом узле, то приходится выполнять разрешение путевых имен в контексте пространства путевых имен своего узла. Например, команда

//5 ls /

запускающая утилиту ls на узле 5, должна обрабатывать также, как

ls /

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

/usr/home/luc

будет разрешено, как

//9/usr/home/luc

что интерпретируется как: "разрешить составное имя /usr/home/luc по дереву префиксов узла 9".

Вновь создаваемые процессы наследуют сетевой корень, используемый по умолчанию, причем его значение инициализируется на своем узле после старта системы. Например, вы работаете на узле 9, находясь в интерпретаторе, в котором по умолчанию установлен сетевой корень - узел 9 (очень типичный случай). Если бы вам потребовалось выдать команду

ls /

то команда унаследовала бы используемый по умолчанию сетевой корень //9, в результате чего получилось бы

< /pre>

ls //9/

Аналогично, если бы вы ввели команду

//5 ls /

то вы бы запустили команду ls на узле 5, но она унаследовала бы сетевой корень, используемый по умолчанию (//9), поэтому в результате снова получилось бы ls //9/. И в том, и в другом случае составное имя выбиралось бы из одного и того же пространства составных имен.



Если вы хотите Используйте
Получить ваш текущий сетевой корень, используемый по умолчанию Си функцию qnx_prefix_getroot()
Установить ваш сетевой корень, используемый по умолчанию Си функцию qnx_prefix_setroot()
Запустить программу с новым сетевым корнем, используемым по умолчанию утилиту on



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