国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
LINUX內(nèi)核內(nèi)存管理kmalloc,vmalloc

在設(shè)備驅(qū)動(dòng)程序或者內(nèi)核模塊中動(dòng)態(tài)開辟內(nèi)存,不是用malloc,而是kmalloc ,vmalloc,釋放內(nèi)存用的是kfree,vfree,kmalloc函數(shù)返回的是虛擬地址(線性地址). kmalloc特殊之處在于它分配的內(nèi)存是物理上連續(xù)的,這對(duì)于要進(jìn)行DMA的設(shè)備十分重要. 而用vmalloc分配的內(nèi)存只是線性地址連續(xù),物理地址不一定連續(xù),不能直接用于DMA。

vmalloc函數(shù)的工作方式類似于kmalloc,只不過(guò)前者分配的內(nèi)存虛擬地址是連續(xù)的,而物理地址則無(wú)需連 續(xù)。通過(guò)vmalloc獲得的頁(yè)必須一個(gè)一個(gè)地進(jìn)行映射,效率不高, 因此,只在不得已(一般是為了獲得大塊內(nèi)存)時(shí)使用。vmalloc函數(shù)返回一個(gè)指針,指向邏輯上連續(xù)的一塊內(nèi)存區(qū),其大小至少為size。在發(fā)生錯(cuò)誤 時(shí),函數(shù)返回NULL。vmalloc可能睡眠,因此,不能從中斷上下文中進(jìn)行調(diào)用,也不能從其它不允許阻塞的情況下調(diào)用。要釋放通過(guò)vmalloc所獲 得的內(nèi)存,應(yīng)使用vfree函數(shù)

vmalloc和kmalloc的分配內(nèi)存的特點(diǎn)大概如下:

區(qū)別大概可總結(jié)為:

1,vmalloc分配的一般為高端內(nèi)存,只有當(dāng)內(nèi)存不夠的時(shí)候才分配低端內(nèi)存;kmallco從低端內(nèi)存分配。

2,vmalloc分配的物理地址一般不連續(xù),而kmalloc分配的地址連續(xù),兩者分配的虛擬地址都是連續(xù)的;

3,vmalloc分配的一般為大塊內(nèi)存,而kmaooc一般分配的為小塊內(nèi)存,(一般不超過(guò)128k);

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux內(nèi)核--內(nèi)核地址空間分布和進(jìn)程地址空間
Linux內(nèi)存管理 下
內(nèi)存觀點(diǎn)
Linux內(nèi)存管理
Linux內(nèi)存管理(三)_菜鳥學(xué)習(xí)筆記
Linux物理內(nèi)存管理概述
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服