Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект Лекций ПСРВ.doc
Скачиваний:
81
Добавлен:
12.02.2016
Размер:
2.73 Mб
Скачать

2.4.4. Named Special Device — именованные специальные устройства

Этот тип специфичен для QNX. Поскольку не всегда данные при обмене удобно представлять в виде символов и блоков, потребовалось ввести специальный дополнительный тип файлов — Named Special Device. Разумеется, обмен посредством этого типа файлов требу­ет знания формата данных от всех участников обмена. Напри­мер, для взаимодействия компонентов графической системы ис­пользуется специальный файл /dev/photon.

2.4.5. Именованные программные каналы (fifo) (Именованный канал)

Это файл, используемый для связи между процессами.

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

Сокеты используются для доступа к сети TCP/IP.

2.5. Структура файловой системы qnx

Файловая система QNX имеет базовую структуру системных каталогов и файлов, обеспечивающую работу ОС и её администрирование. Нарушение этой структуры может привести к неработоспособности системы или отдельных её компонентов. Типичная базовая структура файловой системы QNX включает в себя следующие каталоги.

Корневой каталог

Корневой каталог </> является основой файловой системы. Все остальные каталоги и файлы располагаются в структуре корневого каталога независимо от их физического местонахождения.

/bin

В каталоге /bin находятся наиболее часто употребляемые команды и утилиты системы, как правило, общего пользования.

/dev

Каталог /dev содержит файлы устройств. Каталог может содержать подкаталоги, группирующие файлы устройств одного типа.

/etc

В этом каталоге находятся системные конфигурационные файлы и многие утилиты администрирования, а также скрипты инициализации системы.

/lib

В каталоге /lib находятся библиотечные файлы языка С.

/fs

Это стандартный каталог для монтирования файловых систем физических устройств к структуре корневого каталога для получения единого дерева логической файловой системы.

/home

Каталог общего употребления для размещения домашних каталогов пользователей.

/usr

В этом каталоге находятся подкаталоги различных сервисных подсистем, исполняемые файлы утилит QNX, заголовочные файлы и т.д.

/var

Этот каталог используется для хранения временных файлов различных сервисных подсистем.

/tmp

Каталог хранения временных файлов, необходимых для работы различных подсистем QNX, а также пользователей системы.

/x86

В структуре этого каталога содержатся средства, обеспечивающие разработку программ на языке С для исполнения на базе платформы intel. В нем, в частности, находится утилита – компилятор qcc.

К файлу можно обращаться по пути (pathname), формируемом из имени файла, которому предшествует имя каталога, содержащего файл. Путь - это маршрут, который надо проделать, чтобы добраться до конкретного файла. Каталог выше данного (под)каталога называется родительским каталогом, а ниже данного дочерним.

Например, если в каталоге "/usr/include" содержится каталог "sys", который в свою очередь, содержит каталог "conf", то путь к каталогу "conf" будет

/usr/include/sys/conf

Здесь каталог sys является родительским для каталога conf. Как вы видите, имена каталогов и файлов разделяются единичным слэшем (/). Поэтому имена файлов сами по себе не могут содержать этот символ.

Полное (абсолютное) имя- это полный маршрут - т.е. путь от корня до данного имени. Формальным признаком полного имени является то, что оно начинается со слэша ("/").

Имя файла может начинаться с символа, отличного от ``/'', система предполагает, что вы обращаетесь к файлу с учетом вашего текущего рабочего каталога. Это называют относительным именем (а).

Любой пользователь в каждый момент времени «находится» в каком-либо каталоге, называемом текущим или рабочим каталогом. Можно думать о текущим каталоге, как о каталоге в котором вы находитесь. При обращении к файлу можно обращаться к нему с учетом текущего местоположения, вместо того, чтобы указывать полный путь. Относительное имя начинается не с "/", и определят имя относительно своего местоположения. Если (пользователь?) в данный момент находится в директории /usr файловой системы, то он может обратиться к этому же файлу по относительному имени

include/sys/conf

Есть два специальных имени:

. - это "имя" текущего директория и

.. - это "имя" родительского директория (т.е. директория, находящегося на ступеньку выше данного на пути к корню).

После установки QNX в системе будет домашний каталог root, используемый, когда вы входите в систему как пользователь root, и еще один — в каталоге home. Каждый пользователь имеет домашний каталог, который выделяется пользователю для хранения его файлов. Обычно пользовательский домашний каталог находится под каталогом /home и называется именем пользователя, например /home/stud. При начальном входе в систему рабочим каталогом автоматически становится домашний каталог.