Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform | страница 10
Спасибо Ким Фрейзер (Kim Fraser) за уже вторую прекрасную обложку для моей книги.
Отдельное спасибо Джону Острандеру (John Ostander) за его превосходные предложения по грамматике и внимательное чтение корректуры :-).
И, конечно, особую благодарность я хочу выразить моему редактору, Крису Херборту — за то, что он нашел время редактировать эту книгу, помогать мне иногда с применением мрачных SGML/LaTeX, умудряясь при этом еще делать дюжину вещей одновременно! («Ну я же тебя просил напомнить мне, чтобы я не делал так больше!» — цитата из Криса.)
Я также хотел бы выразить глубокую благодарность за поддержку и понимание моей жене Кристине за то, что она каждый раз терпела мое многочасовое торчание в подвале с полнейшим ее игнорированием!
Типографские соглашения
В тексте данной книги для обеспечения различимости технической терминологии используется ряд типографских соглашений. В целом, примененные здесь стандарты оформлении текстового материала соответствуют таковым в публикациях документов POSIX. Ниже в таблице приведены образцы принятых типографских соглашений.
Тип текста | Пример оформления |
---|---|
Тексты программ | >if (stream == NULL) |
Опции команд | >-lR |
Команды | >make |
Переменные окружения | PATH |
Файлы и имена путей | >/dev/null |
Имена функций | exit() |
Комбинации клавиш | Ctrl-Alt-Del |
Клавиатурный ввод | >Текст, который вы набираете |
Клавиши | Enter |
Вывод программ | >login: |
Именованные константы | NULL |
Типы данных | >unsigned short |
Литералы | >0xFF, "message string" |
Имена переменных | stdin |
Глава 1
Процессы и потоки
Основные понятия о процессах и потоках
Прежде, чем мы начнем обсуждать потоки, процессы, кванты времени и другие замечательные «концепции диспетчеризации», давайте поговорим об аналогиях.
Сначала я хотел бы проиллюстрировать, как функционируют потоки и процессы. На мой взгляд, лучший способ (о глубинном изучении систем реального времени сейчас речь не идет) — это вообразить поведение наших потоков и процессов в некоторой привычной для нас обстановке.
Процесс как жилой дом
Давайте используем для построения аналогий о процессах и потоках объект, который мы используем повседневно — наш собственный дом.
Дом реально представляет собой контейнер с некоторыми атрибутами (общая площадь дома, число спален, и т.д.).
Если рассматривать жилой дом с этой точки зрения, он ничего не делает сам по себе. Дом — пассивный объект, в этом он аналогичен процессу. Поговорим об этом вкратце.