嵌入式系統(tǒng)內(nèi)存管理_第1頁(yè)
嵌入式系統(tǒng)內(nèi)存管理_第2頁(yè)
嵌入式系統(tǒng)內(nèi)存管理_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)內(nèi)存管理嵌入式系統(tǒng)內(nèi)存管理科學(xué)技術(shù)的開(kāi)展在不斷的進(jìn)行更新,為了適應(yīng)開(kāi)展快速的科技信 息 在對(duì)于系統(tǒng)進(jìn)行開(kāi)發(fā)的時(shí)候,就要傾注更多的精力,使其在功 能上能夠 滿(mǎn)足日益開(kāi)展的網(wǎng)絡(luò)需求。那么針對(duì)嵌入式系統(tǒng)的開(kāi)發(fā), 在實(shí)際的應(yīng)用 過(guò)程中,涉及到對(duì)于內(nèi)存的管理方面的問(wèn)題,這將關(guān) 系到嵌入式系統(tǒng)對(duì) 于軟件運(yùn)行的效率和質(zhì)量問(wèn)題。所以程序的設(shè)計(jì) 人員要擁有很豐富的專(zhuān) 業(yè)知識(shí),在思想理念上能夠跟得上國(guó)際的最 新趨勢(shì),使得系統(tǒng)在使用的 過(guò)程中可以為我國(guó)的信息產(chǎn)業(yè)創(chuàng)造出更 大的成就,為我國(guó)網(wǎng)絡(luò)信息業(yè)的 開(kāi)展創(chuàng)造有利的環(huán)境。1 嵌入式系統(tǒng)嵌入式系統(tǒng)是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為根底,軟件硬件 可剪 裁,適應(yīng)

2、應(yīng)用系統(tǒng)。對(duì)功能、可靠性、本錢(qián)、體積、功耗嚴(yán)格 要求的專(zhuān) 用計(jì)算機(jī)系統(tǒng)。它主要由嵌入式微處理器、外圍硬件設(shè)備、 嵌入式操作 系統(tǒng)以及用戶(hù)應(yīng)用軟件的局部組成。用于實(shí)現(xiàn)對(duì)其他設(shè) 備的控制、監(jiān)視 和管理等功能,它通常嵌入在主要設(shè)備中運(yùn)行。2 嵌入式系統(tǒng)對(duì)內(nèi)存分配的要求嵌入式系統(tǒng)在開(kāi)發(fā)和應(yīng)用的過(guò)程中,由于自身的科技含量比擬高 , 都 受到了相應(yīng)的限制條件。由于其本身是一種在資源上會(huì)受到限制 的系統(tǒng), 所以這種系統(tǒng)的應(yīng)用相對(duì)于其他的系統(tǒng)來(lái)說(shuō),對(duì)于在內(nèi)存 上的使用標(biāo)準(zhǔn) 要相對(duì)嚴(yán)格一些。在資源和本錢(qián)上的受限,使得對(duì)于 這種系統(tǒng)的開(kāi)發(fā)在 研究的時(shí)候,程序開(kāi)發(fā)人員就要付出一定的精力 , 考慮到系統(tǒng)在使用的時(shí) 候

3、對(duì)于內(nèi)存的分配和使用上要做出合理的安 排。由此可知,對(duì)于這種系 統(tǒng)的開(kāi)發(fā)和應(yīng)用,在對(duì)內(nèi)存的管理上一 直都是一個(gè)難題,它和別的比擬 常用的系統(tǒng)還有著不同。那么從大 體上來(lái)看,嵌入式系統(tǒng)在研發(fā)時(shí)主要 需要考慮到以下三方面的要求 :第一,實(shí)時(shí)性。要保證嵌入式系統(tǒng)的實(shí)時(shí)性,那么要求盡可能快速 的分 配內(nèi)存。第二,可靠性。它是嵌入式系統(tǒng)內(nèi)存管理機(jī)制的根本要求。第三,高效性。嵌入式系統(tǒng)中內(nèi)存是一種有限并且昂貴的資源。 故內(nèi) 存分配要盡可能的減少浪費(fèi)。3 內(nèi)存分配方式嵌入式系統(tǒng)中內(nèi)存管理方案大致可以分為兩大類(lèi) : 靜態(tài)分配和動(dòng) 態(tài)分 配。靜態(tài)分配的可用內(nèi)存大小在編譯或鏈接時(shí)確定, 系統(tǒng)初始化階段 預(yù)先 分配

4、好固定數(shù)量的內(nèi)存,用于存放所有需要使用的對(duì)象和數(shù)據(jù) 結(jié)構(gòu)。程 序運(yùn)行時(shí)能且只能使用這些內(nèi)存空間。采用這種分配方案 的程序段,其 大小一般在編譯時(shí)就能確定。動(dòng)態(tài)分配的內(nèi)存在程序運(yùn)行時(shí)根據(jù)需要向系統(tǒng)申請(qǐng)后獲得, 只有 在需 要的時(shí)候,才分配或釋放。4 內(nèi)存管理策略4.1 簡(jiǎn)單內(nèi)存管理模型在設(shè)計(jì)之初, 最簡(jiǎn)單直接的一種技術(shù)其實(shí)就是不管理, 即所有 靜 態(tài)分配在棧中、動(dòng)態(tài)分配在堆中的變量和數(shù)據(jù)結(jié)構(gòu),這二者的分 配、釋 放,全交給編譯器、鏈接器和運(yùn)行時(shí)庫(kù)去完成,設(shè)計(jì)者只需 合理設(shè)置系 統(tǒng)棧、堆和任務(wù)棧。4. 2 靜態(tài)內(nèi)存分配方式在大多數(shù)情況下, 靜態(tài)分配普遍適應(yīng)于嵌入式系統(tǒng), 因?yàn)樵诓僮?的過(guò) 程中,有

5、些程序段的應(yīng)用和狀態(tài)根本上都是固定不變的,所以 適應(yīng)性比 較強(qiáng)。在執(zhí)行程序之前, 靜態(tài)內(nèi)存實(shí)質(zhì)上就已經(jīng)進(jìn)行了, 有著比擬高的 運(yùn)行 效率; 對(duì)于內(nèi)存在需求上的狀況,在對(duì)其進(jìn)行編譯的時(shí)候就能夠 進(jìn)行準(zhǔn)確 的計(jì)算 ; 對(duì)于在內(nèi)存的分配上,所應(yīng)用的時(shí)間是比擬短的, 并且這些動(dòng)作 根本上都是固定不變的 ; 對(duì)于已經(jīng)分配完成的內(nèi)存,一 般情況下,是不進(jìn) 行歸還的,而且很少有碎片 ; 對(duì)于程序進(jìn)行的測(cè)試 也是比擬容易的,并且 有著很高的可靠性。以上這些優(yōu)點(diǎn)使得靜態(tài) 內(nèi)存的分配在很多標(biāo)準(zhǔn)要求 比擬高的系統(tǒng)中都能夠使用,如果一些 系統(tǒng)的要求特變高,對(duì)于在使用 中,一定不能夠出現(xiàn)延時(shí)或者是失 敗的分配現(xiàn)象產(chǎn)生的

6、話,那么靜態(tài)內(nèi) 存分配模式就可以很好的滿(mǎn)足 這些條件,在開(kāi)始對(duì)其進(jìn)行編譯的時(shí)候, 就可以將這些需要的內(nèi)存 進(jìn)行分配。4. 3 動(dòng)態(tài)內(nèi)存分配方式對(duì)于靜態(tài)內(nèi)存分配來(lái)講, 主要注重的方面是效率和平安方面, 而 對(duì)于 動(dòng)態(tài)內(nèi)存分配來(lái)說(shuō)那么比擬注重于靈活性的掌握。在進(jìn)行動(dòng)態(tài)的 內(nèi)存分配 模式下,對(duì)于內(nèi)存空間的要求,程序是在目標(biāo)的模塊在進(jìn) 行鏈接之前就 己經(jīng)分配完成的,在程序進(jìn)行工作的過(guò)程當(dāng)中,是允 許繼續(xù)附加一定的 內(nèi)存或者是在內(nèi)存的 ' 空間上進(jìn)行移開(kāi)工作的,也 就是說(shuō)對(duì)內(nèi)存進(jìn)行分配 的工作不一定是要在程序運(yùn)行之前就要完成 的,在程序運(yùn)行期間也是可 以逐步的進(jìn)行分配的。這種做法在一定 程度上減

7、少了浪費(fèi)的情況,使得 很多不被使用的內(nèi)存不進(jìn)行分配, 對(duì)于內(nèi)存的總體需求降低了要求 ; 對(duì)于 設(shè)計(jì)的質(zhì)量來(lái)講有了很大的提 高,使系統(tǒng)在進(jìn)行編寫(xiě)的時(shí)候?qū)⒏拥暮?jiǎn) 單容易 ; 在程序運(yùn)行的過(guò)程 中對(duì)內(nèi)存進(jìn)行分配,這樣就在系統(tǒng)進(jìn)行啟動(dòng)的 時(shí)候減少了運(yùn)行的時(shí) 間。在對(duì)動(dòng)態(tài)內(nèi)存進(jìn)行分配的時(shí)候,程序員在對(duì)程序進(jìn)行編寫(xiě)的過(guò)程 中, 可以全身心的將精力放在對(duì)于程序的設(shè)計(jì)上,而不需要對(duì)內(nèi)存 的分配問(wèn) 題傾注過(guò)多的精力。在程序和硬件系統(tǒng)之間關(guān)聯(lián)性不是特 別高的時(shí)候, 那么對(duì)于程序在進(jìn)行移植方面就有了很大的便利,比 如有一些系統(tǒng)不是 單純的為了嵌入式系統(tǒng)而設(shè)計(jì)的,那么也可以將 其很容易的移植到嵌入 式系統(tǒng)當(dāng)中。如入

8、說(shuō),在嵌入式系統(tǒng)應(yīng)用的 條件下,對(duì)于網(wǎng)絡(luò)協(xié)議棧在 一定的平臺(tái)使用下,為了到達(dá)一定的條 件,能夠在使用系統(tǒng)的時(shí)候更加 的靈活,在使用系統(tǒng)的時(shí)候,使得 其中的每一個(gè)功能之間都能夠進(jìn)行平 衡的選擇,那么這個(gè)系統(tǒng)就必 須可以適應(yīng)對(duì)于動(dòng)態(tài)內(nèi)存的分配。4.3. 1 內(nèi)存碎片內(nèi)存碎片是動(dòng)態(tài)分配, 尤其是直接在系統(tǒng)堆中分配的不分區(qū)方式 的主 要問(wèn)題。在嵌入式實(shí)時(shí)操作系統(tǒng)中,屢次的分配和釋放內(nèi)存, 會(huì)把原來(lái) 很大的一塊連續(xù)內(nèi)存區(qū)域逐漸分割成許多小而且互不相鄰 的內(nèi)存區(qū)域, 也就是內(nèi)存碎片。內(nèi)存碎片主要有兩種:一種是數(shù)據(jù) 結(jié)構(gòu)未用完它所分 配到的內(nèi)存塊所產(chǎn)生的內(nèi)部碎片 ; 另一種是兩個(gè) 己分配數(shù)據(jù)塊之間 的內(nèi)存由于太小而無(wú)法用于存儲(chǔ)任何東西

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論