中国领先的IT技术网站
|
|

一个Windows系统究竟有多复杂?

Microsoft Windows 问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

作者:来源:博客园|2015-05-06 13:39

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


Microsoft Windows 问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

下面我们从代码行数、开发难度,参与人员的数量,开发的时间长度等角度来说说,一个 windows 系统有多复杂。

  • Windows XP 大约 40,000,000 行代码。

  • Windows Vista 大约 50,000,000 行代码。

  • Windows 7 大约 50,000,000 行代码。

Windows 7 开发的时候有 23 个小组,每个小组约 40 人,也就是将近 1000 人。这仅仅是 Windows 团队的人数,其余为其做出贡献的更是数不胜数。

这 23 个团队是:

  1. Applets and Gadgets (小程序和边栏应用)

  2. Assistance and Support Technologies (协助和支持技术)

  3. Core User Experience (核心用户体验)

  4. Customer Engineering and Telemetry (用户工程和遥测)

  5. Deployment and Component Platform? (部署和组件平台)

  6. Desktop Graphics (桌面图形)

  7. Devices and Media (设备和媒体)

  8. Devices and Storage (设备和存储)

  9. Documents and Printing (文档和打印)

  10. Engineering System and Tools (工程系统和工具)

  11. File System (文件系统)

  12. Find and Organize (查找与组织)

  13. Fundamentals (基础)

  14. Internet Explorer (包括 IE8 down-level)

  15. International (国际化)

  16. Kernel & VM (内核与虚拟机)

  17. Media Center (媒体中心)

  18. Networking – Core (网络 – 核心)

  19. Networking – Enterprise (网络 – 企业)

  20. Networking – Wireless (网络 – 无线)

  21. Security (安全)

  22. User Interface Platform (用户界面平台)

  23. Windows App Platform (Windows 应用平台)

Windows Vista 代码行数约 5000 万行,算上修正掉的代码估计超过一亿行。内部版本超过上千个...每个版本都有所测试...为其做出贡献的正式工合约工临时工超过数万人。大概的工程量可能和胡夫金字塔相当。

按照 Word 标准 A4 纸默认打印 +Consolas 字体+默认字号,每页 A4 纸可以打印 44 行代码。考虑到折行问题(假设有 30% 的代码行数在 A4 纸上一行打印不完),1.3*5000w=6500w 行代码。大概需要 148 万张 A4 纸才能打印完。每张 A4 纸长 29.7 厘米,算起来大概是 4440w 厘米,也就是 44w 米,440 公里,这还不算上各种修正掉的代码和之后的补丁。

这是 2015 年 5 月 5 日的 Windows 8.1 Pro + VS 后的 Windows 文件夹大小:

一个Windows系统究竟有多复杂?

导航到 Windows 文件夹,右键,属性。

看到那个数字一直往上走,就算是完全的外行也已经是超级震撼了。

一个Windows系统究竟有多复杂?

服务列表

一个Windows系统究竟有多复杂?

注册表

这还没有全部展开,但看那个滑块……

十年发展,XP 当年装一下几个G搞定,现在 Win8 代码量已经上亿。然而,经历了这么多个版本的迭代,十年前的软件一个字节不改,放到十年后的系统一样能完美运行。开发人员的呕心沥血,看不见的复杂度,恕 我无法用语言描述。这是 Windows 给我最大的震撼。

 

【编辑推荐】

  1. Java 8新特性探究(4):类型注解 复杂还是便捷
  2. 前端开发中使用”有限状态机“解决复杂的交互问题
  3. 常用数据结构及复杂度
  4. 初探领域驱动设计:为复杂业务而生
  5. 无法做到常数时间复杂度的数据结构
  6. 为什么长尾数据的翻页技术实现复杂
【责任编辑:wangxueyan TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Visual Studio Team Systems软件工程实践

本书论述了软件开发价值增加的思维方式。这一思维方式构成了VSTS的基础,包括VSTS的指导思想,为什么这些指导思想会以某些方式表现,以及它...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言