本文主要介紹kmalloc和malloc區(qū)別(vmallocchunk),下面一起看看kmalloc和malloc區(qū)別(vmallocchunk)相關(guān)資訊。
kmalloc函數(shù)返回一個(gè)虛擬地址(線性地址)。kmalloc的特殊之處在于,它分配的內(nèi)存是物理連續(xù)的,這對(duì)于dma設(shè)備非常重要。但是vmalloc分配的內(nèi)存只是線性連續(xù)的,物理地址不一定是連續(xù)的,所以不能直接用于dma。
vmalloc函數(shù)的工作方式與kmalloc類似,只是前者分配的虛擬地址是連續(xù)的,而物理地址不需要連續(xù)。通過(guò)vmalloc獲取的頁(yè)面必須一一映射,效率很低。因此,
僅在必要時(shí)使用(通常是為了獲得大量?jī)?nèi)存)。函數(shù)的作用是:返回一個(gè)指針,指向一個(gè)邏輯上連續(xù)的內(nèi)存區(qū)域,其大小至少為。發(fā)生錯(cuò)誤時(shí),函數(shù)返回null。vmalloc可能會(huì)休眠,因此,
它不能從中斷上下文或其他不允許阻塞的情況下調(diào)用。要釋放通過(guò)vmalloc獲得的內(nèi)存,請(qǐng)使用vfree函數(shù)。
vmalloc和kmalloc的分配內(nèi)存的特征如下:
區(qū)別大致可以是總結(jié)是:
1.vmalloc一般分配高端內(nèi)存,內(nèi)存不夠的時(shí)候才分配低端內(nèi)存;kmallco從低端內(nèi)存分配。
2.vmalloc分配的物理地址一般是不連續(xù)的,而kmalloc分配的是連續(xù)的,兩者分配的虛擬地址都是連續(xù)的;
3.vmalloc一般分配大塊內(nèi)存,kmaooc一般分配小塊內(nèi)存(一般小于128k);
大白菜u盤(pán)啟動(dòng)盤(pán)制作工具教程視頻(大白菜啟動(dòng)u盤(pán)怎么制作)
飛機(jī)上有4g網(wǎng)絡(luò)嗎(飛機(jī)上有4g網(wǎng)絡(luò)嗎安全嗎)
ns高達(dá)g世紀(jì)火線縱橫開(kāi)荒(sd高達(dá)g世紀(jì)火線縱橫開(kāi)荒機(jī)體)
電腦qq的厘米秀在哪里可以找到(qq厘米秀網(wǎng)頁(yè)版)
電腦電源那邊是開(kāi)關(guān)(電腦的開(kāi)關(guān)在哪)
kmalloc和malloc區(qū)別(vmallocchunk)
如何分割硬盤(pán),電腦怎么劃分硬盤(pán)
a59s內(nèi)存卡怎么安裝,oppo a59s怎么裝內(nèi)存卡
win10控制面板卸載程序在哪(windows10控制面板卸載軟件)
怎么把快手視頻下載到電腦(快手怎樣下載到電腦上)
可以免費(fèi)升級(jí)win10(win10可以免費(fèi)升級(jí)win11)
blob.1是什么文件(blob.0是什么文件)
word2007怎么截長(zhǎng)圖(win7截長(zhǎng)圖怎么弄)
msn的郵箱要怎么登錄(msn郵箱登陸登錄入口)
向日葵免費(fèi)版可以用多久(向日葵能免費(fèi)使用嗎)
如何關(guān)閉win7無(wú)線網(wǎng)絡(luò)連接(win7怎么關(guān)閉wifi)
分卷壓縮解壓步驟(分卷壓縮怎么解壓改什么后綴)
6plus丟了怎么找回來(lái),蘋(píng)果6plus丟了怎么找回聯(lián)系人
抖音里的我和我的祖國(guó)怎么制作(抖音我和我的祖國(guó)視頻怎么制作)
教你解除手機(jī)鎖屏密碼,手機(jī)忘記密碼怎么解鎖最簡(jiǎn)單方法