pc为什么用的是微软,到底用了什么技术

Windows不仅仅是一个系统,更是一个生态 。微软的windows只是这个生态的核心部分(掌握标准的制定) 。这个生态中还有大量的硬件厂商(包括cpu、主板、网卡)和大量的应用厂商(秒杀软件、办公、工业) 。如果你是微软,你要和那么多厂商协调,你也一样,会做到极致的兼容 。否则,新系统一发布,就会出现一大堆问题 。同时,微软深深意识到,如果没有兼容性,就没有微软 。这个可以参考牙膏厂的cpu 。蹩脚的32位设计是兼容16位的,然后amd的64位又要兼容32位,这是个很别扭的设计 。2.主观原因前面提到了 。以下是windows如何做到这一点 。从api的角度来看(因为api是一个系统与另一个系统进行通信的标准语言),windows API(无论是内核层还是应用层)充斥着大量基本不使用的兼容性API,windows API本身的设计就有很好的兼容性考虑 。例如,许多结构中的第一个字段是cbsize,它用于标识该结构的长度 。一旦将来字段扩展势必改变cbsize,底层api实现可以通过这个字段做不同的兼容性处理;3.我讲了生态学和api 。这里先说一下微软的文档,它是链接海量开发者和系统核心的最重要的渠道 。微软的文档是我见过最被认可的,基本上涉及到了开发的方方面面,例子也很多 。我经常跟其他兄弟说的是,如果你想做好windows开发,看msdn里的文档就行了,不要找csdn的现成代码(这里没有贬低csdn的意思) 。最后,我想说,我现在从事的是国产化替代相关的工作,现在网络上到处都是为国产化叫好的话 。当然,我是核心技术国产化替代的坚定支持者,但我任重道远 。无论是国家相关主管部门,还是我们开发商,紧跟国家战略固然重要,但还是要静下心来好好设计(自己想想[傻笑]) 。
为什么Windows的兼容性这么强大,到底用了什么技术?
做过windows下的开发,用户态和内核态都做过 。windows的兼容性确实相较于其他平台来说有点过于变态了,曾经网上找过一个97年的(好像)象棋软件,在最新的win10运行依然毫无问题(快二十年) 。至于为何windows的兼容性如此变态,我想有以下几个原因:1.被逼的:windows不仅仅是一个系统,而是一个生态,微软的windows只是这个生态里面的核心一环而已(掌握着标准的制定),在这个生态里面还有大量硬件厂商(包括cpu、主板、网卡)和大量的应用厂商(杀软、办公、工业);如果你是微软,要协调这么多的厂商,是你,你也会把兼容性做到极致,否则新系统一发布,问题一大堆,同时微软也深深的意识到,如果没有兼容,就会没有微软;这点可以参考牙膏厂的cpu,蹩脚的32位为了兼容16位,然后amd的64位又要去兼容32位,很别扭的设计;2.前面说了主观原因,这里说一下windows是怎么做到的,我仅从api的角度来说(因为api是一个系统和另外一个系统沟通的标准语言),windows的api(不管是内核层还是应用层)里面充斥了大量的基本不会用到的兼容性api,而且windows本身api的设计也是有良好的兼容性考虑,比如很多struct里面第一个字段都是cbsize,用来标识这个struct有多长,一旦将来进行字段扩展势必会改变cbsize,那么api底层实现就可以通过这个字段来做不同的兼容性处理;3.前面说了生态和api,这里再说一下微软的文档,文档是链接海量开发者和系统核心的最重要的渠道,微软的文档是我看过最牛批的,基本上能涉及到开发的方方面面,还有大量的示例,我经常跟其他兄弟说的就是,如果你想搞好windows开发,就把msdn里面的文档好好读就可以了,别去找什么csdn(这里没有贬csdn哈)那些现成的代码,文档是官网一手的,而且做的非常好,何必舍本逐末呢;最后,我想说的就是,本人现在从事国产化替代相关的工作,现在网络充斥着大量为国产化鼓掌的言语,当然我本人是坚定支持核心技术国产化替代的,但不得不说,任重而道远,不管是国家相关主管单位还是我们的开发者,跟上国家战略是要的,但还是要沉下心来,好好设计(自己去思考吧[奸笑]),

推荐阅读