3、任務(wù)管理
(1)嵌入式操作系統(tǒng)的任務(wù)管理可以分為:
A、單道程序技術(shù):操作系統(tǒng)中,任何時(shí)候只能有一個(gè)程序在運(yùn)行。
B、多道程序技術(shù):操作系統(tǒng)中,允許多個(gè)程序同時(shí)存在并運(yùn)行。
(2)進(jìn)程
進(jìn)程,簡(jiǎn)單的說,是一個(gè)正在運(yùn)行的程序。
進(jìn)程與程序既有聯(lián)系又有區(qū)別,主要表現(xiàn)為下面結(jié)構(gòu)方面:
A、程序由數(shù)據(jù)和代碼兩部分內(nèi)容組成,它是一個(gè)靜態(tài)的概念。而進(jìn)程是正在執(zhí)行的程
序,它也由兩部分組成:程序和該程序的運(yùn)行上下文。它是一個(gè)動(dòng)態(tài)的概念。
B、程序和進(jìn)程之間并不是一一對(duì)應(yīng)的。一個(gè)進(jìn)程在運(yùn)行的時(shí)候可以啟動(dòng)一個(gè)或多個(gè)程
序。反之,同一個(gè)程序也可能由多進(jìn)程同時(shí)執(zhí)行。
C、程序可以作為一種軟件資源長(zhǎng)期保存,以文件的形式存放在光盤或硬盤上,而進(jìn)程
則是一次執(zhí)行的過程,它是暫時(shí)的,是動(dòng)態(tài)的產(chǎn)生和終止。
一個(gè)進(jìn)程至少應(yīng)包括三個(gè)方面:相應(yīng)的程序、CPU上下文、一組系統(tǒng)資源。
進(jìn)程有三個(gè)特性:
A、動(dòng)態(tài)性:進(jìn)程是正在運(yùn)行的程序,而程序的運(yùn)行狀態(tài)是不斷變化的。
B、獨(dú)立性:進(jìn)程是系統(tǒng)資源的使用單位,每個(gè)進(jìn)行有自己的運(yùn)行上下文和內(nèi)部狀態(tài)。
C、并發(fā)性:宏觀來看,系統(tǒng)中同時(shí)有多個(gè)進(jìn)程存在,它們相互獨(dú)立地運(yùn)行。
注:對(duì)于并發(fā)的理解。
在單CPU 的情況下,所謂的并發(fā)性指的是宏觀上的并發(fā)運(yùn)行,而微觀上還是順序進(jìn)行,各個(gè)進(jìn)程輪
流去使用CPU 資源。在單核CPU 中,真正的、物理上的PC 寄存器只有一個(gè),進(jìn)程在輪流執(zhí)行的時(shí)候,物
理PC 的取值也在不斷變化。而邏輯PC 其實(shí)就是一個(gè)內(nèi)存變量。每個(gè)進(jìn)程都有一個(gè)邏輯PC,當(dāng)一個(gè)進(jìn)程
要運(yùn)行的時(shí)候,就把它的邏輯PC 裝載到物理PC 中去;反之,當(dāng)一個(gè)進(jìn)程暫不運(yùn)行的時(shí)候,就把物理PC
中的值保存在它的邏輯PC 當(dāng)中。
(3)線程
線程就是進(jìn)程當(dāng)中的一條執(zhí)行流程。
進(jìn)程其實(shí)包含兩個(gè)部分:資源平臺(tái)和執(zhí)行流程(線程)。
在一個(gè)進(jìn)程當(dāng)中,或者說在一個(gè)資源平臺(tái)上,可以同時(shí)存在多個(gè)線程;可以用線程作
為CPU 的基本調(diào)度單位,使得各個(gè)線程之間可以并發(fā)執(zhí)行;對(duì)于同一個(gè)進(jìn)程當(dāng)中的各個(gè)線
程來說,他們可以共享該進(jìn)程的大部分資源。每個(gè)線程都有自己獨(dú)立的CPU運(yùn)行上下文和
棧,這是不能共享的。
相關(guān)推薦:軟考嵌入式系統(tǒng)設(shè)計(jì)歷年真題匯總(2007-2010)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |