Синхронизация и взаимодействие программных потоков в операционной среде реального времени. Дорогов А.Ю. - 4 стр.

UptoLike

Составители: 

4
низм межзадачного взаимодействия имел высокую степень надежности, по-
скольку процессы, на основе которых работают такие приложения, тесно
связаны между собой.
Одной из общих проблем в области разработки приложений реального
времени является обеспечение мобильности (переносимости, портабель-
ности) программного обеспечения (ПО), т. е. возможности использования
одного и того же программного кода в различных операционных системах.
Это задача исключительной важности и сложности. Один из общепринятых
способов повышения мобильности ПОстандартизация окружения прило-
жений, т. е. предоставляемых программных интерфейсов, утилит и т. п. На
уровне системных сервисов подобные возможности определены междуна-
родным стандартом POSIX (Portable Operating System Interface – мобильный
интерфейс операционной системы). Название предложил известный спе-
циалист, основатель Фонда свободного программного обеспечения Ричард
Столмэн. В данном учебном пособии рассматриваются сервисы синхрони-
зации, диспетчеризации, управления и взаимодействия между потоками
для современной версии стандарта, которую можно назвать «стандартом
втройне», а именно: стандартом IEEE Std 1003.1, техническим стандартом
Open Group и, что наиболее важно, международным стандартом ISO/IEC
9945. Информацию о текущей документации по стандартам POSIX можно
найти в отчете Комитета по стандартам переносимых приложений (Portable
Applications Standards Committee of the IEEE Computer Society) по интернет-
адресу http://www.pasc.org/standing/sd11.html. Наиболее последовательно
данный стандарт реализован в широкоизвестной операционной системе
реального времени QNX Neutrino. Целевым назначением QNX Neutrino яв-
ляется реализация систем управления для широкого круга технологических
приложений, начиная с небольших встроенных систем с ограниченными ре-
сурсами и заканчивая крупными распределенными вычислительными сре-
дами. Данная ОСРВ поддерживает несколько семейств процессоров, в том
числе x86, ARM, XScale, PowerPC, MIPS, SH-4. В настоящее время эта
ОСРВ де-факто является полигоном для испытания и развития стандартов
POSIX, поэтому далее большинство сервисов операционной системы опи-
сано в контексте QNX Neutrino.
1. Микроядро, потоки и процессы
Потокэто минимальная исполняемая единица операционной систе-
мы. Процессэто контейнер потоков, имеющих общее адресное простран-
ство. Любой процесс содержит по крайней мере один поток. Исполняющим