windows并行文件系统 微软精心打造的 Vista 系统,为什么死得这么快?(2)

电脑杂谈  发布时间:2018-02-22 14:45:44  来源:网络整理

Windows团队曾经尝试过许多和有野心的项目,不过这些项目在几年后往往被放弃或重新规划。更早的例子是雄心勃勃的Cairo项目,它最终失败了,最后有些残存的理念传承至Windows 2000中。

问题1:更新迭代的时长过久

在我看来,Windows最大的问题在于每个版本的时长。平均而言,一个版本从开始到完成大约需要3年时间,但“新”代码的开发时间只有大约6到9个月。其余时间都用于集成、测试之类的——每个阶段持续几个月。

一些项目的核心开发时间要超过6个月,所以它们就齐头并进,最后在准备就绪时与主代码库合并。这意味着主干几乎总是支离破碎的,因为大量的功能被集成或替换掉了。在Windows 7发布期间,为了确保有一个持续健康和功能正常的代码库,我们对其进行了更严格的控制,但之前发布的版本都有好几个月的不稳定期。

windows并行文件系统_并行文件系统是什么_windows文件系统是?

开发过程总体来说还是比较混乱的,开发人员会说服自己和他人他们的代码优于别的项目,他们最后能及时优化仅剩的一些小部分,这样一来即使是半成品,这也是一个可以发布的版本。

3年的发布周期意味着我们很少知道当我们发布新版本时,外部的竞争环境会是什么样子的。错过一场发布意味着项目取消,但一个团队或高管就是不能让自己放弃。我个人也负责过一些这样的项目。

问题2:团队庞大,进度不一致且最终测试难

考虑到每个团队都想把自己的东西夹在新版本中,所以他们通常会在与其他组件的集成、用户界面、端间测试以及升级等繁琐而乏味的问题上浪费时间,却忽略了棘手的问题。反过来,这意味着一些团队很快变成了别人的瓶颈,因为每个人都在为最后一刻完成用户界面设计或升级测试而努力。

在任何给定的时间点,都有多个主要的版本处于开发状态。随着时间的推移,不同的团队负责不同情况下的代码库开发导致了马太效应——由于某种原因落后的团队往往会更落后。

当一个项目接近完成时,项目经理将开始关注下一个版本的需求,而“健康”(富有)团队的开发人员将开始执行新的代码,但是组织的大部分(穷人)仍然要应用当前版本。特别是测试团队很少从旧版本中解放出来,直到它发布,所以新代码在项目开始时并没有经过彻底的测试,因为“不健康”的团队总是落后,对当前版本进行最后的修改,然后进一步落后。这些团队通常是士气最低、耗时最高的团队,这意味着工程师们接手的是他们没有编写过、因而也不理解的代码。

问题3:与软件供应商关于安全问题的矛盾

在Vista/Longhorn项目的大部分时间里,我负责的板块是存储和文件系统技术,也就是说我参与了WinFS的工作,尽管它主要是由SQL团队(Windows团队的一个姐妹组织)发起的。比尔·盖茨甚至亲自参与,甚至被戏称为“WinFS”项目经理。

不过事后看来,显然谷歌轻松地解决了为非结构化数据提供无缝且快速搜索的问题。不过他们这样做是为了整个互联网,而不仅仅是为了你的磁盘容量。

当Longhorn项目被取消,Vista残存的一鳞半爪匆匆组装在一起时,WinFS项目就已经被否决了。SQL团队将它作为一个独立的项目进行了几年。而那时Windows已经有了一个内置的索引引擎,而且完全是在不需要更改变更应用的情况下实现的。因此,WinFS的相关性变得更加模糊,可项目却仍在继续。

Longhorn项目中大量与安全相关的架构在该项目废止之后,被保存为Windows Vista项目的一部分。我们在迅速膨胀的互联网世界中学习了很多安全知识,并希望将所学到的经验用于操作系统之中,以提高所有客户的整体安全性。

我们别无选择。因为Windows XP表明了我们是自己成功产品的受害者。当面对互联网时代的现实时,一个设计初衷仅为实用的系统在满足安全性方面是远远不够的。解决这些安全问题意味着创建一个并行的项目,即Windows XP Service Pack 2,这是一项巨大的工程,而且从Longhorn项目中汲取了数千个资源。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-88903-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 马迪
      马迪

      舍不得再怎么不舍终究还是要舍得

      • 热万杰恩斯
        热万杰恩斯

        和体现人道主义精神

    热点图片
    拼命载入中...