QNX Neutrino может сделать это. Это полная RTOS, а не просто ядро, и имеет Unix-подобный интерфейс и POSIX API. Он по умолчанию использует оболочку Korn, но может использовать альтернативные оболочки или оконный интерфейс GUI. Он гораздо меньше и более масштабируем, чем Linux или Windows Embedded, и в то же время является настоящей ОСРВ.
WindowsCE способна работать в режиме реального времени (хотя и не такая гибкая или быстрая, как обычная ОСРВ, но детерминированная и с упреждающим планировщиком, основанным на истинном приоритете).
VxWorks может динамически загружать и связывать объектные модули с уже загруженным и работающим ядром.
Это не совсем то же самое, что в Windows или Linux, оно работает путем частичного связывания на хосте разработки, затем связывание завершается во время выполнения на целевом объекте. Любые неразрешенные зависимости ссылок в загружаемом объектном файле должны существовать в целевом объекте, либо в ядре, либо в ранее загруженных объектных файлах.
Результирующее время выполнения по-прежнему ведет себя как монолитное приложение, как если бы оно было полностью связано с хостом разработки, поэтому каждый модуль должен иметь уникальные внешние символы и никакой функции main (). Загрузчик / компоновщик времени выполнения не выполняет загруженный модуль, но оболочка VxWorks способна напрямую выполнять любую публичную функцию по имени функции, поэтому вы просто вызываете точку входа загруженного модуля из командной строки или сценария.