欧美自拍小视频_国产片在线免费观看_中文字幕啪啪_成人av高清在线_欧美一区二区视频免费观看_亚洲国产激情


曙海教育集團(tuán)論壇VxWorks專區(qū)VxWorks技術(shù)討論區(qū) → VXWORKS內(nèi)核分析


  共有8443人關(guān)注過本帖樹形打印

主題:VXWORKS內(nèi)核分析

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
VXWORKS內(nèi)核分析  發(fā)帖心情 Post By:2010-11-17 10:44:12

1. 實(shí)時操作系統(tǒng)的結(jié)構(gòu)
     在計算的早期開發(fā)的操作系統(tǒng)的最原始的結(jié)構(gòu)形式是一個統(tǒng)一的實(shí)體(monolithic)
。在這樣的系統(tǒng)中,提供的不同功能的模塊,如處理器管理、內(nèi)存管理、輸入輸出等,
通常是獨(dú)立的。然而他們在執(zhí)行過程中并不考慮其他正在使用中的模塊,各個模塊都以
相同的時間粒度運(yùn)行。
     由于現(xiàn)代實(shí)時環(huán)境需要許多不同的功能,以及在這樣的環(huán)境中存在的并發(fā)活動所引
起的異步性和非確定性,操作系統(tǒng)變得更加復(fù)雜。所以早期操作系統(tǒng)的統(tǒng)一結(jié)構(gòu)的組織
已經(jīng)被更加精確的內(nèi)部結(jié)構(gòu)所淘汰。
層次結(jié)構(gòu)的起點(diǎn)----內(nèi)核
     操作系統(tǒng)的最好的內(nèi)部結(jié)構(gòu)模型是一個層次性的結(jié)構(gòu),最低層是內(nèi)核。這些層次可
以看成為一個倒置的金字塔,每一層都建立在較低層的功能之上。 內(nèi)核僅包含一個操作
系統(tǒng)執(zhí)行的最重要的低層功能。正象一個統(tǒng)一結(jié)構(gòu)的操作系統(tǒng),內(nèi)核提供了在高層軟件
與下層硬件之間的抽象層。然而,內(nèi)核僅提供了構(gòu)造操作系統(tǒng)其他部分所需的最小操作
集。
對一個實(shí)時內(nèi)核的要求
     一個實(shí)時操作系統(tǒng)內(nèi)核需滿足許多特定的實(shí)時環(huán)境所提出的基本要求,這些包括:
多任務(wù):由于真實(shí)世界的事件的異步性,能夠運(yùn)行許多并發(fā)進(jìn)程或任務(wù)是很重要的。多
任務(wù)提供了一個較好的對真實(shí)世界的匹配,因為它允許對應(yīng)于許多外部事件的多線程執(zhí)
行。系統(tǒng)內(nèi)核分配CPU給這些任務(wù)來獲得并發(fā)性。
     搶占調(diào)度:真實(shí)世界的事件具有繼承的優(yōu)先級,在分配CPU的時候要注意到這些優(yōu)先
級。基于優(yōu)先級的搶占調(diào)度,任務(wù)都被指定了優(yōu)先級, 在能夠執(zhí)行的任務(wù)(沒有被掛起
或正在等待資源)中,優(yōu)先級最高的任務(wù)被分配CPU資源。換句話說,當(dāng)一個高優(yōu)先級的
任務(wù)變?yōu)榭蓤?zhí)行態(tài),它會立即搶占當(dāng)前正在運(yùn)行的較低優(yōu)先級的任務(wù)。
     快速靈活的任務(wù)間的通信與同步:在一個實(shí)時系統(tǒng)中,可能有許多任務(wù)作為一個應(yīng)
用的一部分執(zhí)行。系統(tǒng)必須提供這些任務(wù)間的快速且功能強(qiáng)大的通信機(jī)制。內(nèi)核也要提
供為了有效地共享不可搶占的資源或臨界區(qū)所需的同步機(jī)制。
     方便的任務(wù)與中斷之間的通信:盡管真實(shí)世界的事件通常作為中斷方式到來,但為
了提供有效的排隊、優(yōu)先化和減少中斷延時,我們通常希望在任務(wù)級處理相應(yīng)的工作。
所以需要雜任務(wù)級和中斷級之間存在通信。
     性能邊界:一個實(shí)時內(nèi)核必須提供最壞情況的性能優(yōu)化,而非針對吞吐量的性能優(yōu)
化。我們更期望一個系統(tǒng)能夠始終以50微妙執(zhí)行一個函數(shù),而不期望系統(tǒng)平均以10微妙
執(zhí)行該函數(shù),但偶爾會以75微妙執(zhí)行它。
     特殊考慮:由于對實(shí)時內(nèi)核的要求的增加,必須考慮對內(nèi)核支持不斷增加的復(fù)雜功
能的要求。這包括多進(jìn)程處理,Ada和對更新的、功能更強(qiáng)的處理器結(jié)構(gòu)如RISC的支持。

擁有其它名字的內(nèi)核
     許多商用化的內(nèi)核支持的功能遠(yuǎn)強(qiáng)于上面所列的要求。在這方面,他們不是真正的
內(nèi)核,而更象一個小的統(tǒng)一結(jié)構(gòu)的操作系統(tǒng)。因為他們包含簡單的內(nèi)存分配、時鐘管理
、甚至一些輸入輸出系統(tǒng)調(diào)用的功能。
     這種分類不僅僅是在語義上的爭論,在這篇文章的后面章節(jié)將說明限制內(nèi)核功能和
油畫這些功能的重要性。
2. VxWorks內(nèi)核:Wind
     VxWorks操作系統(tǒng)是一種功能最全的現(xiàn)在可以獲得的獨(dú)立于處理器的實(shí)時系統(tǒng)。然而
,VxWorks是帶有一個相當(dāng)小的真正微內(nèi)核的層次結(jié)構(gòu)。內(nèi)核僅提供多任務(wù)環(huán)境、進(jìn)程間
通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求
。 通常內(nèi)核操作對于用戶是不可見的。應(yīng)用程序為了實(shí)現(xiàn)需要內(nèi)核參與的任務(wù)管理和同
步使用一些系統(tǒng)調(diào)用,但這些調(diào)用的處理對于調(diào)用任務(wù)是不可見的。應(yīng)用程序僅鏈接恰
當(dāng)?shù)腣xWorks例程(通常使用VxWorks的動態(tài)鏈接功能),就象調(diào)用子程序一樣發(fā)出系統(tǒng)
調(diào)用。這種接口不象有些系統(tǒng)需要一個笨拙的跳轉(zhuǎn)表接口,用戶需要通過一個整數(shù)來指
定一個內(nèi)核功能調(diào)用。
多任務(wù)
     內(nèi)核的基本功能是提供一個多任務(wù)環(huán)境。多任務(wù)使得許多程序在表面上表現(xiàn)為并發(fā)
執(zhí)行,而事實(shí)上內(nèi)核是根據(jù)基本的調(diào)度算法使他們分段執(zhí)行。每個明顯獨(dú)立的程序被成
為一個任務(wù)。每個任務(wù)擁有自己的上下文,其中包含在內(nèi)核調(diào)度使該任務(wù)執(zhí)行的時候它
所看到的CPU環(huán)境和系統(tǒng)資源。
任務(wù)狀態(tài)
     內(nèi)核維護(hù)系統(tǒng)中的每個任務(wù)的當(dāng)前狀態(tài)。狀態(tài)遷移發(fā)生在應(yīng)用程序調(diào)用內(nèi)核功能服
務(wù)的時候。下面定義了wind內(nèi)核狀態(tài):
     就緒態(tài)----一個任務(wù)當(dāng)前除了CPU不等待任何資源
     阻塞態(tài)----一個任務(wù)由于某些資源不可獲得而被阻塞
     延遲態(tài)----一個任務(wù)睡眠一段時間
     掛起態(tài)----主要用于調(diào)試的一個輔助狀態(tài),掛起禁止任務(wù)的執(zhí)行
     任務(wù)被創(chuàng)建以后進(jìn)入掛起態(tài),需要通過特定的操作使被創(chuàng)建的任務(wù)進(jìn)入就緒態(tài),這
一操作執(zhí)行速度很快,使應(yīng)用程序能夠提前創(chuàng)建任務(wù),并以一種快捷的方式激活該任務(wù)

調(diào)度控制
     多任務(wù)需要一個調(diào)度算法分配CPU給就緒的任務(wù)。在VxWorks中默認(rèn)的調(diào)度算法是基
于優(yōu)先級的搶占調(diào)度,但應(yīng)用程序也可以選擇使用時間片輪轉(zhuǎn)調(diào)度。
     基于優(yōu)先級搶占調(diào)度:基于優(yōu)先級的搶占調(diào)度,每個任務(wù)被指定一個優(yōu)先級,內(nèi)核
分配CPU給處于就緒態(tài)的優(yōu)先級最高的任務(wù)。調(diào)度采用搶占的方式,是因為當(dāng)一個優(yōu)先級
高于當(dāng)前任務(wù)的任務(wù)變?yōu)榫途w態(tài)時,內(nèi)核將立即保存當(dāng)前任務(wù)的上文,并切換到高優(yōu)先
級任務(wù)的上文。VxWorks有從0到255共256個優(yōu)先級。在創(chuàng)建的時候任務(wù)被指定一個優(yōu)先
級,在任務(wù)運(yùn)行的過程中可以動態(tài)地修改優(yōu)先級以便跟蹤真實(shí)世界的事件優(yōu)先級。外部
中斷被指定優(yōu)先于任何任務(wù)的優(yōu)先級,這樣能夠在任何時候搶占一個任務(wù)。
     時間片輪轉(zhuǎn):基于優(yōu)先級搶占調(diào)度可以擴(kuò)充時間片輪轉(zhuǎn)調(diào)度。時間片輪轉(zhuǎn)調(diào)度允許
在相同優(yōu)先級的處于就緒態(tài)的任務(wù)公平地共享CPU。沒有時間片輪轉(zhuǎn)調(diào)度,當(dāng)有多個任務(wù)
在同一優(yōu)先級共享處理器時,一個任務(wù)可能獨(dú)占CPU,不會被阻塞直到被一個更高優(yōu)先級
的任務(wù)搶占,而不給同一優(yōu)先級的其他任務(wù)運(yùn)行的機(jī)會。如果時間片輪轉(zhuǎn)被使能,執(zhí)行
任務(wù)的時間計數(shù)器在每個時鐘滴答遞增。當(dāng)指定的時間片耗盡,計數(shù)器會被清零,該任
務(wù)被放在同一優(yōu)先級任務(wù)隊列的隊尾。加入特定優(yōu)先級組的新任務(wù)被放在該組任務(wù)的隊
尾,并將運(yùn)行計數(shù)器初始化為零。
基本的任務(wù)函數(shù)
         用于狀態(tài)控制的基本任務(wù)函數(shù)包括一個任務(wù)的創(chuàng)建、刪除、掛起和喚醒。一個
任務(wù)也可以使自己睡眠一個特定的時間間隔不去運(yùn)行。
許多其他任務(wù)例程提供由任務(wù)上下文獲得的狀態(tài)信息。這些例程包括訪問一個任務(wù)當(dāng)前
處理器寄存器控制。
任務(wù)刪除問題
     wind內(nèi)核提供防止任務(wù)被意外刪除的機(jī)制。通常,一個執(zhí)行在臨界區(qū)或訪問臨界資
源的任務(wù)要被特別保護(hù)。我們設(shè)想下面的情況:一個任務(wù)獲得一些數(shù)據(jù)結(jié)構(gòu)的互斥訪問
權(quán),當(dāng)它正在臨界區(qū)內(nèi)執(zhí)行時被另一個任務(wù)刪除。由于任務(wù)無法完成對臨界區(qū)的操作,
該數(shù)據(jù)結(jié)構(gòu)可能還處于被破壞或不一致的狀態(tài)。而且,假想任務(wù)沒有機(jī)會釋放該資源,
那麼現(xiàn)在其他任何任務(wù)現(xiàn)在就不能獲得該資源,資源被凍結(jié)了。
          任何要刪除或終止一個設(shè)定了刪除保護(hù)的任務(wù)的任務(wù)將被阻塞。當(dāng)被保護(hù)的任
務(wù)完成臨界區(qū)操作以后,它將取消刪除保護(hù)以使自己可以被刪除,從而解阻塞刪除任務(wù)

     正如上面所展示的,任務(wù)刪除保護(hù)通常伴有互斥操作。
     這樣,為了方便性和效率,互斥信號量包含了刪除保護(hù)選項。(參見"互斥信號量"

任務(wù)間通信
     為了提供完整的多任務(wù)系統(tǒng)的功能,wind內(nèi)核提供了一套豐富的任務(wù)間通信與同步
的機(jī)制。這些通信功能使一個應(yīng)用中各個獨(dú)立的任務(wù)協(xié)調(diào)他們的活動。
共享地址空間
     wind內(nèi)核的任務(wù)間通信機(jī)制的基礎(chǔ)是所有任務(wù)所在的共享地址空間。通過共享地址
空間,任務(wù)能夠使用共享數(shù)據(jù)結(jié)構(gòu)的指針自由地通信。管道不需要映射一塊內(nèi)存區(qū)到兩
個互相通信任務(wù)的尋址空間。
          不幸的是,共享地址空間具有上述優(yōu)點(diǎn)的同時,帶來了未被保護(hù)內(nèi)存的重入訪
問的危險。UNIX操作系統(tǒng)通過隔離進(jìn)程提供這樣的保護(hù),但同時帶來了對于實(shí)時操作系
統(tǒng)來說巨大的性能損失。
互斥操作
     當(dāng)一個共享地址空間簡化了數(shù)據(jù)交換,通過互斥訪問避免資源競爭就變?yōu)楸匾牧?br/>。用來獲得一個資源的互斥訪問的許多機(jī)制僅在這些互斥所作用的范圍上存在差別。實(shí)
現(xiàn)互斥的方法包括禁止中斷、禁止任務(wù)搶占和通過信號量進(jìn)行資源鎖定。
     中斷禁止:最強(qiáng)的互斥方法是屏蔽中斷。這樣的鎖定保證了對CPU的互斥訪問。這種
方法當(dāng)然能夠解決互斥的問題,但它對于實(shí)時是不恰當(dāng)?shù)模驗樗阪i定期間阻止系統(tǒng)
響應(yīng)外部事件。長的中斷延時對于要求有確定的響應(yīng)時間的應(yīng)用來說是不可接受的。
     搶占禁止:禁止搶占提供了強(qiáng)制性較弱的互斥方式。 當(dāng)前任務(wù)運(yùn)行的過程中不允許
其他任務(wù)搶占,而中斷服務(wù)程序可以執(zhí)行。這也可能引起較差的實(shí)時響應(yīng),就象被禁止
中斷一樣,被阻塞的任務(wù)會有相當(dāng)長時間的搶占延時,就緒態(tài)的高優(yōu)先級的任務(wù)可能會
在能夠執(zhí)行前被強(qiáng)制等待一段不可接受的時間。為避免這種情況,在可能的情況下盡量
使用信號量實(shí)現(xiàn)互斥。
     互斥信號量:信號量是用于鎖定共享資源訪問的基本方式。不象禁止中斷或搶占,
信號量限制了互斥操作僅作用于相關(guān)的資源。一個信號量被創(chuàng)建來保護(hù)資源。VxWorks的
信號量遵循Dijkstra的P()和V()操作模式。
     當(dāng)一個任務(wù)請求信號量,P(), 根據(jù)在發(fā)出調(diào)用時信號量的置位或清零的狀態(tài), 會
發(fā)生兩種情況。如果信號量處于置位態(tài), 信號量會被清零,并且任務(wù)立即繼續(xù)執(zhí)行。如
果信號量處于清零態(tài),任務(wù)會被阻塞來等待信號量。
     當(dāng)一個任務(wù)釋放信號量,V(),會發(fā)生幾種情況。如果信號量已經(jīng)處于置位態(tài),釋放
信號量不會產(chǎn)生任何影響。如果信號量處于清零態(tài)且沒有任務(wù)等待該信號量,信號量只
是被簡單地置位。如果信號量處于清零態(tài)且有一個或多個任務(wù)等待該信號量,最高優(yōu)先
級的任務(wù)被解阻塞,信號量仍為清零態(tài)。
     通過將一些資源與信號量關(guān)聯(lián),能夠?qū)崿F(xiàn)互斥操作。當(dāng)一個任務(wù)要操作資源,它必
須首先獲得信號量。只要任務(wù)擁有信號量,所有其他的任務(wù)由于請求該信號量而被阻塞
。當(dāng)一個任務(wù)使用完該資源,它釋放信號量,允許等待該信號量的另一個任務(wù)訪問該資
源。
     Wind內(nèi)核提供了二值信號量來解決互斥操作所引起的問題。 這些問題包括資源擁有
者的刪除保護(hù),由資源競爭引起的優(yōu)先級逆轉(zhuǎn)。
     刪除保護(hù)----互斥引起的一個問題會涉及到任務(wù)刪除。在由信號量保護(hù)的臨界區(qū)中
,需要防止執(zhí)行任務(wù)被意外地刪除。刪除一個在臨界區(qū)執(zhí)行的任務(wù)是災(zāi)難性的。資源會
被破壞,保護(hù)資源的信號量會變?yōu)椴豢色@得,從而該資源不可被訪問。通常刪除保護(hù)是
與互斥操作共同提供的。由于這個原因,互斥信號量通常提供選項來隱含地提供前面提
到的任務(wù)刪除保護(hù)的機(jī)制。
     優(yōu)先級逆轉(zhuǎn)/優(yōu)先級繼承----優(yōu)先級逆轉(zhuǎn)發(fā)生在一個高優(yōu)先級的任務(wù)被強(qiáng)制等待一段
不確定的時間以便一個較低優(yōu)先級的任務(wù)完成執(zhí)行。考慮下面的假設(shè):
     T1,T2和T3分別是高、中、低優(yōu)先級的任務(wù)。T3通過擁有信號量而獲得相關(guān)的資源
。當(dāng)T1搶占T3,為競爭使用該資源而請求相同的信號量的時候,它被阻塞。如果我們假
設(shè)T1僅被阻塞到T3使用完該資源為止,情況并不是很糟。畢竟資源是不可被搶占的。然
而,低優(yōu)先級的任務(wù)并不能避免被中優(yōu)先級的任務(wù)搶占,一個搶占的任務(wù)如T2將阻止T3
完成對資源的操作。這種情況可能會持續(xù)阻塞T1等待一段不可確定的時間。這種情況成
為優(yōu)先級逆轉(zhuǎn),因為盡管系統(tǒng)是基于優(yōu)先級的調(diào)度,但卻使一個高優(yōu)先級的任務(wù)等待一
個低優(yōu)先級的任務(wù)完成執(zhí)行。
     互斥信號量有一個選項允許實(shí)現(xiàn)優(yōu)先級繼承的算法。優(yōu)先級繼承通過在T1被阻塞期
間提升T3的優(yōu)先級到T1解決了優(yōu)先級逆轉(zhuǎn)引起的問題。這防止了T3,間接地防止T1,被
T2搶占。通俗地說,優(yōu)先級繼承協(xié)議使一個擁有資源的任務(wù)以等待該資源的任務(wù)中優(yōu)先
級最高的任務(wù)的優(yōu)先級執(zhí)行。當(dāng)執(zhí)行完成,任務(wù)釋放該資源并返回到它正常的或標(biāo)準(zhǔn)的
優(yōu)先級。因此,繼承優(yōu)先級的任務(wù)避免了被任何中間優(yōu)先級的任務(wù)搶占。
     同步
     信號量另一種通常的用法是用于任務(wù)間的同步機(jī)制。在這種情況下,信號量代表一
個任務(wù)所等待的條件或事件。最初,信號量是在清零態(tài)。一個任務(wù)或中斷通過置位該信
號量來指示一個事件的發(fā)生。等待該信號量的任務(wù)將被阻塞直到事件發(fā)生、該信號量被
置位。一旦被解阻塞,任務(wù)就執(zhí)行恰當(dāng)?shù)氖录幚沓绦颉P盘柫吭谌蝿?wù)同步中的應(yīng)用對
于將中斷服務(wù)程序從冗長的事件處理中解放出來以縮短中斷響應(yīng)時間是很有用的。
消息隊列
     消息隊列提供了在任務(wù)與中斷服務(wù)程序或其他任務(wù)間交換變長消息的一種較低層的
機(jī)制。這種機(jī)制在功能上類似于管道,但有較少的開銷。
管道、套接字、遠(yuǎn)程過程調(diào)用和更多
     許多高層的VxWorks機(jī)制提供任務(wù)間通信的更高層的抽象,包括管道、TCP/IP套接字
、遠(yuǎn)程過程調(diào)用和更多。為了保持裁減內(nèi)核為僅包含足夠支持高層功能的一個最小函數(shù)
集的設(shè)計目標(biāo),這些特性都是基于上面描述的內(nèi)核同步方式的。
3. 內(nèi)核設(shè)計的優(yōu)點(diǎn)
     wind內(nèi)核的一個重要的設(shè)計特性是最小的搶占延時。其他的主要設(shè)計的優(yōu)點(diǎn)包括史
無前例的可配置性,對不可預(yù)見的應(yīng)用需求的可擴(kuò)展性,在各種微處理器應(yīng)用開發(fā)中的
移植性。
最小的搶占延時
     正如前面所討論的,禁止搶占是獲得代碼臨界資源互斥操作的通常手段。這種技巧
的不期望的負(fù)面影響是高的搶占延時,這可以通過盡量使用信號量實(shí)現(xiàn)互斥和保持臨界
區(qū)盡量緊湊被減小。但即使廣泛地使用信號量也不能解決所有的可能導(dǎo)致?lián)屨佳訒r的根
源。內(nèi)核本身就是一個導(dǎo)致?lián)屨佳訒r的根源。為了理解其原因,我們必須更好地理解內(nèi)
核所需的互斥操作。
內(nèi)核級和任務(wù)級
     在任何多任務(wù)系統(tǒng)中,大量的應(yīng)用是發(fā)生在一個或多個任務(wù)的上下文。然而,有些
CPU時間片不在任何任務(wù)的上下文。這些時間片發(fā)生在內(nèi)核改變內(nèi)部隊列或決定任務(wù)調(diào)度
。在這些時間片中,CPU在內(nèi)核級執(zhí)行,而非任務(wù)級。
     為了內(nèi)核安全地操作它的內(nèi)部的數(shù)據(jù)結(jié)構(gòu),必須有互斥操作。內(nèi)核級沒有相關(guān)的任
務(wù)上下文,內(nèi)核不能使用信號量保護(hù)內(nèi)部鏈表。內(nèi)核使用工作延期作為實(shí)現(xiàn)互斥的方式
。當(dāng)有內(nèi)核參與時,中斷服務(wù)程序調(diào)用的函數(shù)不是被直接激活,而是被放在內(nèi)核的工作
隊列中。內(nèi)核完成這些請求的執(zhí)行而清空內(nèi)核工作隊列。
     當(dāng)內(nèi)核正在執(zhí)行已經(jīng)被請求服務(wù)時系統(tǒng)將不響應(yīng)到曙海嵌入式學(xué)院核的函數(shù)調(diào)用。可以簡單地
認(rèn)為內(nèi)核狀態(tài)類似于禁止搶占。如前面所討論的,搶占延時在實(shí)時系統(tǒng)中是不期望有的
,因為它增加了對于會引起應(yīng)用任務(wù)重新調(diào)度的事件的響應(yīng)時間.
     管操作系統(tǒng)在內(nèi)核級(此時禁止搶占)完全避免消耗時間是不可能的,但減少這些
時間是很重要的。這是減少由內(nèi)核執(zhí)行的函數(shù)的數(shù)量的主要原因, 也是不采用統(tǒng)一結(jié)構(gòu)
的系統(tǒng)設(shè)計方式的原因。例如,有一種流行的實(shí)時操作系統(tǒng)的每個函數(shù)都是在內(nèi)核級執(zhí)
行。這意味著當(dāng)一個低優(yōu)先級的任務(wù)在執(zhí)行分配內(nèi)存、獲得任務(wù)信息的函數(shù)時所有高優(yōu)
先級的任務(wù)被禁止搶占。
一個最小的內(nèi)核
     已經(jīng)說明了一個最小內(nèi)核的優(yōu)點(diǎn)和構(gòu)造高層操作系統(tǒng)功能的必要功能,我們使用這
些操作原語來執(zhí)行一個傳統(tǒng)的內(nèi)核級功能,而在VxWorks中作為任務(wù)級功能執(zhí)行,內(nèi)存管
理。 在這個例子中,考慮用戶可調(diào)用的子例程malloc, 用于分配所請求大小的內(nèi)存區(qū)
并返回一個指向該內(nèi)存區(qū)的指針。假定空閑內(nèi)存區(qū)是通過搜索一個空閑內(nèi)存塊的隊列找
到的,一個信號量必須被用來保護(hù)這個非搶占多用戶資源。分配內(nèi)存的操作如下:
     獲得互斥信號量
搜索空閑內(nèi)存塊鏈表
     釋放互斥信號量
     值得注意的是搜索一個足夠大的空閑內(nèi)存塊的可能的冗長的時間是發(fā)生在調(diào)用任務(wù)
的上下文中。這是可以被高優(yōu)先級的任務(wù)搶占的(除了信號量調(diào)用的這段執(zhí)行時間)。

     在一個標(biāo)準(zhǔn)的統(tǒng)一結(jié)構(gòu)的實(shí)時內(nèi)核中,內(nèi)存分配例程操作如下:
     進(jìn)入內(nèi)核
  


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

VXWORKS內(nèi)核分析








簽名
主站蜘蛛池模板: 成人a毛片免费观看网站 | 一级特黄牲大片免费视频 | 久久久国产精品无码免费专区 | 国产精品免费观看视频 | 欧洲美女熟乱av | 中文字幕无码精品亚洲资源网久久 | 久久精品国产99国产 | 国产成人 免费观看 | 18禁裸男晨勃露j毛网站 | 亚洲人成电影网 | 国产精品第1页在线观看 | 内射爽无广熟女亚洲 | 国产亚洲一区二区三区在线观看 | 一级毛片免费不卡在线 | a黄色网| 久久精品91 | 玖玖国产在线 | 99久久精品国产免费 | 色猫咪免费人成网站在线观看 | 又粗又硬的aaaaaaa毛片 | 狠狠操狠狠操 | 久久精品人人做人人看最新章 | 亚洲春色在线视频 | 国产午夜福利精品一区 | 开心亚洲五月丁香五月 | 爱爱小说视频永久免费网站 | 真人做爰试看120秒 真实单亲乱l仑对白视频 | 欧美日韩在线视频一区 | 美女黄网站人色视频免费国产 | 粗大的内捧猛烈进出少妇 | 四虎免费在线观看视频 | 欧美精品亚洲精品日韩专 | 成人免费视频在线 | 九九九九热精品视频 | 亚洲日韩国产一区二区三区 | 久久午夜精品视频 | 日韩视频在线观看一区二区 | 一区二区三区视频在线 | a毛片基地 | 国外成人免费视频 | 国产又色又爽又黄的 |