天下网吧 >> 网吧天地 >> 网吧行业 >> 网络追踪 >> 正文

微软技术工程师谈Windows的新内核MinWin

2009-12-4cnbeta佚名

  但是和80年代就有的那种将API“解析”到相同的一系列动态链接库的方式不同,在新的MinWin架构下,一切都不一样了。在揭示了25年前的构成效率理念和现在的完全不同之后,Russinovich道出了一个惊人的细节:在以前版本的Windows里,一些没有任何逻辑关系的API被胡乱绑在一起,纯粹是为了缩短启动时间。越是大的API集合,就越和文件名没有任何关系。

  “我们不想再那么搞了,我们想让磁盘上的文件和真正的API没有任何关系,这样我们就可以动态地构造它们。” Russinovich说。“换句话说,我们想让大家调用那些虚拟的动态链接库,然后系统会将虚拟的动态链接库映射到真正实现这些功能的逻辑动态链接库。”“所以对于一个程序员来说,一个虚拟动态链接库的功能是由哪个逻辑动态链接库来实现的都是无所谓的,到底怎么构成实现这些功能的最佳组合是由我们来决定的。”

  这样做确实是会牺牲一些性能的,比如会在依赖关系中出现一些“人工制品”,比如Russinovich自己编写的Dependency Walker就可以跟踪到。另外,进程必须要建立一个虚拟动态链接库到逻辑动态链接库的映射表。而且虚拟动态链接库的文件必须要真实存在,哪怕文件里面全是空指令。

  但利大于弊,比如API调用更快了,因为定位操作都是虚拟、动态的。而且微软自家的开发者们,在Russinovich称作三年的“抑扬顿挫”的新产品研发周期中,又有更多的时间来研究除了新系统架构、新硬件以外的东西了。

  MinWin可能带来的意外惊喜之一可能是更好用的服务器核心。就像Russinovich演示的那样,直到Vista系统为止,命令提示符还在依赖一个(无关紧要的)高层进程,CSRSS。这个高层进程又与图形函数相关联。全新的MinWin架构使每个进程都能访问一个和系统核心更接近的子系统,名为CONHOST,这样就不用去折腾那些根本不会用到的动态链接库。下一代Windows (“Server 2011?”)会用以MinWin为基础的横向分层架构代替目前的服务器核心。

  Windows桌面版本的另一个可能的巨大变化——Russinovich没有提到,但反正大家都可以预见——就是使用以MinWin为基础的功能层来管理硬件和运行系统服务,外加一个也是基于MinWin的虚拟层来运行程序和提供用户环境。这种设计估计比目前的系统要安全无数倍。

9 7 3 1 2 4 8 :

本文来源:cnbeta 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行