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