操作系统使用内核模式(特权模式)和用户模式。出于安全原因,这似乎很合理。进程无法生成任何命令,只有操作系统才能生成这些命令。 另一方面,所有上下文切换需要很长时间。在用户到内核模式之间切换,反之亦然。 操作系统的陷阱需要很长时间。
我认为操作系统为什么不能在内核模式下运行以提高性能(这可以是非常大的改进)?
在实时系统中,它的工作方式是否相同?
感谢。
答案 0 :(得分:2)
内核代码保证,没有用户空间进程(直到使用root priveleges执行)可能会破坏操作系统。这是现代操作系统的重要特性。同样重要的是,用户空间应用程序的开发比内核模块开发要简单得多。
如果应用程序需要比使用空间更多的性能,则可以将其代码(或部分代码)移动到内核空间中。例如,网络协议和文件系统作为内核驱动程序实现,主要是出于性能原因。
答案 1 :(得分:0)
我认为这样做毫无意义。
1。)如果你想在内核上下文中使用内核模块API运行某些东西,那有什么问题呢?
2。)为什么你认为它会有多个处理速度?在内核和用户空间之间切换只是额外的寄存器状态保存/恢复。它运行得更快,但我认为用户甚至不会注意到它。