我从各种内核开发人员那里听说,大多数 RTOS 在用户空间和内核空间之间没有任何分离,因此不需要任何上下文切换。
这是真的?
同时,我从其他一些人那里听说这不是真的,VxWorks 或 Integrity 等 RTOS 已经分离了用户模式内核模式。
首先,哪些假设是正确的?
其次,如果这两个假设都是正确的,那么这就提出了一个问题,即 RTOS 供应商何时使用内核空间和用户空间之间的分离,何时不使用?
你能说出一些没有用户模式/内核模式分离的知名 RTOS 吗?
最后,作为一个附带问题,他们如何控制 I/O 操作并避免竞争条件?