现任谷歌AI工程师兼逆向工程专家Laurie Kirk近日公开表示,Windows NT核心在架构设计上是一项工程奇迹,其基于对象的统一抽象模型与严谨的安全体系,在许多方面仍让Linux感到汗颜。
但需要注意的是,这里说的Windows NT是1993年发布的初代Windows NT 3.1。NT 3.1由传奇工程师Dave Cutler带领原DEC团队从零打造,核心思路是把内核态和用户态彻底隔开。
内核负责内存管理、进程调度、安全机制和硬件驱动,应用程序跑在受限的用户态里,一个程序崩了不会拖垮整个系统。
应用程序想调用内核服务,不能直接动手,得先发给对应的环境子系统,由子系统翻译成NT内核能理解的指令再往下传。
真正让Laurie Kirk惊叹的是NT的对象模型,进程、线程、文件、设备、注册表项、互斥锁等超过25种系统资源,全部统一抽象成“对象”,由对象管理器统一创建、销毁、管理权限。
开发者拿到的只是系统分发的句柄,每次访问都要过一遍访问控制列表比对权限,这套机制从头到尾贯穿一致,没有例外。


