- •Введение
- •Что такое файл?
- •Метки даты и времени
- •Доступ к файлам
- •Регулярные файлы и каталоги Регулярные файлы
- •Каталоги
- •Операции с каталогами
- •Чтение элементов каталога
- •Экстенты
- •Где хранятся экстенты
- •Увеличение файлов
- •Связи и индексные дескрипторы (inodes)
- •Удаление связей
- •Связи каталога
- •Символические связи
- •Программные каналы (pipes) и fifo Программные каналы (pipes)
- •Производительность Менеджера файловой системы
- •Лифтовый поиск
- •Многопотоковая обработка
- •Клиент-управляемый приоритет
- •Временные файлы
- •Псевдодиски
- •Надежность файловой системы
- •Восстановление файловой системы
- •Работа с дисками
- •Диски и дисковые подсистемы
- •Разделы ос
- •Определение блок-ориентированный файлов
- •Монтирование файловой системы
- •Битовая карта
- •Корневой каталог
- •Менеджер файловой системы dos
- •Файловая система cd-rom
- •Файловая система флэш
- •Ограничения
- •Восстановление свободного пространства
- •Сжатие и распаковка
- •Доступ к файлам
- •Монтирование
- •Доступ на низком уровне
- •Файловая система nfs
- •Файловая система smb
- •Менеджер устройств
- •Введение
- •Обслуживание устройств
- •Режим редактируемого ввода
- •Режим необрабатываемого ввода
- •Драйверы устройств
- •Управление устройствами
- •Консоль qnx
- •Функции, специфичные для консоли
- •Последовательные устройства
- •Параллельные устройства
- •Производительность подсистемы устройств
- •Менеджер сети
- •Введение
- •Обязанности Менеджера сети
- •Независимый модуль
- •Интерфейс Микроядро/Менеджер сети
- •Посылка сообщения на удаленный узел
- •Получение сообщения с удаленного узла
- •Сетевые драйверы
- •Идентификаторы узла и сети
- •Физический id узла
- •Логический id узла
- •Логический id сети
- •Выбор сети
- •Распределение нагрузки
- •Отказоустойчивость
- •Мосты между сетями qnx
- •Сеть tcp/ip
- •Менеджер tcp/ip
- •Сокет api
- •Возможность взаимодействия сетей
- •Оконная система Photon microGui
- •Графическое микроядро
- •Пространство событий Photon
- •Регионы
- •События
- •Графические драйверы
- •Несколько графических драйверов
- •Цветовая модель
- •Масштабируемые шрифты
- •Наборы шрифтов Основной латинский набор
- •Расширенный латинский набор
- •Поддерживаемые языки
- •Дополнительные языковые пакеты
- •Многоязычная поддержка Unicode
- •Поддержка анимации
- •Поддержка печати
- •Менеджер окон Photon
- •Библиотека виджетов
- •Виджет Панель (PtPane)
- •Виджет Группа (PtGroup)
- •Виджет Область прокрутки (PtScrollArea)
- •Виджет Дерево (PtTree)
- •Виджеты Терминал (PtTty, PtTerminal)
- •Виджет Делитель (PtDivider)
Битовая карта
Чтобы распределять пространство на диске, QNX использует битовую карту, хранящуюся в файле /.bitmap. Этот файл содержит битовую маску для всех блоков на диске, показывающую, какие блоки заняты. Каждому блоку соответствует один бит. Если значение бита 1, то соответствующий блок на диске занят.
Корневой каталог
Корневой каталог раздела ведет себя как обычный каталог, за двумя исключениями:
как ".", так и ".." являются связями к одной и той же inode информации, а именно, корневым каталогом inode в корневом блоке;
корневой каталог всегда содержит элементы для файлов /.bitmap, /.inodes, /.boot и /.altboot. Эти элементы предусмотрены для того, чтобы программы, которые выдают информацию о файловой системе, видели эти элементы как обычные файлы.
Менеджер файловой системы dos
В QNX пространство имен ввода/вывода управляется через префиксы, которые направляют запросы соответствующим процессам-менеджерам. Одним из таких процессов является Менеджер файловой системы DOS (Dosfsys). Dosfsys регистрирует префикс /dos и представляет диски DOS внутри пространства имен QNX как "гостевые" файловые системы.
Dosfsys обеспечивает прозрачный доступ к дискам DOS, так что вы можете рассматривать файловые системы DOS как файловые системы QNX. Такая прозрачность позволяет процессам работать с файлами DOS без каких-либо специальных знаний или действий. Стандартные библиотечные функции ввода/вывода, такие как open(), close(), read() и write() работают с файлом в разделе DOS точно так же, как и с файлом в разделе QNX. Например, чтобы копировать файл из раздела QNX в раздел DOS, достаточно выполнить команду:
cp /usr/luc/file.dat /dos/c/file.dat
Заметьте, что /dos/c - это путь к DOS диску C. Команда cp не содержит какого-либо специального кода для определения, находится ли копируемый файл на диске DOS. Другие команды работают с такой же прозрачностью (например, утилиты cd, ls и mkdir).
Если не существует эквивалента DOS для функции QNX, такой как mkfifo() или link(), то Dosfsys возвращает соответствующий код ошибки (т.е. errno).
Dosfsys работает как с гибкими дисками, так и с разделами жестких дисков. Весь требуемый доступ к диску на низком уровне производится через стандартные функции Менеджера файловой системы. Поэтому, без доступа к коду низкого уровня, Dosfsys способен обеспечить прозрачный интерфейс между приложениями QNX и файловой системой DOS.
Файловая система cd-rom
Файловая система CD-ROM, Iso9660fsys, обеспечивает прозрачный доступ к носителям CD-ROM, таким образом можно работать с файловыми системами CD-ROM, как будто это файловые системы POSIX. Такая прозрачность обеспечивает процессам доступ к файлам на CD-ROM стандартными средствами.
Менеджер Iso9660fsys реализует стандарт ISO 9660, включая расширения Rock Ridge. Этому стандарту соответствуют компакт-диски DOS и Windows. В дополнение к обычным файлам, Iso9660fsys также поддерживает аудио.
Файловая система флэш
Менеджер файловой системы флэш Efsys.* был специально разработан для работы, как со встроенной, так и со сменной флэш-памятью. Файлы, записанные на сменные носители флэш (карты PC-Card), переносимы в другие системы, которые также поддерживают этот стандарт.
Менеджер Efsys.* сочетает функции менеджера файловой системы и драйвера устройства. Так как Efsys.* содержит драйвер устройства, то существуют отдельные версии Efsys.* для различных видов оборудования встраиваемых систем. Например:
Efsys.explr2 для платы Intel EXPLR2 (с RFA);
Efsys.elansc400 для платы AMD Elan SC400;
Efsys.pcmcia для смешанного использования файловых систем флэш и устройств PCMCIA.
