首頁>Club>
10
回覆列表
  • 1 # 使用者8010818773152

    一樣難。

    市面上最高階的CPU,最先進的作業系統,都有一個共同的特點,那就是在探索人類智力的極限。

    這個智力極限包含演算法、設計、材料、工程等。但在具體的內容,兩者的關注點又有所側重。

    以在移動領域最流行的ARM架構CPU為例。

    在ARM公司設計CPU架構的時候,有兩個核心的內容:指令集、架構。而這兩核心的好壞,直接關係到以此為基礎,生產出的 CPU核心指標,包括功耗、速度、穩定性等。

    而ARM公司如果想要在高階CPU架構上保持領先,則必須不斷的突破前沿技術,不斷的追求更快,更小,更省電,更穩定。

    而要做到這一點,作為最頂尖的設計公司,ARM沒有現成的技術可以借鑑。所能做的就是不斷突破自我,不斷的創新,而這也是高科技的精髓所在。

    而第三方廠商在購買了ARM的設計後,也需要深厚的技術積累,從而在深刻理解設計精髓的基礎之上,做擴充套件,做二次開發。之後,再把設計的成果交付給半導體廠家(例如臺積電)進行除錯和生產。

    而在生產領域,又涉及到人類的另一個極限——材料極限(例如最先進的5奈米工藝)。

    而材料極限的代表產品就是光刻機。而要生產最高階的光刻機,不僅要攻克技術本身,還要考慮良品率等一系列成本問題。而這背後又涉及到一個國家的完整工業體系。

    而且,無論是ARM的架構設計,還是CPU廠商的二次開發,還是半導體制造企業。都不是單兵作戰,而是成千上萬科學家、工程師通力合作的結果。這必然又是一個超級複雜的管理體系。

    上面這一切合起來,對一個高階CPU的設計和製造來說,必定是極端困難的。

    毫無疑問,它代表著當前人類科技、智力的極限。

    同樣道理,最流行,最高階的作業系統,也代表著人類在軟體工程上的極限。

    作業系統是一個基礎平臺,在此之上執行著無數的應用軟體。因此在設計一個高階作業系統的時候,一定要“完美”解決以下問題:

    極端的穩定性。廣泛的硬體相容性。高度最佳化的資源排程能力。豐富的、高可用的API。強大的應用軟體包。強大的開發工具和編譯器。人性化的人機互動介面。 ...

    上面的東西,有一個做不好,就產生不了一個流行的,現代化的作業系統。

    就拿windows來說。除了一個作業系統核心的基本功能(例如資源排程)。為了建立完整的生態,微軟之後做了大量的工作。這些工作合起來,遠遠超過開發操作核心所付出的努力,包括:

    辦公軟體(Office全家桶)瀏覽器(IE、edge)開發平臺(C++、.NET)開發工具(Visual Studio、VSCode等)資料庫(SQL Server、SQLLite、Access、Foxpro) ...

    上面這些軟體,很多都是平臺級的,開發難度可想而知。因此,可以想象,微軟為了建立windows生態,使自己的作業系統成為一個真正可用的平臺,要付出多大的努力。

    同樣的道理。普通人常接觸的mac os、ios、android等作業系統,無不在保證核心可用性之上,商業公司(例如微軟、蘋果、谷歌)先人一步的開發出大量基礎的、高質量的軟體,來促使軟體生態的形成。

    這對任何一家軟體公司,在演算法、設計、工程、資本運作上,都是一個極限的挑戰。

    所以說,開發一個最先進的,高可用的作業系統(生態),在一個維度上,也代表了目前人類軟體工程的極限。

  • 中秋節和大豐收的關聯?
  • 歷史上諸葛亮葬於何處?