當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

進(jìn)入20世紀(jì)90年代,嵌入式技術(shù)全面展開,目前已成為通信和消費(fèi)類產(chǎn)品的共同發(fā)展方向。在通信領(lǐng)域,數(shù)字技術(shù)正在全面取代模擬技術(shù)。在廣播電視領(lǐng)域,美國已開始由模擬電視向數(shù)字電視轉(zhuǎn)變,歐洲的DVB(數(shù)字電視廣播)技術(shù)已在全球大多數(shù)國家推廣。數(shù)字音頻廣播(DAB)也已進(jìn)入商品化試播階段。而軟件、集成電路和新型元器件在產(chǎn)業(yè)發(fā)展中的作用日益重要。

動態(tài)內(nèi)存管理的基本任務(wù)就是有效地對動態(tài)內(nèi)存進(jìn)行分配、回收,并同時保證系統(tǒng)的快速性、可靠性和穩(wěn)定性。當(dāng)系統(tǒng)請求分配內(nèi)存時,系統(tǒng)需要從所有空閑塊中找到一個合適的空閑塊進(jìn)行分配;當(dāng)用戶不再使用而將某塊內(nèi)存釋放時,系統(tǒng)需要回收這一內(nèi)存塊,以備在新的請求產(chǎn)生時重新進(jìn)行分配。為此,系統(tǒng)需要建立一個與內(nèi)存當(dāng)前使用情況相對應(yīng)的內(nèi)存描述,用來記錄所有與內(nèi)存分配、回收相關(guān)的信息。而如何記錄這些信息并進(jìn)行分配與回收,便成為各種算法的最根本區(qū)別。

1 嵌入式系統(tǒng)中內(nèi)存管理技術(shù)的特點(diǎn)

實(shí)時系統(tǒng)分為硬實(shí)時系統(tǒng)和軟實(shí)時系統(tǒng)。硬實(shí)時系統(tǒng)是指系統(tǒng)中各任務(wù)不僅要執(zhí)行無誤而且要做到準(zhǔn)時;軟實(shí)時系統(tǒng)是指系統(tǒng)中各任務(wù)運(yùn)行的越快越好,并不要求限定某一任務(wù)必須在多長時間內(nèi)完成??梢钥闯鰟討B(tài)內(nèi)存分配是絕對不能用于硬實(shí)時系統(tǒng)的,因?yàn)閯討B(tài)分配具有時間不確定性(分配時間與內(nèi)存塊數(shù)量有關(guān)),而且動態(tài)分配可能產(chǎn)生分配不成功的情況。所以對于硬實(shí)時系統(tǒng),只能采用靜態(tài)內(nèi)存分配方式。靜態(tài)分配是指在編譯或鏈接時將程序所需的內(nèi)存空間分配好,這樣不會出現(xiàn)分配失敗的情況。

1.1 靜態(tài)分配與動態(tài)分配

靜態(tài)分配為系統(tǒng)提供了最好的可靠性與實(shí)時性。對于那些對實(shí)時性和可靠性要求極高的需求,就只能采用靜態(tài)分配方式。但采用靜態(tài)分配就必然會使系統(tǒng)失去靈活性。因此必須在設(shè)計階段考慮所有可能的情況,并對所有的需求做出相應(yīng)的空間分配。一旦出現(xiàn)沒有考慮到的情況,系統(tǒng)就無法處理。此外靜態(tài)分配方式也必然導(dǎo)致很大的浪費(fèi),因?yàn)楸仨毎凑兆顗那闆r進(jìn)行最大的配置,而在實(shí)際運(yùn)行中可能只用到其中的一小部分。

動態(tài)分配為系統(tǒng)提供了很大的靈活性,而且在內(nèi)存的利用率和系統(tǒng)功能擴(kuò)展等方面也都明顯地優(yōu)于靜態(tài)分配。

大多數(shù)系統(tǒng)采用靜態(tài)分配和動態(tài)分配相結(jié)合的方式。由于嵌入式系統(tǒng)本身各個任務(wù)的可靠性、實(shí)時性要求不盡相同,通常會有一部分任務(wù)對可靠性與實(shí)時性沒有特別嚴(yán)格的要求。這些任務(wù)對一定的延時與失敗是可以接受的。因此對于這樣的一部分任務(wù),就可以采用動態(tài)分配方式來滿足它們部分或全部的內(nèi)存需求。而對于那些有嚴(yán)格時限要求的任務(wù),為了保證任務(wù)的可靠性和實(shí)時性,就應(yīng)采用靜態(tài)分配方式。

1.2 動態(tài)分配的技術(shù)要求

(1)快速性:由于嵌入式系統(tǒng)對實(shí)時性要求較高,所以內(nèi)存分配過程要盡可能地快。在嵌入式系統(tǒng)中,由于還不能采用通用操作系統(tǒng)中復(fù)雜而完善的內(nèi)存分配策略,所以一般都采用簡單、快速的內(nèi)存分配方案。

(2)可靠性:由于嵌入式系統(tǒng)對可靠性的要求較高,所以內(nèi)存分配過程也要具備高可靠性。但由于各個嵌入式系統(tǒng)之間對可靠性的要求不盡相同,對內(nèi)存分配的可靠性要求也就各不相同。通常,可靠性要求極高的系統(tǒng)不采用動態(tài)分配。

(3)高效性:由于在嵌入式系統(tǒng)中內(nèi)存資源都相對有限,所以為了保證程序的正常運(yùn)行,內(nèi)存管理系統(tǒng)要盡可能高效地使用內(nèi)存,減少不必要的浪費(fèi)。

2 伙伴系統(tǒng)

2.1 伙伴系統(tǒng)原理

伙伴(buddy)系統(tǒng)的基本原理就是按照2的冪次方大小對內(nèi)存進(jìn)行分配,以此得到很高的分配速度和回收速度。例如:對于10KB的空間請求,伙伴系統(tǒng)會分配16KB的空間來滿足。因?yàn)閮?nèi)存空閑塊大小均為2的冪次方,所以需要16KB,這是滿足10KB的最小空間;同樣對于70KB的空間請求,伙伴系統(tǒng)會分配128KB的空間來滿足。

2.2 伙伴系統(tǒng)存在的問題

伙伴系統(tǒng)比那些按大小而不按塊的整數(shù)倍地址分配的算法有更多的優(yōu)點(diǎn)。其優(yōu)點(diǎn)為當(dāng)一個大小為2的K次冪的塊被釋放后,存儲管理只需要搜索2的K次冪字節(jié)大小的塊以判定是否需要合并。那些允許內(nèi)存塊以任意形式分割的策略需要搜索所有的空閑塊表。相比之下,伙伴系統(tǒng)更快。

但是對于內(nèi)存利用率來說,伙伴系統(tǒng)是極其低效的。問題出自所有的內(nèi)存請求都必須以2的冪次方大小的空間來滿足,一個35KB的請求需要分配64KB的空間,其余的29KB被浪費(fèi)了。在極端情況下內(nèi)存資源有近50%被浪費(fèi)。

3 連續(xù)的內(nèi)存分配

3.1 問題提出

伙伴系統(tǒng)的內(nèi)存管理方式對空間的使用存在極大的浪費(fèi)。在某些情況下還會由于資源的浪費(fèi),導(dǎo)致后繼的內(nèi)存請求得不到滿足,進(jìn)而嚴(yán)重地影響程序的正常功能。

試考慮:系統(tǒng)共有1MB內(nèi)存空間可用,采用伙伴系統(tǒng)進(jìn)行管理。有如下請求:請求A,300KB;請求B,300KB;請求C,50KB.結(jié)果如表1所示。

由表1中可以看出:伙伴系統(tǒng)對空間的浪費(fèi)是極其嚴(yán)重的,即使在物理內(nèi)存充足(1MB)的情況下,也會產(chǎn)生請求(650KB)無法滿足的情況。

由于在嵌入式系統(tǒng)中,一般都沒有虛擬內(nèi)存的支持,所以當(dāng)內(nèi)存請求無法得到滿足時,將嚴(yán)重影響程序的正常功能。因此為了保證程序的正常功能,就要提高內(nèi)存的利用率,盡可能地滿足程序的內(nèi)存請求。所以在對伙伴系統(tǒng)進(jìn)行分析的基礎(chǔ)上,提出了連續(xù)的內(nèi)存分配方式。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉