核心函式 get free page和 free

2021-08-21 15:17:21 字數 983 閱讀 8765

unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order)

功能:以gfp_mask的方式分配2^order個物理頁面

gfp_mask:分配的方式,指出如何分配在哪分配如gfp_kernel

order:分配2^order個頁面

返回值:返回分配的第乙個頁的邏輯位址

標頭檔案: #include

unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order)

unsigned long get_zeroed_page(gfp_t gfp_mask)

功能:獲得物理頁位址返回的是虛擬位址類似於__get_free_pages但此函式會將頁資料清零

gfp_mask:分配方式 gfp_kernel gfp_atomic

核心**:

unsigned long get_zeroed_page(gfp_t gfp_mask)

標頭檔案:#include

此函式申請的空間用free_pages()來釋放

void free_pages(unsigned long addr, unsigned int order)->將呼叫__free_pages()

功能:釋放邏輯位址addr開始的頁面2^order次方個

addr:頁面開始的邏輯位址

order:釋放頁面的個數2^order個

標頭檔案: #include

void free_pages(unsigned long addr, unsigned int order)}

例子如下

分配記憶體 get free page

如果模組需要分配大塊的記憶體,使用頁面的分配技術會更好一些。unsigned long get zeroed page gfp t gfp mask 返回指向新頁面的指標並將頁面清零。unsigned long get free pages gfp t gfp mask,unsigned int o...

jQuery核心函式

jquery核心函式 1.jquery expression,context 返回值 jquery 這個函式接收乙個包含 css 選擇器的字串,然後用這個字串去匹配一組元素。示例 找到所有 p 元素,並且這些元素都必須是 div 元素的子元素。html one two three jquery di...

核心函式系列

如果我們了解系統呼叫表有關知識,也已知道如何攔截系統呼叫表中的函式,那麼下面,我們再來了解一下我們要鉤取的函式 目標函式。這方面,如果我們不僅了解系統呼叫表中有哪些函式,還知道這些函式的工作機制就最好了。但實際上,ntdll.dll 中的匯出函式有好幾百個,別說乙個乙個的 就是把它們都列出來,看著看...