WINDOWS系统是C++语言编写的。
创新互联专注于高唐网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供高唐营销型网站建设,高唐网站制作、高唐网页设计、高唐网站官网定制、小程序设计服务,打造高唐网络公司原创品牌,更为您提供高唐网站排名全网营销落地服务。
WINDOWS本身属于微内核系统,WINDOWS2000则已经有20余万行代码,其中80%是用C++编写,其余部分有C和汇编,底层接口用汇编编写。
微软选择C++的根本原因是WINDOWS操作系统本身是微内核系统,所以扩展性及以后的维护要求非常重要,所以C++的类的概念就能在这里很好的利用。
Windows操作系统的特点
1、Windows操作系统的人机操作性优异。
Windows操作系统能够作为个人计算机的主流操作系统,其优异的人机操作性是重要因素。Windows操作系统界面友好,窗口制作优美,操作动作易学,多代系统之间有良好的传承,计算机资源管理效率较高,效果较好。
2、Windows操作系统支持的应用软件较多。
Windows操作系统的大量应用软件为客户提供了方便。这些应用软件门类全,功能完善,用户体验性好。譬如,Windows操作系统有大量的多媒体应用软件,搜集管理多媒体资源,客户只需要使用这些基于系统开发出来商业软件就可以享受多媒体带来的快乐。
3、Windows操作系统对硬件支持良好。
Windows操作系统支持多种硬件平台对于硬件生产厂商宽泛、自由的开发环境,激励了这些硬件公司选择与Windows操作系统相匹配,也激励了Windows操作系统不断完善和改进,同时,硬件技术的提升,也为操作系统功能拓展提供了支撑。另外,该操作系统支持多种硬件的热插拔,方便了用户的使用,也受到了广大用户的欢迎。
作为曾经的码农来回答一下
开发一个类似win的成熟的桌面级操作系统,难度高过众所周知的曼哈顿计划和登月计划,是不是觉得有些夸张?但事实可能就是这样。
vista代码行数5000万行,打印出来是170万页A4纸,耗资超过200亿美元,这还是有了微软那么多年积累,只开发vista的费用,win7 4000万行,win10数据没有公布,但行业预估在5000到7000万行。
win7公开的开发工作人数是23个小组,每个小组约40人,分别负责windows中的每个模块的开发,比如设备和媒体,文件系统,桌面图形等等,这还是在vista基础上的开发,并不是从头开发。
windows的发展已经有了30年,中间的积累,走的弯路都不是外人可以轻易得知的。
我国的自助操作系统,实际都是开源系统的二次开发,远不是从0开始的建设,而且软件的开发并不是1+1=2那么简单。不是说你能盖5层楼,我给你投两倍人力物力你就能盖出十层楼来。
说个有趣的小故事吧,微软的excel现在已经成为了祖传代码,里边存在很多无用代码,但微软自己都不敢把excel重新写一遍。
微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统有一代会很好,也有一代会很糟糕,比如Windows XP、Windows 7就很受欢迎,而Windows 2000、Windows Vista就是一个悲伤的故事。那么,微软的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团队的人数,其余为其做出贡献的更是数不胜数。
几千万行代码的工作量是个什么概念?举个参照系吧,很多人在用的金山的WPS代码行数约有150万行,而金山软件公司重写这个级别的办公软件WPS,用了3年时间。
再比如微软在4年前的研发成本超过100亿美元,在开发Windows Vista的所花费的研发费用更是超过了恐怖的200亿美元。Linux内核开发根据人员投入的规模测算,也耗资数有十亿美元。
假如一个桌面级的操作系统代码规模在千万行数量级,如果加上配套软件,总规模应该超过一亿行,如果再加上一个完整的软件生态系统,那么总规模应该不少于十亿行。这还是成熟的系统,再加上调试精简前更多。再加上各个功能之间需要兼容性,可维护性,可管理性等这些随着代码的越来越多可推敲,需考虑的问题也会越来越多,是项技术难度非常大的工作!你觉得呢?