- •Введение
- •Что такое файл?
- •Метки даты и времени
- •Доступ к файлам
- •Регулярные файлы и каталоги Регулярные файлы
- •Каталоги
- •Операции с каталогами
- •Чтение элементов каталога
- •Экстенты
- •Где хранятся экстенты
- •Увеличение файлов
- •Связи и индексные дескрипторы (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)
Файловая система smb
SMBfsys реализует протокол SMB (Server Message Block) совместного использования файлов, который используется различными серверами, такими как Windows NT, Windows 95, Windows for Workgroups, LAN Manager, Samba. SMBfsys обеспечивает QNX-клиенту прозрачный доступ к удаленным дискам таких серверов.
SMBfsys реализует этот протокол, используя только NetBIOS поверх TCP/IP, не NetBEUI. Соответственно, необходимо, чтобы TCP/IP был установлен, как на QNX-машине, так и на удаленном сервере. После того, как запущен SMBfsys и смонтирован удаленный сервер, файловая система сервера появляется в локальном дереве каталог.
Менеджер устройств
Эта глава охватывает следующие темы:
Введение
Обслуживание устройств
Режим редактируемого ввода
Режим необрабатываемого ввода
Драйверы устройств
Консоль QNX
Последовательные устройства
Параллельные устройства
Производительность подсистемы устройств
Введение
Менеджер устройств QNX (Dev) является интерфейсом между процессами и терминальными устройствами. Эти ерминальные устройства располагаются в пространстве имен ввода/вывода с именами, начинающимися с /dev. Например, консольное устройство в QNX будет иметь имя:
/dev/con1
Обслуживание устройств
Программы в QNX получают доступ к терминальным устройствам, используя стандартные функции open(), close(), read() и write(). Для процесса QNX терминальное (оконечное) устройство представляется двунаправленным потоком байт, который может считываться и записываться процессом.
Менеджер устройств регулирует поток данных между приложением и устройством. Dev выполняет некоторую обработку этих данных в соответствии с параметрами управляющей структуры терминала (называемой termios), которая существует для каждого устройства. Пользователи могут запрашивать и/или изменять эти параметры с помощью утилиты stty; программы могут использовать функции tcgetattr() и tcsetattr().
Параметры структуры termios управляют функциональностью низкого уровня, такой как:
параметры линии (включая скорость передачи, контроль четности, стоп-биты, биты данных);
эхо-вывод символов;
редактирование строки ввода;
распознавание и реакция на команду "Break" и зависания;
программное и аппаратное управление потоком данных;
преобразование выводимых символов.
Менеджер устройств также предоставляет набор дополнительных услуг, доступных процессам для работы с терминальным устройством. В следующей таблице приведены некоторые из этих услуг.
Процесс может: |
Функция Си: |
Выполнять операции чтения с контролем времени |
dev_read() или read() и tcsetattr() |
Получать асинхронное извещение о доступных данных |
dev_arm() |
На одном или более устройствах ввода ждать полного завершения операции вывода |
tcdrain() |
Посылать команду Break по каналу связи |
tcsendbreak() |
Разорвать соединение |
tcdropline() |
Вставить входные данные |
dev_insert_chars() |
Выполнять неблокирующиеся чтение и запись |
open() и fcntl() (O_NONBLOCK mode) |
