无论怎么说,开发操作系统都是个费人费工的事情,因为操作系统太庞大了,所以笼统的谈比较是困难的,但又因为篇幅和精力有限,不能细细的进行技术分析。这里只提下个人的感性认识。
早在DOS时代,UNIX系统实际上才是老大,对UNIX的一个开源的努力正是经历了跟UNIX撕逼而后存活至今的BSD系。而苹果的OS X正是基于BSD发展而来(不是基于FreeBSD,看后面UNIX演化图,OSX是由乔布斯离开苹果后成立的NeXTSTEP基于BSD开发的NeXTSTEP3.3系统发展起来的,和FreeBSD同源)。从这个意义上说,苹果公司并没有经历太多从打地基开始构造操作系统底层核心的各种纠结和苦难,而是把精力投入到了桌面系统以及用户体验的建设和优化。
而Windows系统,则是微软公司自DOS系统诞生之后,就一直在开拓和发展的这么一个基于PC的操作系统,虽然中间经历了各种小小的波折,但基本上还算顺风顺水。要知道DOS在当年在终端用户方面的知名度,远远盖过了Unix,而后来微软公司又借助跟IBM合作OS/2,成功的推出了Windows系统。这就造成了当今绝大部分终端用户只知道Windows,而不知道Unix。罗马并非一日建成的,这对Windows系统来说,当之无愧。Windows在一大堆Unix类的系统当中兵来将挡——包括与现在同样流行的MacOS和各种Linux厮杀,仍然雄霸一方,这或许是对Windows系统技术方面投入的一种客观脚注。
上图:Windows的演化
微软在操作系统的研发方面的投入是全面的,从386时代的内存保护模式,到后来Windows系统的窗体处理模型,再到后来的WindowsNT新内核,到64位Server系统问世,再到如今的Windows 10系统,微软构建的不仅仅是一个操作系统,而是一个完整的体系生态。这是任何其它操作系统的研发方在技术方面都无法比拟的。例如,Linux和FreeBSD实际上是由不同的技术团队和个人,集结各家技术之长和劳力投入,组合构建起来的开放性生态,这两个系统都有点进化论的自然选择的哲学在里面——过度繁殖,优胜劣汰,完全就是个野生环境。而OS X则相当于从野生环境捕获了一只幼兽,拿回来人工繁殖,然后调教、优选,苹果曾被寄予厚望的亲儿子macOS不幸幼年早夭(OS X之前的版本,现在被称为经典macOS,因为OS X后来又被改回macOS了),后来才有了乔布斯的回归。而Unix系统现在基本上已经沦为纯大型服务器操作系统了,对于普通大众来说,基本上就是神兽一样的存在(一同存在的还有一大堆影子都没见到过得各种神兽)。
上图:UNIX系统的演化
相较而言,Windows系统完全就是个实验室里面用黑科技摸索培育的另类生命体,高度封闭,技术上跟之前的那些操作系统们没有亲缘关系,主体内也很少直接吸纳和借鉴第三方团队的技术。而苹果公司改造BSD也这么多年了,技术投入也渐显丰满,从用户体验到开发生态,微软也不得不就范于苹果的强势,微软的核心应用Office和开发工具VS也顺势渗入了macOS的生态,微软的封闭性开始松动,这算是macOS技术体系逐步成熟的迹象吧。
说了这么多,就算是从侧面、从感官上对Windows和macOS技术难度的一些蛛丝马迹捕风捉影吧。个人评价来说,以微软的体系的技术难度是极高的,而苹果正在迎头赶上,到目前为止,微软的技术体系难度要更胜一筹。毕竟,后比尔盖茨的微软走得还算不错,虽然中间经历了"围死它"(Vista)到“瘟8”路线的失利,但“温10”又恢复了正常体温。但没有了乔布斯的macOS还是否能够有新的技术亮色并完成技术超越,这让人生疑,有时候性格不仅决定了技术风格也决定了技术难度。