Windows设计师:多核芯片要求全新操作系统
扫描二维码
随时随地手机看文章
微软Windows核心操作系统部门内核设计师戴夫·普罗伯特(Dave Probert)表示,随着处理器集成的内核数量不断增多,当前操作系统的基本设计需要改变。
普罗伯特说,当前操作系统利用多核处理器处理能力的 方法非常复杂,不够完美。关键问题不是在并行编程方面投入更多资源,而是重新考虑操作系统的基本设计。目前的计算机并没有充分发挥多核处理器的处理能力。
普罗伯特在微软的工作是开发新一代Windows,但他表示,这一观点与其在微软从事的工作没有任何联系,Windows内核开发团队的许多其他设计师不同意其观点。普罗伯特称,新一代操作系统应当不同于Windows或Unix。
目前,普通桌面计算机都能同时运行多个软件,例如在上网冲浪或编辑电子邮件时播放音乐。普罗伯特说,“响应速度最为重要,用户非常重视响应速度”,要解决响应速度问题,操作系统就必须了解哪个任务具有更高的优先性。例如,用户不希望因为安全软件在扫描系统就花数分钟时间等待Word启动。大多数操作系统都部分采用优先权调度算法,但算法仍然相当粗糙。
芯片厂商在生产多核处理器时一厢情愿地认为,软件开发者将为多核处理器开发软件。普罗伯特说,问题是目前的桌面系统软件不能有效地利用多核处理器的处理能力。开发者需要利用并行编程技术才能充分利用多核处理器的处理能力。除专业的科学计算软件外,并行软件并不普及,而且并行编程技术也相对难于掌握。
普罗伯特称,一种更好的方法是重新考虑操作系统管理多核处理器的方式,“问题不在于并行编程,而在于操作系统如何管理处理器”。在计算技术发展的早期,一个处理器只运行一个软件。如果需要一个处理器运行多个软件,处理器就被分配给不同的进程,使软件“产生错觉”:它们各自独占一个处理器。当操作系统开始管理同时运行的多个软件时,它就需要一个不受用户和软件干扰的受保护的空间,这就催生了内核模式。内核模式与用户模式相互分离。普罗伯特说,内核模式和用户模式将一个处理器模拟成两个处理器。
虚拟处理器会争夺物理处理器资源,在不同虚拟处理器间切换的“费用”也会不断增长,并影响系统的响应速度,特别是在配置多核处理器的系统中。普罗伯特指出,由于英特尔和AMD预计处理器内核数量将继续增长,操作系统社区需要放弃一些观念,例如内核模式和用户模式,“如果系统中的内核足够多,每个软件都可以获得一个内核”。
在这种模式中,操作系统更像是一位“管理者”。在虚拟系统中,“管理者”是虚拟机和硬件间的一个中间层。普罗伯特表示,软件将负责更多的资源管理工作。操作系统负责将一个处理器内核和一定量的内存分配给一个软件,软件将利用编译器产生的元数据充分利用获得的资源。
普罗伯特表示,要对这种方法进行测试很困难,因为它要求大量现有软件,但这是值得的,“这种模式更灵活”。