RTX – расширение реального времени для Windows NT

       

Использование процессов


Ниже кратко описывается работа процессов в RTSS и Win32 среде.

Процессы в RTSS подсистеме

Процесс, исполняющийся в RTSS, состоит из набора хэндлов объектов, адресного пространства процесса, по меньшей мере одного потока и исполняемого файла. При создании процесса RTSS выполняет следующие действия:

  • Загружает исполняемый файл, как драйвер
  • Выделяет процессу heap из non-paged kernel page pool
  • Создает основной поток

Процесс может быть запущен одним из следующих способов:

  • Загрузка в качестве драйвера устройства во время загрузки системы (используя утилиту RTSSrun)
  • Выполнение RTSS-программы из Win32

Процесс прекращает работы при одном из следующих условий:

  • Последний поток закончил работу
  • Один из потоков вызвал ExitProcess
  • Процесс убит утилитой RTSSkill

Максимальное число процессов, одновременно существующих в RTSS, равняется числу слотов RTSS-процессов, заданному в регистре (по умолчанию 10). RTSS-процесс не может использоваться в качестве объекта синхронизации.

Процессы в Win32 подсистеме

Процессы, выполняющиеся подсистеме Win32, начинают взаимодействовать с RTX, когда они вызывают функции RTAPI. Такой вызов связывает процесс с rtapi_w32.dll. После этого RTX может выделять ресурсы для этого процесса, изменять его приоритет и т.д. Число Win32 процессов, которое может взаимодействовать с RTX, непостоянно – оно зависит от конфигурации системы и свободных ресурсов.



Содержание раздела