Книга: Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform
Оглавление книги
- Предисловие
- Введение
- Немного истории
- Для кого эта книга?
- Что содержит эта книга?
- Процессы и потоки
- Обмен сообщениями
- Часы, таймеры и периодические уведомления
- Прерывания
- Администраторы ресурсов
- Переход с QNX4 на QNX/Neutrino
- Скорая помощь
- Глоссарий
- Другие источники информации
- Источники информации в Интернет
- Выражение признательности
- Типографские соглашения
- Глава 1 Процессы и потоки
- Основные понятия о процессах и потоках
- Процесс как жилой дом
- Потоки как обитатели дома
- Назад к процессам и потокам
- Взаимное исключение
- Приоритеты
- Семафоры
- Семафор в роли мутекса
- Роль ядра
- Одиночный процессор
- Несколько процессоров — симметричная мультипроцессорная система (SMP)
- Ядро в роли арбитра
- Состояния потоков
- Процессы и потоки
- Дополнительно о синхронизации
- Блокировки чтения/записи
- Ждущие блокировки
- Условные переменные
- Дополнительные сервисы QNX/Neutrino
- Пулы потоков
- Диспетчеризация и реальный мир
- Перепланирование по аппаратному прерыванию
- Перепланирование по системным вызовам
- Перепланирование по исключительным ситуациям
- Резюме
- Глава 2 Обмен сообщениями
- Введение в обмен сообщениями
- Обмен сообщениями и модель «клиент/сервер»
- Распределенный обмен сообщениями
- Что это означает для вас
- Обмен сообщениями и многопоточность
- Применение обмена сообщениями
- Клиент
- Сервер
- Иерархический принцип обмена (send-иерархия)
- Идентификаторы отправителя, каналы и другие параметры
- Составные сообщения
- Сообщения типа «импульс» (pulse)
- Обмен сообщениями в сети
- Наследование приоритетов
- Резюме
- Глава 3 Часы, таймеры и периодические уведомления
- Часы и таймеры
- Периодические процессы
- Источники прерываний таймера
- Разрешающая способность отсчета времени
- Флуктуации отсчета времени
- Типы таймеров
- Схема уведомления
- Применение таймеров
- Создание таймера
- Сигнал, импульс или поток?
- Какой таймер выбрать?
- Сервер с периодическими импульсами
- Таймеры, посылающие сигналы
- Таймеры, создающие потоки
- Опрос и установка часов реального времени, и кое-что еще
- Тайм-ауты ядра
- Резюме
- Глава 4 Прерывания
- QNX/Neutrino и прерывания
- Написание обработчиков прерываний
- Подключение обработчиков прерываний
- Отключение обработчика прерывания
- Параметр flags
- Обработчик прерывания
- Функции, которые может вызывать ISR
- Резюме
- Глава 5 Администраторы ресурсов
- Что такое администратор ресурсов?
- Взгляд со стороны клиента
- Поиск сервера
- Поиск администратора процессов
- Обработка каталогов
- Объединенные файловые системы
- Резюме о клиенте
- Взгляд со стороны администратора ресурсов
- Библиотека администратора ресурсов
- Написание администратора ресурсов
- Функции-обработчики
- Общие замечания
- Замечания о функциях установления соединения
- Алфавитный список функций установления соединения и ввода/вывода
- Примеры
- Простой пример функции io_read()
- Простой пример функции io_write()
- Простой пример функции io_devctl()
- Пример функции io_devctl(), имеющей дело с данными
- Дополнительно
- Расширение OCB
- Расширение атрибутной записи
- Блокирование в пределах администратора ресурсов
- Возврат элементов каталога
- Резюме
- Приложение А Переход с QNX4 на QNX/Neutrino
- Приложение Б Скорая помощь
- Глоссарий
- Содержание книги
- Популярные страницы
Оглавление статьи/книги