【发布时间】:2016-01-19 23:13:21
【问题描述】:
我从各种内核开发人员那里听说,大多数 RTOS 用户空间和内核空间之间没有任何分离,因此不需要任何上下文切换。
这是真的吗?
同时,我从其他一些人那里听说这是不正确的,VxWorks 或 Integrity 等 RTOS 已将用户模式内核模式分开。
首先,哪些假设是正确的?
其次,如果这两个假设都是正确的,那么它提出了一个问题,即 RTOS 供应商何时使用内核空间和用户空间之间的分离,何时不使用?
您能说出一些没有用户模式/内核模式分离的知名 RTOS 吗?
最后,作为一个附带问题,他们如何控制 I/O 操作并避免竞争条件?
【问题讨论】:
-
这里的上下文切换是指用户内核空间切换还是线程/进程上下文切换?如果是先验,那么为了清楚起见,将其称为模式开关。
标签: kernel real-time rtos kernel-mode usermode