一个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 个团队是:

  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 文件夹,右键,属性。

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

服务列表

注册表

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

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

来源:51CTO

时间: 2024-09-08 13:48:25

一个Windows系统究竟有多复杂?的相关文章

如何完全修复Windows系统漏洞

目前互联网上的病毒集团越来越猖狂,对用户的危害也愈演愈烈,大家要懂得保护自己的电脑不受侵犯,隐私不被盗取.记得前段时间一个网友咨询我,抱怨在用360打完补丁后,又安装迅雷软件,这时不厌其烦的提醒你系统还有多少补丁没有打,后来经过研究市面上好多软件都这样例如鲁大师.金山,卡卡等照样会不厌其烦的提醒你系统没有打的补丁.对普通用户而言都晕了,到底打那个,听从那家的软件呢?回忆一下微软的漏洞修补从Windows98就开始了,到了Windows XP及后续的操作系统里,这成为一项默认的安全设置,而且微软还

Windows系统Hosts文件究竟有什么作用

  大家都知道在Window系统中有个Hosts文件(没有后缀名),在Windows系统中位于C:WinntSystem32DriversEtc 目录中.该文件其实是一个纯文本的文件,用普通的文本编辑软件如记事本等都能打开.那么他究竟有什么作用,线面为您详细解答这个问题,希望对您能有所帮助 用记事本打开hosts文件,首先看见了微软对这个文件的说明.这个文件是根据TCP/IPforWindows的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和H

Mac苹果系统里如何创建一个Windows分区

  在苹果操作系统中创建一个分区,请打开实用程序菜单- >磁盘工具. 一.并进行以下更改: 图一:创建一个分区 1. 选择您的驱动器 2. 选择您想要创建的分区数量 3. 选择格式 4. 设置为主引导记录方案: 图二:选择方案 5.确定完成操作. 二.为什么设置"主引导图记录" 这一步对于大多数驱动器是不用操作的,但在以下情况下是必要的: 1.如果你要这个驱动在Windows XP或更早版本或媒体媒体播放器和电视等设备运行.他们只支持"主引导图记录". 2.如

c++-请教一个qt在windows系统的问题

问题描述 请教一个qt在windows系统的问题 请问用qt能做windows系统的底层开发吗?像mfc那样,编个杀毒软件,系统软件啥的?还有开发个游戏辅助啥的 解决方案 qt就是一个界面库,它和底层没有关系.你可以编写你说的什么杀毒软件.系统软件.游戏辅助,但是这和qt没有什么关系.好比你带着手机也可以去搬砖或者糊墙,但是手机在干这些事的时候派不上用场. 解决方案二: 不知道.......... 解决方案三: 如果你会编写杀毒软件,开发Windows系统软件,开发游戏辅助.那么你就绝对不会问出

java在windows系统下如何以当前登录账户的身份启动一个线程?

问题描述 java在windows系统下如何以当前登录账户的身份启动一个线程? 如题, java语言在windows 7系统下如何以 当前登录账户 的身份去启动一个线程?

net c# 窗口-C# 通过winform的一个按钮事件 切换当前windows系统打开的窗口?

问题描述 C# 通过winform的一个按钮事件 切换当前windows系统打开的窗口? 就是在winform窗口里 只有一个按钮!功能:点一次按钮,就会切换当前切换窗口! 就是用C#实现 alt+tab功能[不过是一次只切换一个窗口] ,求高手啊 是不是要调用winodws API的类库啊,怎么调用????

Q+是一个基于Windows系统的开放式应用平台

"Q+"是一个基于Windows系统的开放式应用平台,当用户一键切换到"Q+"后,它接管原有的Windows桌面. 刚才更新腾讯Q+最新版本4.5,看着最新特性的介绍,我心动了,毫不犹豫的点击了升级. 结果发现:以往的Q+应用是独立的,所有添加应用都以独立窗口方式打开,不会跳转到第三方网站.而本次升级,Q+应用直接导入了Q空间应用--每个独立应用以快捷方式出现在Q+桌面,当你点击桌面应用则弹出浏览器网页方式进入QQ空间应用,此举使Q+失去存在价值. 更奇葩的是,原本

Windows 10 S系统究竟是什么 精简又好用?

5月2日晚,微软在纽约的发布会上,针对教师和学生们推出一系列教育类产品和服务,其中最吸引人的必然是为大学生设计的全新笔记本电脑Surface Laptop.不过需要注意的是,这款硬件产品是全球第一款基于Windows 10 S系统的笔记本电脑.那么很多人就问了,这个Windows 10 S到底是什么鬼? 在Windows 10 S正式发布之前,确切的说此版系统应该叫做Windows Cloud,只做小范围测试而已.按照微软官方的解释,Windows 10 S就是为安全性和卓越性能而精简的Wind

windows系统下 虚拟内存设置终极攻略_硬件维护

内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽.为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张.举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放