RTP是啥?

2019-07-10 15:26:22 浏览数 (2)

RTP是啥?

VxWorks的RTP,全称是Real-Time Process,可以翻译为实时进程。

在6.0之前,VxWorks使用的是single的内存空间,操作系统与应用程序是不分离的。这种模型在开发应用程序时有更好的灵活性和性能,但对开发者的要求也更高一些,因为错误的应用可以轻易导致其它应用或系统崩溃,程序猿需要确保内核设施和应用程序在同一内存空间中和平共处。例如任务T3的栈溢出了,就有可能破坏其它任务的地址空间,如果被破坏的是系统任务T1,那很可能结果就是死机。而此时的T3,有可能已经退出了,T1就成了T3的背锅侠了。

从6.0开始,VxWorks引入了RTP。这个RTP在许多地方都与其它操作系统的进程差不多,例如对POSIX的兼容性。所以了解UNIX/Linux进程模型的程序猿,很快就可以熟悉RTP的创建、执行或者终止。

不过RTP是专门为RTOS设计的,为了满足实时性的需求,它与其它系统的进程还是有很多不同的。

RTP用于在用户模式里执行应用程序。每个进程使用独立的地址空间,将自己的程序、数据、栈、堆,以及其它相关资源保护起来。系统中可以同时存在多个进程,每个进程内可以有多个任务(类似于其它系统的线程)。

有了RTP,就可以在用户模式下执行应用程序和操作系统的其它功能,这些功能在内核和应用程序之间具有清晰的划分。这种体系结构通常被称为进程模型。

同时,6.x与5.5保持了高度的兼容。基本上不需要任何修改,就可以将早期VxWorks的内核应用程序迁移到6.x内核空间(在大多数情况下,只是重新编译)。

关于RTP的具体信息,咱们后文慢慢道来。

这正是:

VX系统与时进,内核应用若比邻。

历史项目好兼容,不损实时高性能。

0 人点赞