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