無論怎麼說,開發操作係統都是個費人費工的事情,因為操作係統太龐大了,所以籠統的談比較是困難的,但又因為篇幅和精力有限,不能細細的進行技術分析。這裏隻提下個人的感性認識。
早在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還是否能夠有新的技術亮色並完成技術超越,這讓人生疑,有時候性格不僅決定了技術風格也決定了技術難度。