虽然Windows 7和Windows 7 Server都不会对底层架构做出重大改变,但无疑会更适合多核心、多路并行系统。Windows研发负责人Steven Sinofsky在近日的PDC 2008大会上宣称,Windows 7最多能支持256路处理器。
不过他没有透露任何具体细节,也没有说明微软是如何做到这一点的,毕竟现在的Windows Vista最多只能支持两颗物理处理器,而且设计的时候最高只考虑了四核心设计。
来自微软核心操作系统部门的技术人员Mark Russinovich倒是在接受采访的时候给出了比较详细的解释。他说,微软已经成功打破了Windows里的指令分发程序锁(Dispatcher-Lock)限制,Windows线程在大规模多处理器系统上不会再因为等待它而无事可作。
这一难题曾经让Windows NT之父、大神级别的David Cutler也一筹莫展。当然,那时候的服务器系统远没有如今复杂,超过32路的规模在当时基本是无法想像的。在David Cutler将精力转向云计算项目“Red Dog”(也就是近日发布的Windows Azure)之后,另一位系统内核开发人员Arun Kishan找到了全新的解决方法,通过巧妙地增加另外一种状态,使线程可以预先等待,这样Windows就能在多核心系统上很好地运行多线程并行程序了。
Russinovich随后指出,跨越这一障碍并不意味着前方就是一马平川了,开发人员现在正忙于打开内核的第二把锁。Windows里的PFN数据库包含着系统所有物理内存的信息,而它已经成为Windows在dagimo多核心、多线程应用上的新瓶颈。Russinovich表示,微软将在Windows 7和Windows Server 2008 R2(Windows 7 Server)上突破这个难题。
预计微软会在下周洛杉矶的WinHEC大会上介绍更多相关消息。