操作系統發展趨勢分析,以及對開發者的影響。


· 近幾年來,隨着硬件上的各種技術發展迅速,許多開發者雖然沒有參與,但是這些影響的發生時必然的,本文首先將各種技術的發展羅列出來,然後講一下操作系統的相應發展趨勢,最後分析一下這種趨勢對我們開發者的影響作詳細分析。

1.重要技術發展羅列

1)SSD硬盤逐步取代HDD硬盤

· SSD硬盤也就是我們常說的固態硬盤,技術原理是使用nand flash組成的存儲單元陣列。由於技術提升使得價格越來越親民,本人也是很早就將自己的老硬盤換成了SSD硬盤,速度提升明顯。
· 這裏影響性能最大的就是速度的提升,
HDD硬盤讀寫速度一般在 50~190MB/s範圍內;
SSD硬盤讀寫速度一般在500MB/s~1GB/s,部分高端型號可以達到2GB/s以上。
· 這說明SSD硬盤相比HDD硬盤,速度提升了5~10倍,和內存的速度在一個量級。

2)IPV4地址完全耗盡

根據負責英國、歐洲、中東和部分中亞地區互聯網資源分配的歐洲網絡協調中心通過郵件確認,目前43億個IPv4地址已分配完畢,這意味着沒有更多的IPv4地址可以分配給網絡服務提供商和其他大型網絡基礎設施提供商。
這意味着各種IPV6相關配套技術會加速發展,雖然IPV6技術上早已發展成熟,但是並未廣泛使用。

3)AI芯片的出現

· AI芯片也被稱爲AI加速器或計算卡,專門用於處理人工智能應用(場景)中的大量計算任務的模塊(其他非計算任務仍由CPU負責)。手機AI芯片對於各種AI算子能夠以30倍到50倍左右的速度處理。
· 目前的AI芯片主要應用在人臉識別和圖像處理等領域,後續隨着性能的提升和價格的降低,可能會在各個領域上普及。

4)5G商用和物聯網的普及

· 5G相對於4G速度上提升了10~100倍,這使得在這個速度基礎上,很多新的應用會出現,這使得可能會出現新的商業模式。
· 而物聯網nb-iot的不斷普及,讓更多的設備可以連上網,對網絡的普及有巨大幫助。

5)華爲推出 方舟編譯器和鴻蒙操作系統,挑戰Android。

· 最近華爲推出了針對物聯網使用的操作系統-鴻蒙,挑戰了安卓系統在移動端的霸權,這是中國科技實力不斷提升的體現。而對於新操作系統最重要的是生態建設,這需要建立開源社區,並吸引廣大開發者的不斷投入。

2.操作系統發展趨勢

· 對於以上出現的重要信息,我們接着分析各種因素對操作系統帶來的變化。這些因素分爲2類:

1)硬件性能提升

· 這些因素包括CPU核數不斷提升存取性能提升
核數的不斷提升核間通信開銷增大,對系統架構影響不大。但是存取性能提升(SSD硬盤速度的提升使其和內存的速度在一個量級),對於傳統的以 “CPU-內存-硬盤” 爲基礎的計算機體系架構是一個挑戰。需要提供更爲精簡的架構來提升性能,可能發生如下變化:

(1)內存管理系統優化

計算機系統結構可能的變化
· 上圖所描述的,主要是通過CPU可以直接讀取磁盤數據來提升存取效率,不再以內存作爲中間環節。這就需要磁盤的數據可以直接存入CPU的緩存當中。

(2)文件系統優化

· 目前對於SSD這種硬盤,並沒有許多新的文件系統出現,而老的文件系統是以HDD硬盤爲基礎而發展出來的,主要特點是以扇區爲單位進行存取,而在SSD這種硬盤可以實現以字節爲單位存取,這促進了新文件系統的研發成爲一個方向。

(3)IO架構優化

· 從事過Linux驅動開發的人員有過這樣的體會,Linux中的驅動層次越來越多,設備信息從底層傳到應用可能經過4個層次,這對於代碼量的確有所減少,但是這會降低IO控制速率。這使得簡化系統的層次結構成爲了提升性能的一個方向。
· 由於CPU核數不斷增多,多核如何解決IO使用的衝突,這裏Linux實現了多隊列的機制成爲主流。
· 目前這些嘗試都在服務器上,當架構成熟之後,肯定會降維到各種終端上來使用。

2)應用場景改變

(1)通信速率提升,讓虛擬化落地

· 首先是5G的商用使得網絡通訊速率的不斷提升,這使得對操作系統的響應速度有了更高的要求,華爲的鴻蒙系統就是這種要求上的產物。因此,操作系統也在不斷向虛擬化的方向發展。應用上類似docker,特別是雲手機這種場景很可能出現。就是在雲端給你分配了一個用戶,手機終端只用攜帶好通信模塊和顯示模塊,一上電通過網絡就連上雲端,當網絡速度足夠快的時候,和自己的手機上做操作感覺是相似的。
· 虛擬化場景的逐步落地,對網絡安全,分佈式架構等方面產生了新的需求。目前阿里、騰訊等大廠在不斷跟進。

(2)AI產業發展迅速

· AI是未來產業升級的方向,AI其實是在CPU內部集成了一個用於深度學習的計算單元,可以提高神經網絡計算的能力。當AI芯片的性能不斷提升且架構不斷降低時,帶有AI芯片的CPU會加速普及。

3.對開發人員的建議

· 首先要講到,我們需要擁抱這些變化,儘量能參與這種變革當中來。如果能參與的產業的變革當中,我們也會得到更多的發展機會。就像鴻蒙操作系統,我們能參與到系統的生態完善當中是最好的。
· 然後就是學習Linux,Linux在不斷更新,也是在不斷跟隨這些挑戰,我們也要不斷學習新的Linux內核代碼。
· 對於應用開發人員,如果是是從事移動終端開發的,要開始嘗試鴻蒙系統和方舟編譯器這種新的平臺;做Linux開發的,就要多嘗試新的Linux系統,更深層次的瞭解操作系統;
· 對於內核和驅動開發人員,可以瞭解一下RUST語言,這是一門面向未來的語言,在保證多核的充分使用時,還能保證內存佔用極低。盡力參與Linux社區和鴻蒙這種新系統的開源社區。
· 對於網絡開發的人員,要了解IPV6的特性,深入瞭解網絡安全,瞭解一些新的面向物聯網的協議協議,例如MQTT。

發佈了15 篇原創文章 · 獲贊 19 · 訪問量 4686
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章