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