单片与微内核

Pra*_*rav 8 unix kernel

单片内核和微内核在结构和安全性方面有什么区别。我的朋友告诉我 Linux 系统具有单片内核,因此不容易被破解,但我认为他实际上是不正确的。

有人请赐教。

Jas*_*Tan 6

基本的区别在于微内核 (MK) 非常小,仅提供非常少的服务集。大多数通常被认为是操作系统服务的内容是由在内核之外以较低特权模式执行的独立进程提供的。这些进程需要通过一些来自 IPC 的通信,而不是仅仅读/写他们想要访问的任何数据结构。

由于内核很小,移植工作量很小,因此 MK 往往相当容易移植。

由于提供的许多服务可能在用户空间而不是内核空间中运行,因此它们不能轻易破坏其他进程。这是一个安全加分项。

例如,网络堆栈的一部分在用户空间中,并且受到损害,它可能无法中断其他进程/任务。而如果单体内核中网络堆栈的同一部分可能在内核空间中运行,如果受到损害,它将能够破坏其他进程,因为它具有特权。