嵌入式操作系統(tǒng)重要概念
1.上下文切換(ContextSwitching)
本文引用地址:http://www.ex-cimer.com/article/149109.htm多任務(wù)系統(tǒng)中,上下文切換是指CPU的控制權(quán)由運(yùn)行任務(wù)轉(zhuǎn)移到另外一個(gè)就緒任務(wù)時(shí)所發(fā)生的事件,當(dāng)前運(yùn)行任務(wù)轉(zhuǎn)為就緒(或者掛起、刪除)狀態(tài),
另一個(gè)被選定的就緒任務(wù)成為當(dāng)前任務(wù)。上下文切換包括保存當(dāng)前任務(wù)的運(yùn)行環(huán)境,恢復(fù)將要運(yùn)行任務(wù)的運(yùn)行環(huán)境。上下文的內(nèi)容依賴于具體的CPU。
2.確定性(Deterministic)
實(shí)時(shí)操作系統(tǒng)中,在一定的條件下,系統(tǒng)調(diào)用的運(yùn)行時(shí)間可以預(yù)測(cè)。這并不是指所有系統(tǒng)調(diào)用都總是執(zhí)行一個(gè)固定長(zhǎng)度的時(shí)間,而是指不論系統(tǒng)負(fù)載如
何,系統(tǒng)調(diào)用的最大執(zhí)行時(shí)間可以確定。
3.硬實(shí)時(shí)(HardReal-Time)系統(tǒng)
硬實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)響應(yīng)時(shí)間有嚴(yán)格要求,一旦系統(tǒng)響應(yīng)時(shí)間不能滿足,就會(huì)引起系統(tǒng)崩潰或致命的錯(cuò)誤。
4.中斷延遲(InterruptLatency)
中斷延遲是指從硬件中斷發(fā)生到開(kāi)始執(zhí)行中斷處理程序第一條指令之間的這段時(shí)間。
5.互斥(MutualExclusion)
互斥是用來(lái)控制多任務(wù)對(duì)共享數(shù)據(jù)進(jìn)行串行訪問(wèn)的同步機(jī)制。在多任務(wù)應(yīng)用中,當(dāng)兩個(gè)或多個(gè)任務(wù)同時(shí)訪問(wèn)共享數(shù)據(jù)時(shí),可能會(huì)造成數(shù)據(jù)破壞?;コ馐?/p>
它們串行地訪問(wèn)數(shù)據(jù),從而達(dá)到保護(hù)數(shù)據(jù)的目的。
6.搶占(Preemptive)
搶占是指當(dāng)系統(tǒng)處于核心態(tài)運(yùn)行時(shí),允許任務(wù)的重新調(diào)度。換句話說(shuō)就是指正在執(zhí)行的任務(wù)可以被打斷,讓另一個(gè)任務(wù)運(yùn)行。搶占提高了應(yīng)用對(duì)異步事
件的響應(yīng)性能力。操作系統(tǒng)內(nèi)核可搶占,并不是說(shuō)任務(wù)調(diào)度在任何時(shí)候都可以發(fā)生。例如當(dāng)一個(gè)任務(wù)正在通過(guò)一個(gè)系統(tǒng)調(diào)用訪問(wèn)共享數(shù)據(jù)時(shí),重新調(diào)度
和中斷都被禁止。
7.優(yōu)先級(jí)驅(qū)動(dòng)(Priority-Driven)
優(yōu)先級(jí)驅(qū)動(dòng)是指多任務(wù)系統(tǒng)中,當(dāng)前運(yùn)行任務(wù)總是具有最高優(yōu)先級(jí)的就緒任務(wù)。
8.優(yōu)先級(jí)反轉(zhuǎn)(PriorityInversion)
優(yōu)先級(jí)反轉(zhuǎn)是指一個(gè)任務(wù)等待比它優(yōu)先級(jí)低的任務(wù)釋放資源而被阻塞,如果這時(shí)有中等優(yōu)先級(jí)的就緒任務(wù),阻塞會(huì)進(jìn)一步惡化。優(yōu)先級(jí)繼承技術(shù)可用來(lái)解決優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題。
9.優(yōu)先級(jí)繼承(PriorityInheritance)
優(yōu)先級(jí)繼承可用來(lái)解決優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題。當(dāng)優(yōu)先級(jí)反轉(zhuǎn)發(fā)生時(shí),優(yōu)先級(jí)較低的任務(wù)被暫時(shí)地提高它的優(yōu)先級(jí),使得該任務(wù)能盡快執(zhí)行,釋放出優(yōu)先級(jí)較高的
任務(wù)所需要的資源。
10.實(shí)時(shí)執(zhí)行體(Real-TimeExecutive)
實(shí)時(shí)執(zhí)行程序包括一套支持實(shí)時(shí)系統(tǒng)所必需的機(jī)制。如多任務(wù)支持,CPU調(diào)度,通信和存儲(chǔ)分配。在嵌入式應(yīng)用中,這一套機(jī)制被稱為實(shí)時(shí)執(zhí)行體或?qū)崟r(shí)操作系統(tǒng)內(nèi)核。
OS就是一個(gè)實(shí)時(shí)執(zhí)行體。編程者以實(shí)時(shí)執(zhí)行體為基礎(chǔ)來(lái)構(gòu)造自己應(yīng)用。
11.重調(diào)度過(guò)程(ReschedulingProcedure)
重調(diào)度過(guò)程是判定任務(wù)優(yōu)先級(jí)和執(zhí)行狀態(tài)的過(guò)程。OS的系統(tǒng)
調(diào)用引起任務(wù)狀態(tài)變化時(shí),就會(huì)執(zhí)行這個(gè)過(guò)程。如果當(dāng)前運(yùn)行任務(wù)不是最高優(yōu)先級(jí)的就緒任務(wù),重調(diào)度過(guò)程就會(huì)發(fā)生。
12.調(diào)度延遲(SchedulingLatency)
調(diào)度延遲是指當(dāng)一個(gè)事件引起更高優(yōu)先級(jí)的任務(wù)就緒到這個(gè)任務(wù)開(kāi)始運(yùn)行之間的時(shí)間。即一個(gè)任務(wù)被觸發(fā)后,由就緒到運(yùn)行的時(shí)間。
13.可剪裁的體系結(jié)構(gòu)(ScalableArchitecture)
可剪裁的體系結(jié)構(gòu)是指一個(gè)軟件系統(tǒng)能夠支持多種應(yīng)用而無(wú)需在接口上做很大的變動(dòng)。因此,開(kāi)發(fā)出成本低、品種多的產(chǎn)品。
調(diào)用引起任務(wù)狀態(tài)變化時(shí),就會(huì)執(zhí)行這個(gè)過(guò)程。如果當(dāng)前運(yùn)行任務(wù)不是最高優(yōu)
14.任務(wù)(Tasks)
任務(wù)是OS中獨(dú)立運(yùn)行的單元。
15.任務(wù)上下文(TaskContext)
任務(wù)上下文是指任務(wù)運(yùn)行的環(huán)境。例如,針對(duì)x86的CPU,任務(wù)上下文可包括程序計(jì)數(shù)器、堆棧指針、通用寄存器的內(nèi)容。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論