一个Windows系统究竟有多复杂?
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 个团队是:
- Applets and Gadgets (小程序和边栏应用)
- Assistance and Support Technologies (协助和支持技术)
- Core User Experience (核心用户体验)
- Customer Engineering and Telemetry (用户工程和遥测)
- Deployment and Component Platform? (部署和组件平台)
- Desktop Graphics (桌面图形)
- Devices and Media (设备和媒体)
- Devices and Storage (设备和存储)
- Documents and Printing (文档和打印)
- Engineering System and Tools (工程系统和工具)
- File System (文件系统)
- Find and Organize (查找与组织)
- Fundamentals (基础)
- Internet Explorer (包括 IE8 down-level)
- International (国际化)
- Kernel & VM (内核与虚拟机)
- Media Center (媒体中心)
- Networking – Core (网络 – 核心)
- Networking – Enterprise (网络 – 企业)
- Networking – Wireless (网络 – 无线)
- Security (安全)
- User Interface Platform (用户界面平台)
- 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 文件夹,右键,属性。
看到那个数字一直往上走,就算是完全的外行也已经是超级震撼了。
服务列表
注册表
这还没有全部展开,但看那个滑块……
十年发展,XP 当年装一下几个G搞定,现在 Win8 代码量已经上亿。然而,经历了这么多个版本的迭代,十年前的软件一个字节不改,放到十年后的系统一样能完美运行。开发人员的呕心沥血,看不见的复杂度,恕 我无法用语言描述。这是 Windows 给我最大的震撼。