Структура файловой системы qnx
Структура файловой системы QNX при типичной установки имеет вид:
Основными каталогами являются:
«/» – Корневой каталог. Все остальные файлы и каталоги располагаются в рамках структуры, порожденной корневым каталогом, независимо от их физического местоположения. Корневым каталогом в QNX6 является корневой каталог файловой системы QNX4 с типичной для UNIX-систем структурой (напомним, что файловая система QNX4 является POSIX-совместимой).
/boot – каталог содержит Makefile образа ОС (/boot/build – файлы построения для создания образов (их читает утилита make); /boot/images – файлы образа ОС; /boot/sys – системные процессы, необходимые при начальной загрузке);
/bin – в каталоге /bin находятся наиболее часто употребляемые команды и утилиты системы, как правило общего пользования;
/dev – каталог /dev содержит специальные файлы устройств, являющиеся интерфейсом доступа к периферийным устройствам;
/etc – в этом каталоге находятся системные конфигурационные файлы, скрипты инициализации системы и многие утилиты администрирования;
/fs – каталог для монтирования других типов файловых систем;
/lib – в каталоге /lib находятся библиотечные файла языка С и других языков программирования;
/home – это каталог для размещения исходных (домашних) каталогов пользователей /home/имя_пользователя (для пользователя stud1 домашний каталог, т.е. каталог с которым он сможет работать, будет /home/stud1);
/opt – каталог предназначен для размещения опциональных пакетов расширения (т.е. пакетов с опциями не входящих в стандартный набор поставки ОС , которые доставляются после установки ОС);
/pkgs – каталог для пакетной файловой системы;
/proc – каталог , используемый для связи программы QNX Software Installer с менеджером процессов;
/usr – в этом каталоге находятся подкаталоги различных сервисных подсистем – систем печати, электронной почты и т.п (/usr/spool), исполняемые файлы QNX (/usr/bin), файлы заголовков (/usr/include) и т.д.;
/root – домашний каталог пользователя root ;
/sbin – системные команды (драйверы дисков, устройств);
/var – каталог, для хранения временных (переменных) файлов различных файловых подсистем (например, для хранения файлов изменений для пакетных файлов)
/tmp – каталог хранения временных файлов, необходимых для работы различных подсистем и программ. Обычно этот каталог открыт на запись для всех пользователей;
/x86 – каталог для файлов поддержки аппаратной платформы Intel;
Файловая система qnx4
Раздел QNX4, содержащий следующие ключевые компоненты:
блок загрузчика;
корневой блок;
битовая матрица (или битовая карта);
корневой каталог.
Блок загрузчика
Первый физический блок в разделе диска. Он содержит начальный загрузчик, т.е. программу, которая загружает ОС QNX (образ QNX) в память.
В случае, если диск не разбит на разделы, блок загрузчика будет первым физическим блоком на диске.
Корневой каталог
Корневой каталог (/) содержит элементы каталогов для различных специальных файлов, которые всегда существуют в файловой системе QNX. Утилита dinit создает эти файлы при инициализии файловой системы. Корневой каталог включает в себя корневой блок и битовую матрицу.
Файл: |
Описание: |
/. |
Ссылка на каталог / |
/.. |
Тоже ссылка на каталог / |
/.bitmap |
Файл "только для чтения", состоящий из блоков битовой карты. |
/.inodes |
Нормальный файл, занимающий, по крайней мере, один блок на дискете или ОЗУ-диске и 16 блоков на других дисках, /.inodes - это набор inode-элементов. Первый элемент резервируется и используется в качестве области сигнатуры. Первые байты файла .inode - "IamTHE.inodeFILE". |
/.boot |
Файл образа ОС, который будет загружаться в память при стандартной начальной загрузке. Этот файл будет иметь нулевую длину, если файла начальной загрузки не существует. |
/.altboot |
Файл образа ОС, который будет загружаться в память при альтернативной начальной загрузке. Этот файл имеет нулевую длину, если файла альтернативной начальной загрузки не существует. Если этот файл не пуст, то в начале загрузки система предложит загрузить /.altboot в качестве опции (по умолчанию будет загружен образ, хранящийся в файле /.boot, — раздел QNX). |
Корневой каталог раздела ведет себя как обычный каталог, за двумя исключениями:
жесткие связи "." и ".." корневого каталога раздела являются ссылками на этот же корневой каталог;
корневой каталог всегда содержит записи файлов /.bitmap, /.inodes, /.boot , /.altboot.
Корневой каталог файловой системы QNX, содержит запись файла /.diskroot который использовался программой diskroot для поиска базового образа файловой системы QNX. Для поддержки ДЛИННЫХ (до 505 символов) имен используется файл /.longfilenames, который создает ОС в корневом каталоге, если длинна имени файла превышает 48 символов и в него помещается «лишняя» часть имени файла.
Битовая матрица
Битовая матрица (bitmap) — файл, содержащий столько бит, сколько блоков в разделе диска. Каждому физическому блоку раздела соответствует один бит. Если бит имеет значение 1, значит, соответствующий ему блок занят. Битовая матрица используется для выделения физических блоков на диске и содержится в файле / .bitmap.
При катастрофических сбоях (например, при отключении питания), в худшем случае некоторые блоки могут быть выделены (т. е. отмечены 1 в битовой матрице), но не использованы. Вернуть эти блоки можно, запустив утилиту chkfsys.
