Авторы
От составителя (вместо предисловия)
ОПЕРАЦИОННАЯ СИСТЕМА … ИЗНУТРИ
Операционные системы реального времени
Введение
Определение терминологии
Обзор архитектур ОСРВ
Функциональные требования к ОСРВ
Диспетчеризация потоков
Уровни приоритетов
Механизмы синхронизации
Защита от инверсии приоритетов
Временные характеристики ОС
Современные ОСРВ
VxWorks AE 1.1
Windows CE.NET
QNX 6.21
Заключение
Литература
Инверсия приоритетов и реальное время
Системная информация
Получение версии операционной системы
Получение информации об оперативной памяти
Получение идентификатора процесса по его имени
Получение информации о подключенных файловых системах
Загрузка процессора
Что дальше?
Использование дополнительных .ELF сегментов в QNX
Введение
Создание дополнительных сегментов с помощью языковых расширений компилятора GNU C/C++
Как работает команда use при показе помощи
Создание сегмента с информацией типа .pinfo
Создание сегмента с PhAB ресурсом
Использование сегментов для других целей
Список рекомендуемой литературы и источников
Служба времени
Модель временной шкалы QNX
Измерение временных характеристик
Системное профилирование
Источники информации
Получение списка файловых дескрипторов процесса
Ссылки
Получение системной информации стека
протоколов TCP/IP в ОС QNX 4.25
Введение
Взаимодействие с менеджером TCP/IP в QNX
Получение статистики протокола IP
Заключение
Литература
Ресурсы Internet
Получение системной информации стека
протоколов TCP/IP в ОС QNX6
Введение в библиотеку kvm
Получение статистики по протоколам
Получение статистики по сетевым интерфейсам
Получение таблицы маршрутизации
Получение списка активных соединений
Заключение
Литература
ИСПОЛЬЗОВАНИЕ ВОЗМОЖНОСТЕЙ…
А пинги здесь тихие....
Печать в QNX
Две подсистемы печати?
Прямая печать на /dev/par
BSD подсистема
Spooler и печать в Photon
Совместное использование подсистем печати
Печать в сети
Сетевой принтер со встроенным принт-сервером
Windows- Server
QNX в роли сервера печати
Источники информации
SAMBA в QNX 6.Х (QNX в Windows сети )
Зачем нужна SAMBA в QNX?
Установка
Конфигурирование
Конфигурирование запуска SAMBA средствами
суперсервера inetd
Сравнение производительности SMB-обмена
для QNX- и Win-клиентов
ТЕХНИКА ПРОГРАММИРОВАНИЯ
Простой проект: от Makefile до qpr
Сборка библиотеки
Программа
Отладка
Запись в CVS
Создаем пакет для qnxinstall
Драйверы
Часть 1. Введение в предмет
Часть 2. Пишем драйвер
Выбор задачи для эксперимента
Подготовка интерфейсной части
Написание менеджера ресурса
Комментарии к коду менеджера ресурса
Часть 3. Использование драйвера (вариации на тему ICQ)
Написание клиентской части
Комментарии к коду клиента
Примечания к исходным кодам
Выводы и направления развития
Источники информации
ПРОГРАММИРОВАНИЕ ДЛЯ GUI
Построение приложений в PhAB
Начинаем создание проекта
Более тонкие вопросы
Общий вид функций callback
Как "добраться" к widget из программного кода?
Как динамически отобразить widget контейнер на экране?
Работа с widget в потоках (thread)
Структура файлов проекта
Подключение к проекту собственных файлов
программного кода
Использование библиотек
Еще несколько советов
Заключение
Краткая справка по терминологии, используемой
в графической системе Photon OS QNX
Использованные источники информации
Глобальные "горячие клавиши" и не только...
Пробел случая :)
Физика элементарных частиц
К снаряду...
Простой тест
Создаем регион
Прием событий
Использование в приложениях
Что можно сделать еще?
Литература
Перемещение виджетов
Где это можно использовать?
Литература
Построение собственных виджетов на примере
"двуручного" слайдера
Половина вторая. Построение виджетов
Жизненный цикл виджета
Процедура построения виджета
Две половины. Виджет-слайдер с двумя ручками
Описание виджета
Функции и методы
Ссылка на класс
Функция создания класса DoubleSlider
Метод установки значений по умолчанию
Обработчики событий
Установка и чтение ресурсов
Добавление виджета в PhAB
Напоследок...
Литература
Визуальные инкапсулированные компоненты
Задача
Предварительное решение
Последующее решение
Придаем компоненту некоторый "шарм"
Замечания по сборке
Рабочий проект
Постскриптум
Быстрый GUI
Заключительные примечания
Послесловие
ПРОГРАММИРОВАНИЕ В СЕТЯХ
Утилита on
Какие возможности дает пользователю утилита on?
Ожидание устройства или файла
Запуск на другом терминале
Запуск с заданным приоритетом
Запуск от имени другого пользователя
Запуск на удаленном узле QNX сети
Заключение
Сеть IP - когда писать программы лень
Маленькое лирическое отступление
Источники информации
Сервер TCP/IP… много серверов хороших и разных
Постановка задачи
Клиент
Последовательный ретранслирующий сервер
"Классический" параллельный сервер
Параллельный сервер с предварительным
созданием копий (pre-fork)
Использование суперсервера inetd
Сервер, создающий поток обслуживания по запросу клиента
Сервер с предварительным созданием потоков
Сервер с использованием динамического пула потоков
Итоги
Симметричный кластер
Общие соображения
Общее описание проекта
Целевая задача
Организация кластера
Кластер и живучесть системы
Как это выглядит
Резюме в заключение
Использованные источники информации
Приложение A. Полный исходный код
симметричного кластера