Tags
Language
Tags
April 2024
Su Mo Tu We Th Fr Sa
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4

Олег Цилюрик, Егор Горошко "QNX/UNIX. Анатомия параллелизма"

Posted By: exLib
Олег Цилюрик, Егор Горошко "QNX/UNIX. Анатомия параллелизма"

Олег Цилюрик, Егор Горошко "QNX/UNIX. Анатомия параллелизма"
Приложение: Владимир Зайцев. Организация обмена сообщениями
Символ-Плюс | 2006 | ISBN: 593286088Х | 288 pages | djvu/PDF | 4/2 MB

Авторы рассматривают возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.

Излагаемые техники вполне доступны и начинающим программистам: для изучения материала требуется базовое знание языка программирования С/С++ и некоторое понимание "устройства" современных многозадачных ОС UNIX.
Книга может быть интересна программистам в Linux, FreeBSD, NetBSD, Solaris и других традиционных ОС UNIX.

Оглавление
Предисловие
1. Введение
Параллелизм
Семейства API
Native QNX API
POSIX (BSD) API
System V API
2. Процессы и потоки
Процессы
Создание нового процесса
Использование командного интерпретатора
Клонирование процесса
Запуск нового программного кода
Завершение процесса
Соображения производительности
Потоки
Создание нового потока
Атрибуты потока
Присоединенность
Дисциплина диспетчеризации
Приоритет
Отличия от POSIX
Передача параметров потоку
Данные потока
Собственные данные потока
Безопасность вызовов в потоковой среде
Диспетчеризация потоков
Спорадическая диспетчеризация
Соображения производительности
Завершение потока
Возврат результата потока
Уничтожение (отмена) потока
Стек процедур завершения
«Легковесность» потока
Пример: синхронное выполнение потока
3. Сигналы
Традиционная обработка сигнала
«Старая» модель обработки сигнала
Модель надежных сигналов
Модель сигналов реального времени
Соображения производительности
Сигналы в потоках
За пределы POSIX: сигналы в сети
4. Примитивы синхронизации
Семафор (счетный)
Операции над семафорами
Создание семафора
Операции блокировки
Операции освобождения
Получение статуса семафора
Использование семафора
Мьютекс
Параметры мьютекса
Инициализация параметров
Установка граничного приоритета
Определение протокола защиты от инверсии приоритетов
Внешний доступ
Разрешение рекурсивного захвата
Определение типа мьютекса
Освобождение параметров
Операции над мьютексом
Инициализация мьютекса
Операции с граничным приоритетом
Захват мьютекса
Освобождение мьютекса
Разрушение объекта мьютекс
Операции, ш; поддерживаемые POSIX.
Пример применения мьютекса
Сравнение и эффективность
Атомарные операции
Условная переменная
Операции над условной переменной
Параметры условной переменной
Разрушение блока параметров
Инициализация условной переменной
Ожидание условия
Выполнение условия
Разрушение условной переменной
Ждущая блокировка
Операции со ждущей блокировкой
Захват и освобождение ждущей блокировки.
Функции ожидания
Ожидание завершения потока
Барьер
Операции с барьерами
Параметры барьера
Инициализация и разрушение барьера
Ожидание на барьере
Блокировки чтения/записи
Операции с блокировками чтения/записи
Инициализация объекта блокировки
Захват блокировки чтения/записи
Освобождение блокировки
Использование блокировок чтения/записи
Спинлок
Операции со спинлоком
Инициализация и разрушение спинлока
Захват и освобождение спинлока
5. Специфические механизмы QNX
Обмен сообщениями микроядра
Динамический пул потоков
Менеджеры ресурсов
Многопоточный менеджер
Множественные каналы
Сообщения или менеджер?
Две стороны единого механизма
Простота и трудоемкость
Гибкость и мобильность
Эффективность реализации
Что же в итоге?
Приложение. Организация обмена сообщениями (В. Зайцев)
Организация обмена сообщениями на основе «семейных» процессов
Пример кода родительского процесса
Пример кода порожденного процесса
Обмен сообщениями на основе менеджера ресурсов
Пример обмена сообщениями с помощью менеджера ресурсов
Код файла заголовков
Код процесса-клиента
Код процесса-сервера (менеджера ресурсов)
Использование менеджера службы глобальных имен
Код процесса-сервера, использующего службу глобальных имен
Код процесса-клиента, использующего службу глобальных имен
Заключение
Литература
Алфавитный указатель
with TOC BookMarkLinks


PDF: FSonic • | • CrockoTec • | • DepositF


djvu: FSonic • | • CrockoTec • | • DepositF