91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式Linux中內(nèi)存管理詳解

嵌入式開(kāi)發(fā)愛(ài)好者 ? 來(lái)源:嵌入式開(kāi)發(fā)愛(ài)好者 ? 2023-10-29 17:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux中內(nèi)存管理

內(nèi)存管理的主要工作就是對(duì)物理內(nèi)存進(jìn)行組織,然后對(duì)物理內(nèi)存的分配和回收。但是Linux引入了虛擬地址的概念。

虛擬地址的作用如果用戶進(jìn)程直接操作物理地址會(huì)有以下的壞處:1、 用戶進(jìn)程可以直接操作內(nèi)核對(duì)應(yīng)的內(nèi)存,破壞內(nèi)核運(yùn)行。2、 用戶進(jìn)程也會(huì)破壞其他進(jìn)程的運(yùn)行CPU 中寄存器中存儲(chǔ)的是邏輯地址,需要進(jìn)行映射才能轉(zhuǎn)化為對(duì)應(yīng)的物理地址,然后獲取對(duì)應(yīng)的內(nèi)存。通過(guò)引入邏輯地址,每個(gè)進(jìn)程都擁有單獨(dú)的邏輯地址范圍。當(dāng)進(jìn)程申請(qǐng)內(nèi)存的時(shí)候,會(huì)為其分配邏輯地址和物理地址,并將邏輯地址和物理地址做一個(gè)映射。所以,Linux內(nèi)存管理涉及到了以下三個(gè)部分:

1、物理內(nèi)存

物理內(nèi)存的組織

Linux 中內(nèi)存分為 3 個(gè)級(jí)別,從下到上依次為:1>、Page: 一個(gè) page 的大小為 4k, Page 是內(nèi)存的一個(gè)最基本的單位。2>Zone: Zone 中提供了多個(gè)隊(duì)列來(lái)管理 page。Zone分為 3 種2.1、 ZONE_DMA:用來(lái)存放 DMA 讀取 IO 設(shè)備的數(shù)據(jù),內(nèi)核專(zhuān)用2.2、 ZONE_NORMAL:用來(lái)存放內(nèi)核的相關(guān)數(shù)據(jù),內(nèi)核專(zhuān)用2.3、 ZONE_HIGHMEM:高端內(nèi)存,用來(lái)存放用戶進(jìn)程數(shù)據(jù)3>Node 節(jié)點(diǎn),一個(gè) CPU 對(duì)應(yīng)著一個(gè) Node,一個(gè) Node 包括一個(gè) Zone_DMA、 ZONE_NORMAL、ZONE_HIGHMEM。同時(shí)當(dāng)一個(gè) CPU 對(duì)應(yīng)的內(nèi)存用光后,可以申請(qǐng)其他 CPU 對(duì)應(yīng)的內(nèi)存。ef647674-7632-11ee-939d-92fbcf53809c.png ? ?

物理內(nèi)存的分配

Linux將內(nèi)存分配分為兩種:1>、大內(nèi)存大內(nèi)存 利用伙伴系統(tǒng) 分配。ef7c9cea-7632-11ee-939d-92fbcf53809c.png伙伴系統(tǒng)的做法是將 ZONE 中的 Page 分組,然后組裝為多個(gè)鏈表。鏈表中存放的是 頁(yè)塊 的集合。頁(yè)塊對(duì)應(yīng)著有不同的大小,分別為 1、2、4、8 … 1024個(gè)頁(yè)。當(dāng)請(qǐng)求 (2i-1 ,2i] 大小的 page 的時(shí)候,會(huì)直接請(qǐng)求 2i 個(gè)頁(yè), 如果對(duì)應(yīng)的鏈表中有對(duì)應(yīng)的頁(yè)塊,就直接分配。如果對(duì)應(yīng)的鏈表沒(méi)有,就往上找 2i+1,如果 2i+1 存在,就將其分為 2 個(gè) 2i 頁(yè)塊,將其中 1 個(gè) 2i 加入到對(duì)應(yīng)的鏈表中,將另外一個(gè)分配出去。例如,要請(qǐng)求一個(gè) 128 個(gè)頁(yè)的頁(yè)塊時(shí),先檢查 128 個(gè)頁(yè)的頁(yè)塊鏈表是否有空閑塊。如果沒(méi)有,則查 256 個(gè)的頁(yè)塊鏈表;如果有空閑塊的話,則將 256 個(gè)頁(yè)的頁(yè)塊分成兩份,一份使用,一份插入 128 個(gè)頁(yè)的頁(yè)塊鏈表中。如果還是沒(méi)有,就查 512 個(gè)頁(yè)的頁(yè)塊鏈表;如果有的話,就分裂為 128、128、256 三個(gè)頁(yè)塊,一個(gè) 128 的使用,剩余兩個(gè)插入對(duì)應(yīng)頁(yè)塊鏈表。2>、小內(nèi)存分配小內(nèi)存分配利用 slub 分配,比如對(duì)象等數(shù)據(jù) slub 就是 將幾個(gè)頁(yè)單獨(dú)拎出來(lái)作為緩存,里面維護(hù)了鏈表。每次直接從鏈表中獲取對(duì)應(yīng)的內(nèi)存,用完之后也不用清空,就直接掛到鏈表上,然后等待下次利用。ef804ff2-7632-11ee-939d-92fbcf53809c.png

2、如何組織虛擬地址

虛擬地址對(duì)應(yīng)的是虛擬空間,虛擬空間只不過(guò)是一個(gè)虛擬地址的集合,用來(lái)映射物理內(nèi)存。 ef97b85e-7632-11ee-939d-92fbcf53809c.png ?虛擬空間分為 用戶態(tài)內(nèi)核態(tài) 。32位系統(tǒng)中 將虛擬空間按照 1:3 的比例分配給 內(nèi)核態(tài)用戶態(tài)。64位系統(tǒng)中 分別給 內(nèi)核態(tài) 和 用戶態(tài) 分配了 128T。用戶態(tài)結(jié)構(gòu)efa47210-7632-11ee-939d-92fbcf53809c.png ?每個(gè)進(jìn)程 都會(huì) 對(duì)應(yīng)一個(gè) 用戶態(tài)虛擬空間, 里面存放了 Text(代碼)的內(nèi)存虛擬地址范圍、 Data(數(shù)據(jù))的內(nèi)存虛擬地址范圍、BSS(全局變量)的內(nèi)存虛擬地址范圍、堆的虛擬地址范圍、棧的虛擬地址范圍,以及mmap 內(nèi)存映射區(qū)。其中 mmap 用于申請(qǐng)動(dòng)態(tài)內(nèi)存的時(shí)候的映射,堆和棧都是動(dòng)態(tài)變化的。一個(gè)進(jìn)程對(duì)應(yīng)的用戶態(tài)中的 各個(gè)方面的虛擬地址信息都通過(guò)一個(gè) struct 來(lái)存儲(chǔ)在內(nèi)存中,當(dāng)創(chuàng)建進(jìn)程的時(shí)候會(huì)為其分配內(nèi)存存儲(chǔ)對(duì)應(yīng)的虛擬地址信息。內(nèi)核態(tài)結(jié)構(gòu)efb855aa-7632-11ee-939d-92fbcf53809c.pngLinux 的內(nèi)核程序共用一個(gè)內(nèi)核態(tài)虛擬空間。其中分為了以下幾部分:1、直接映射區(qū)896M,內(nèi)核空間直接映射到對(duì)應(yīng)的ZONE_DMA和ZONE_NORMAL中。為什么叫做直接映射呢?邏輯地址 直接 減去對(duì)應(yīng)的差值就可以得到對(duì)應(yīng)的物理地址。固定死了。2、動(dòng)態(tài)映射為什么要引入動(dòng)態(tài)映射呢?因?yàn)樗形锢韮?nèi)存的分配都需要內(nèi)核程序進(jìn)行申請(qǐng),用戶進(jìn)程沒(méi)有這個(gè)權(quán)限。所以內(nèi)核空間一定要能映射到所有的物理內(nèi)存地址。那么如果都采用直接映射的話,1G大小邏輯地址的內(nèi)核空間只能映射1G大小的物理內(nèi)存。所以引入了動(dòng)態(tài)映射,動(dòng)態(tài)映射就是 內(nèi)核空間的邏輯地址可以映射到 物理內(nèi)存中的ZONE_HIGHMEM(高端內(nèi)存)中的任何一個(gè)地址,并且在對(duì)應(yīng)的物理內(nèi)存使用完之后,可以再映射其他物理內(nèi)存地址。

動(dòng)態(tài)映射分為三種:1>、動(dòng)態(tài)內(nèi)存映射: 使用完對(duì)應(yīng)的物理內(nèi)存后,就可以映射其他物理內(nèi)存了。2>、永久內(nèi)存映射: 一個(gè)虛擬地址只能映射一個(gè)物理地址。如果需要映射其他物理地址,需要解綁。3>、固定內(nèi)存映射: 只能被某些特定的函數(shù)來(lái)調(diào)用引用物理地址。動(dòng)態(tài)內(nèi)存映射和直接映射的區(qū)別動(dòng)態(tài)映射和直接映射的區(qū)別就是邏輯地址到物理地址的轉(zhuǎn)化規(guī)則。直接映射直接映射的規(guī)則是死的,一個(gè)邏輯地址對(duì)應(yīng)的物理地址是固定的。通過(guò)邏輯地址加或者減去一個(gè)數(shù),就可以得到對(duì)應(yīng)的物理地址。動(dòng)態(tài)映射動(dòng)態(tài)映射是動(dòng)態(tài)的綁定,每個(gè)邏輯地址對(duì)應(yīng)的物理地址是動(dòng)態(tài)的,通過(guò)頁(yè)表進(jìn)行查詢。用戶空間映射:用戶空間采用動(dòng)態(tài)映射,每個(gè)虛擬地址可以被映射到一個(gè)物理地址,映射到ZONE_HIGHMEM。為什么用戶空間不采用直接映射呢?因?yàn)槲锢韮?nèi)存是多個(gè)進(jìn)程所有的,每個(gè)進(jìn)程都有一個(gè)用戶空間。如果采用直接映射的話,對(duì)應(yīng)的物理地址是會(huì)沖突的。其用戶空間的邏輯地址大小都為 3G,所以存在邏輯地址相同,但是對(duì)應(yīng)的物理地址不同。需要通過(guò)頁(yè)表來(lái)轉(zhuǎn)化,一個(gè)進(jìn)程會(huì)對(duì)應(yīng)一個(gè)頁(yè)表。

3、如何將虛擬地址映射到物理內(nèi)存

虛擬地址通過(guò) 頁(yè)表虛擬地址 轉(zhuǎn)化為 物理地址,每個(gè)進(jìn)程都對(duì)應(yīng)著一個(gè)頁(yè)表,內(nèi)核只有一個(gè)頁(yè)表。虛擬空間 和 物理內(nèi)存 都按照 4k 來(lái)分頁(yè),一個(gè)虛擬空間中的頁(yè) 和 物理內(nèi)存中頁(yè) 是 一一對(duì)應(yīng)的。

頁(yè)表映射

efbf667e-7632-11ee-939d-92fbcf53809c.png如上圖所示,將虛擬地址中的頁(yè)號(hào) 通過(guò)頁(yè)表轉(zhuǎn)化為 對(duì)應(yīng)的物理頁(yè)號(hào),然后通過(guò)頁(yè)內(nèi)偏移量 就可以得到對(duì)應(yīng)的 物理地址了。efd18d22-7632-11ee-939d-92fbcf53809c.png但是 1 個(gè)進(jìn)程就需要一個(gè)頁(yè)表,一個(gè) 4G 的內(nèi)存條,就需要 1M 個(gè)頁(yè)表記錄來(lái)描述,假如 1 個(gè) 頁(yè)表記錄需要 4個(gè)字節(jié),那么就需要 4MB。而且頁(yè)表記錄是通過(guò)下標(biāo)來(lái)對(duì)應(yīng)的,通過(guò)虛擬頁(yè)號(hào)來(lái)乘以對(duì)應(yīng)的頁(yè)表項(xiàng)大小來(lái)計(jì)算得到對(duì)應(yīng)的地址的。所以 Linux 將 4M 分為 1K 個(gè) 4K, 一個(gè) 4K 對(duì)應(yīng)著一個(gè) page,用來(lái)存儲(chǔ)對(duì)應(yīng)的真正的頁(yè)表記錄。將 1K 個(gè) page 分開(kāi)存放,就不要求連續(xù)的 4M 了。如果將 4M 分成 1K 個(gè)離散的 page 的話,怎么虛擬地址對(duì)應(yīng)的頁(yè)表號(hào)呢?利用指針,存儲(chǔ) 1K 個(gè)地址,分別指向這 1K 個(gè) page, 地址的大小為 4 個(gè)字節(jié),也就是32位,完全可以表示整個(gè)內(nèi)存的地址范圍。1K * 4個(gè)字節(jié),正好是一個(gè) page 4k,所以 也就是利用 1 個(gè) page來(lái)存儲(chǔ)對(duì)應(yīng)的頁(yè)表記錄索引。所以 我們的虛擬地址尋找過(guò)程如下:1>、找到對(duì)應(yīng)的頁(yè)表記錄索引位置,因?yàn)橛?1K 個(gè)索引,所以用 10 位就可以表示了2>、通過(guò)索引可以找到對(duì)應(yīng)的真正的頁(yè)表地址,對(duì)應(yīng)的有 1K 個(gè)頁(yè)表記錄,所以用 10 位就可以表示了3>、1個(gè)頁(yè)有 4K,通過(guò) 12 位就可以表示其頁(yè)內(nèi)偏移量了。所以虛擬地址被分為了三部分:1>、10位 表示索引偏移2>、10位 表示頁(yè)表記錄偏移3>、 12位 表示頁(yè)內(nèi)偏移雖然這種方式增加了索引項(xiàng),進(jìn)一步增加了內(nèi)存,但是減少了連續(xù)內(nèi)存的使用,通過(guò)離散的內(nèi)存就可以存儲(chǔ)頁(yè)表。這是對(duì)于32位系統(tǒng),而 64 位系統(tǒng)采用了5級(jí)頁(yè)表。efd61e50-7632-11ee-939d-92fbcf53809c.png ?映射流程圖efda01aa-7632-11ee-939d-92fbcf53809c.png用戶態(tài)申請(qǐng)內(nèi)存時(shí),只會(huì)申請(qǐng)對(duì)應(yīng)的虛擬地址,不會(huì)直接為其分配物理內(nèi)存,而是等到真正訪問(wèn)內(nèi)存的時(shí)候,產(chǎn)生缺頁(yè)中斷,然后內(nèi)核才會(huì)為其分配,然后為其建立映射,也就是建立對(duì)應(yīng)的頁(yè)表項(xiàng)。

TLB

TLB 就是一個(gè)緩存,放在 CPU 中。用來(lái)將虛擬地址和對(duì)應(yīng)的物理地址進(jìn)行緩存。當(dāng)查詢對(duì)應(yīng)的物理地址的時(shí)候,首先查詢 TLB,如果TLB中存在對(duì)應(yīng)的記錄,就直接返回。如果不存在,就再去查詢頁(yè)表。

虛擬內(nèi)存

虛擬內(nèi)存 指的是 將硬盤(pán)中劃出一段 swap 分區(qū) 當(dāng)作 虛擬的內(nèi)存,用來(lái)存放內(nèi)存中暫時(shí)用不到的內(nèi)存頁(yè),等到需要的時(shí)候再?gòu)?swap 分區(qū)中 將對(duì)應(yīng)的內(nèi)存頁(yè)調(diào)入到 內(nèi)存中。硬盤(pán)此時(shí)相當(dāng)于一個(gè)虛擬的內(nèi)存。從邏輯上能夠運(yùn)行更大內(nèi)存的程序,因?yàn)槌绦蜻\(yùn)行的時(shí)候并不需要把所有數(shù)據(jù)都加載到內(nèi)存中,只需要將當(dāng)前運(yùn)行必要的相關(guān)程序和數(shù)據(jù)加載到內(nèi)存中就可以了,當(dāng)需要其他數(shù)據(jù)和程序的時(shí)候,再將其調(diào)入。相較于真正的內(nèi)存加載,虛擬內(nèi)存需要將數(shù)據(jù)在內(nèi)存和磁盤(pán)中不斷切換,這是一個(gè)耗時(shí)的操作,所以速度比不上真正的內(nèi)存加載。

總結(jié)

虛擬空間 和 物理內(nèi)存 都分為 內(nèi)核空間 和 用戶空間。虛擬地址需要通過(guò)頁(yè)表轉(zhuǎn)化為物理地址,然后才能訪問(wèn)。用戶虛擬空間 只能映射 物理內(nèi)存中的用戶內(nèi)存,無(wú)法映射到物理內(nèi)存中的內(nèi)核內(nèi)存,也就是說(shuō),用戶進(jìn)程只能操作用戶內(nèi)存。內(nèi)核空間 只能被 內(nèi)核 申請(qǐng)使用,用戶進(jìn)程只能操作用戶空間的物理內(nèi)存和虛擬空間。當(dāng)用戶進(jìn)程 調(diào)用系統(tǒng)調(diào)用的時(shí)候,會(huì)將其對(duì)應(yīng)的代碼和數(shù)據(jù)運(yùn)行在內(nèi)核空間中。所以當(dāng)調(diào)用 內(nèi)核空間 讀取文件或者網(wǎng)絡(luò)數(shù)據(jù)的時(shí)候,首先會(huì)將數(shù)據(jù)拷貝到內(nèi)存空間,然后在將數(shù)據(jù)從內(nèi)核空間拷貝到用戶空間。因?yàn)?用戶進(jìn)程不能訪問(wèn)內(nèi)核空間。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334271
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11763

    瀏覽量

    219090
  • 內(nèi)存管理
    +關(guān)注

    關(guān)注

    0

    文章

    171

    瀏覽量

    14886

原文標(biāo)題:嵌入式Linux中內(nèi)存管理詳解

文章出處:【微信號(hào):嵌入式開(kāi)發(fā)愛(ài)好者,微信公眾號(hào):嵌入式開(kāi)發(fā)愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式Linux應(yīng)用開(kāi)發(fā)詳解 光盤(pán)

    第2章,主要介紹嵌入式Linux的基本知識(shí)和如何配置嵌入式Linux開(kāi)發(fā)環(huán)境;第二篇為系統(tǒng)篇,包括第3-7章,主要介紹了uClinux操作系統(tǒng)相關(guān)的知識(shí),如任務(wù)
    發(fā)表于 06-02 10:26

    嵌入式系統(tǒng)內(nèi)存管理

    本帖最后由 VVX 于 2016-9-18 13:15 編輯 1、概述操作系統(tǒng)的內(nèi)存管理功能用于向操作系統(tǒng)提供一致的地址映射功能和內(nèi)存頁(yè)面的申請(qǐng)、釋放操作。在嵌入式實(shí)時(shí)系統(tǒng)
    發(fā)表于 09-17 19:40

    嵌入式學(xué)習(xí)路線 嵌入式學(xué)習(xí)路線詳解

    ,編寫(xiě)一個(gè)守護(hù)進(jìn)程程序,sleep系統(tǒng)調(diào)用任務(wù)管理、同步與通信Linux任務(wù)概述任務(wù)調(diào)度管道、信號(hào)共享內(nèi)存,任務(wù)管理 API,了解Linux
    發(fā)表于 03-17 18:05

    ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解

    大量讀者好評(píng)的“Linux典藏大系”的《ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解》的第2版?!?b class='flag-5'>Linux
    發(fā)表于 09-14 08:57

    嵌入式Linux內(nèi)存管理的知識(shí)

    這個(gè)內(nèi)存管理的知識(shí)點(diǎn)還真的需要我們專(zhuān)門(mén)的去理解一下,今天大家一起來(lái)學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理
    發(fā)表于 02-03 06:30

    嵌入式Linux內(nèi)存管理知識(shí)點(diǎn)

    這個(gè)內(nèi)存管理的知識(shí)點(diǎn)還真的需要我們專(zhuān)門(mén)的去理解一下,今天大家一起來(lái)學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理
    發(fā)表于 03-04 06:22

    嵌入式Linux內(nèi)存管理是什么

    點(diǎn)擊 嵌入式 Linux 內(nèi)存管理
    發(fā)表于 11-05 07:01

    ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解

    ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解,供大家參考。
    發(fā)表于 03-17 14:18 ?58次下載

    基于嵌入式Linux應(yīng)用程序開(kāi)發(fā)詳解

    基于嵌入式Linux應(yīng)用程序開(kāi)發(fā)詳解
    發(fā)表于 10-25 14:17 ?12次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應(yīng)用程序開(kāi)發(fā)<b class='flag-5'>詳解</b>

    詳解嵌入式linux 啟動(dòng)信息

    詳解嵌入式linux 啟動(dòng)信息
    發(fā)表于 10-30 10:28 ?11次下載
    <b class='flag-5'>詳解</b><b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b> 啟動(dòng)信息

    嵌入式Linux內(nèi)存管理的知識(shí)匯總

    這個(gè)內(nèi)存管理的知識(shí)點(diǎn)還真的需要我們專(zhuān)門(mén)的去理解一下,今天大家一起來(lái)學(xué)習(xí)學(xué)習(xí)嵌入式Linux內(nèi)存管理
    發(fā)表于 04-09 05:58 ?1327次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>的知識(shí)匯總

    嵌入式系統(tǒng)內(nèi)存管理機(jī)制詳解

    操作系統(tǒng)的內(nèi)存管理功能用于向操作系統(tǒng)提供一致的地址映射功能和內(nèi)存頁(yè)面的申請(qǐng)、釋放操作。在嵌入式實(shí)時(shí)系統(tǒng),
    發(fā)表于 11-18 09:41 ?5008次閱讀

    (網(wǎng)盤(pán))ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解

    (網(wǎng)盤(pán))ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解(python嵌入式開(kāi)發(fā) - csdn博客)-(網(wǎng)盤(pán))ARM嵌入式
    發(fā)表于 08-04 12:35 ?76次下載
    (網(wǎng)盤(pán))ARM<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)開(kāi)發(fā)<b class='flag-5'>詳解</b>

    嵌入式 Linux 內(nèi)存管理

    點(diǎn)擊 嵌入式 Linux 內(nèi)存管理
    發(fā)表于 11-02 10:36 ?12次下載
    <b class='flag-5'>嵌入式</b> <b class='flag-5'>Linux</b> <b class='flag-5'>中</b>的<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>

    淺談嵌入式系統(tǒng)裸機(jī)編程的內(nèi)存管理

     malloc和free在PC編程是很好用的一種內(nèi)存分配手段。但是,其在嵌入式,就未必好用了。由于嵌入式裸機(jī)編程
    發(fā)表于 09-15 10:38 ?2070次閱讀