有人告诉我,Windows NT 最初是为实现微内核架构而设计的,但后来转向混合内核。
是什么导致了这种变化?我很难找到有关此的任何信息。
有人告诉我,Windows NT 最初是为实现微内核架构而设计的,但后来转向混合内核。
是什么导致了这种变化?我很难找到有关此的任何信息。
Windows NT 成为混合内核的主要原因是速度。基于微内核的系统仅将最少的系统组件放入内核中,并将其余部分作为用户模式进程(称为服务器)运行。一种进程间通信 (IPC) 形式,通常是消息传递,用于服务器和内核之间的通信。
基于微内核的系统比其他系统更稳定;如果服务器崩溃,它可以在不影响整个系统的情况下重新启动,如果每个系统组件都是内核的一部分,则无法做到这一点。然而,由于 IPC 和上下文切换产生的开销,微内核比传统内核慢。由于微内核的性能成本,微软决定保留微内核的结构,但在内核空间中运行系统组件。从 Windows Vista 开始,一些驱动程序也在用户模式下运行。