第515章 新科大課堂
該企業(yè)技術(shù)教學(xué)項目就開始了正式教學(xué)。
在大教室里,一位新科軟件工程部門的精英技術(shù)人員,面對滿堂前輩、精英,沒有恭維的話語和開場白,進(jìn)門做了自我介紹之后,就開始了講解技術(shù)。
他手上還有很多項目工作要推進(jìn),如果不是董事長點名,他都不愿意浪費時間來和這群人講技術(shù)。
“操作系統(tǒng)的功能是負(fù)責(zé)管理各種硬件設(shè)備,同時對底層硬件設(shè)備進(jìn)行抽象,為上層軟件提供高效的系統(tǒng)接口。操作系統(tǒng)設(shè)計和實現(xiàn)的優(yōu)劣直接決定了系統(tǒng)棧的各個方面,比如性能,可靠性,甚至安全性。操作系統(tǒng)的設(shè)計實現(xiàn)是計算機(jī)系統(tǒng)研究最古老最困難的方向之一。
因為底層設(shè)備的復(fù)雜性,操作系統(tǒng)實現(xiàn)的代碼量巨大。從系統(tǒng)架構(gòu)上可以將操作系統(tǒng)分為三類:宏內(nèi)核操作系統(tǒng),微內(nèi)核操作系統(tǒng),外內(nèi)核操作系統(tǒng)。
在座都是行業(yè)精英,這方面的知識,我就不用講解了吧?
接下來翻到下一節(jié)。
看清楚這一段,內(nèi)核:幾乎所有的處理器廠商都將處理器的執(zhí)行狀態(tài)分為了兩個級別:特權(quán)級和非特權(quán)級。
處理器只有在特權(quán)級時才可以執(zhí)行一些特權(quán)級的指令和訪問特殊的寄存器。特權(quán)級和非特權(quán)級的劃分是為了防止不可信的用戶和應(yīng)用程序破壞系統(tǒng)的狀態(tài)和數(shù)據(jù)。特權(quán)級又稱為ring0。在特權(quán)級執(zhí)行的代碼稱為內(nèi)核。
只不過代碼量越寫越大,最后變成了軟件。
而我們的新科OS內(nèi)核包括了兩個級別的內(nèi)核處理。
面向物聯(lián)網(wǎng)設(shè)備開發(fā)的,內(nèi)存要求小于128MB。而另一個則針對的是資源較為豐富的嵌入式設(shè)備,內(nèi)存可以達(dá)到4GB。
新科OS這個系統(tǒng)內(nèi)核最主要的特性之一就是微內(nèi)核的操作系統(tǒng)內(nèi)核架構(gòu)設(shè)計。
那么如何分析操作系統(tǒng)設(shè)計采用的內(nèi)核架構(gòu)呢?
按照當(dāng)初的設(shè)計方案,一個簡單直接的方法就是觀察操作系統(tǒng)內(nèi)核接口的設(shè)計。操作系統(tǒng)內(nèi)核接口又稱為系統(tǒng)調(diào)用。
下面我們通過新科OS內(nèi)核的系統(tǒng)調(diào)用實現(xiàn)來簡單分析一下新科系統(tǒng)OS內(nèi)核的架構(gòu)。
新科OS運行庫采用了第三方的數(shù)據(jù)庫。在該數(shù)據(jù)庫中,系統(tǒng)調(diào)用的實現(xiàn)是應(yīng)用程序在寄存器中設(shè)置好系統(tǒng)調(diào)用號和系統(tǒng)調(diào)用參數(shù)后,執(zhí)行svc指令陷入到內(nèi)核,如下面代碼所示: