一个Windows 系统究竟有多复杂?
来源:互联网 发布:企业电话查询软件 编辑:程序博客网 时间:2024/05/22 16:32
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给我最大的震撼。
- 一个Windows 系统究竟有多复杂?
- 一个Windows 系统究竟有多复杂?
- 企业级系统到底有多复杂
- 要把直播系统做好有多复杂?
- Windows一个程序究竟用多少内存?
- 复杂sql,ab有一个空
- 异地旅游帮助信息实时获取系统--系统构架该有多复杂?
- antlr究竟有没有一个有价值的例子?
- 一个GUI程序究竟会有几个线程?
- C# Builder究竟有多出色
- 中国的黑客究竟有多张狂?
- FreeStor究竟能够有多Free
- 你究竟有多了解Spring?
- 不就是一个订票网站吗,12306的核心模型设计思路究竟复杂在哪儿?
- 学习一个复杂系统的方式、方法
- 如果快速接手一个复杂的系统
- 一个复杂系统的拆分改造实践
- 一个复杂系统的拆分改造实践
- JSON.parse()和JSON.stringify()
- 使用递归进行插入排序
- 有容云AppSoar容器健康检查与调度策略
- 使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)
- Reverse Vowels of a String 交换元音字母
- 一个Windows 系统究竟有多复杂?
- jxl和POI的区别
- networkx库:AttributeError: 'module' object has no attribute 'graphviz_layout'
- n个骰子的点数和
- 理解Javascript中的Function
- Hive外部表学习
- CSS基础学习
- CocoaPods忽略更新版本
- 数组与可变参数