
- •Введение
- •Что такое файл?
- •Метки даты и времени
- •Доступ к файлам
- •Регулярные файлы и каталоги Регулярные файлы
- •Каталоги
- •Операции с каталогами
- •Чтение элементов каталога
- •Экстенты
- •Где хранятся экстенты
- •Увеличение файлов
- •Связи и индексные дескрипторы (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)
Производительность подсистемы устройств
Поток событий внутри подсистемы устройств сконструирован так, чтобы минимизировать избыточность и достичь максимальной пропускной способности, когда устройство работает в сыром режиме. С этой целью используются следующие правила:
Обработчики прерываний помещают принятые данные непосредственно в очереди в памяти. Только при наличии ждущего запроса на чтение и при условии, что этот запрос может быть удовлетворен, обработчик прерывания инициирует выполнение Dev. Во всех остальных случаях выполняется просто возврат из прерывания. Более того, если Dev уже выполняется, то никакой диспетчеризации не производится.
Когда запрос на чтение удовлетворен, Dev копирует данные в приложение непосредственно из буфера сырого ввода. Как результат, данные копируются только один раз.
Менеджер сети
Эта глава охватывает следующие темы:
Введение
Обязанности Менеджера сети
Интерфейс Микроядро/Менеджер сети
Сетевые драйверы
Идентификаторы узла и сети
Выбор сети
Сеть TCP/IP
Введение
Менеджер сети (Net) дает пользователям QNX прозрачное расширение мощных возможностей механизма передачи сообщений. Взаимодействуя непосредственно с Микроядром, Менеджер сети усиливает механизм IPC на основе обмена сообщениями, передавая сообщения на удаленные компьютеры. Кроме того, Менеджер сети обеспечивает:
повышенную пропускную способность за счет балансировки нагрузки;
отказоустойчивость за счет резервирования соединений;
функции моста между QNX сетями.
Обязанности Менеджера сети
Менеджер сети отвечает за распространение примитивов передачи сообщений QNX в пределах локальной сети. Стандартные примитивы передачи сообщений используются без изменения для связи с удаленным компьютером. Другими словами, не существует особых "сетевых" Send(), Receive() или Reply().
Независимый модуль
Менеджер сети не должен быть обязательно встроен в образ операционной системы. Он может быть запущен и остановлен в любое время, чтобы обеспечить или удалить сетевые возможности передачи сообщений.
При запуске Менеджер сети регистрируется у Менеджера процессов и Ядра. Это активизирует код внутри последних, который взаимодействует с Менеджером сети. Это означает, что передача сообщений по сети и создание удаленных процессов - это не просто добавляемый поверх операционной системы слой. Сетевые возможности интегрированы в самую сердцевину примитивов передачи сообщений и управления процессами.
Такая глубокая интеграция на самом нижнем уровне обеспечивает QNX сетевую прозрачность и делает ее полностью распределенной операционной системой. Поскольку приложения запрашивают и получают доступ ко всем обслуживающим программам посредством сообщений и Менеджер сети обеспечивает прозрачное прохождение сообщений по сети, то узлы QNX функционируют вместе как единый логический компьютер.
Поскольку Менеджер сети и Микроядро отделены друг от друга, Микроядро может достичь независимости от сетевого оборудования, а компьютеры, не подключенные к сети, могут выиграть за счет меньшего объема кода.