背景
最近在看《計算機操作系統》這本書,里面有介紹到微內核OS結構,想到之前華為發布的鴻蒙OS,有一些新的認識。
一、從鴻蒙OS說起
鴻蒙OS說自己使用了“分布式架構”,后面還有一個高大上的詞“確定時延引擎”。當時就感覺高大上,具體是啥也沒想清楚。
二、說說微內核OS結構
微內核結構是一個精簡的結構。具體什么樣的結構是微內核結構,目前還沒有定義。
但是可以從幾個方面來描述。
1、足夠小的內核(定義有些主觀)
微內核不是一個完整的OS,只是OS中最基本的部分。
2、基於客戶/服務器模式(是不是很奇怪?)
C/S模式常見於網絡服務,微內核是OS的一部分,C是誰?S是誰?
書上說了,OS中最基本的部分放入內核,其他大部分功能放在微內核外面的一組服務器(進程)中實現。
這個很明顯可以理解了,C/S並不特指跨系統的交互,即使是在一個系統內,也是適用的。
這個從宏觀上也可以打個比方:
我們通過58到家APP使用58到家的服務,這整個過程是一種基於C/S模式,但是在S端,內部又是通過各種微服務調用來實現的。也就是說,在S內部,還是基於C/S模式。
3)應用“機制與策略分離”原理
這個“機制”、“策略”是更進一步的抽象,暫時還不太能理解。
4)采用面向對象技術
這個大家應該都很熟悉了。
三、再看OS的分布式架構
1、分布式架構
因為微內核采用C/S模式,所以它提供了對分布式系統的支持(書上有寫)。
C/S就是基於通信的,對於服務調用方而言,只要能夠定位到服務提供方,就能夠進行通信。不管服務提供方是在同一個系統內,還是分布在因特網上。
所以說,鴻蒙OS的“分布式架構”,就是指OS的分布式。
2、確定時延引擎
既然是基於通信的機制,那么對一個通信加上“超時”的參數,是不是就是所謂的“確定時延引擎”了呢?
當然,超時時間參數容易加,具體實現還是不那么簡單的。
四、后記
既然上面提到了“超時”,那么常用的超時功能是怎么實現的呢?