亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

inux內存分配方法解析

2020-10-14 22:38:10
字體:
來源:轉載
供稿:網友

  內存映射結構:

  1、32位地址線尋址4G的內存空間,其中0-3G為用戶程序所獨有,3G-4G為內核占有。

  2、struct page:整個物理內存在初始化時,每個4kb頁面生成一個對應的struct page結構,這個page結構就獨一無二的代表這個物理內存頁面,并存放在mem_map全局數組中。

  3、段式映射:首先根據代碼段選擇子cs為索引,以GDT值為起始地址的段描述表中選擇出對應的段描述符,隨后根據段描述符的基址,本段長度,權限信息等進行校驗,校驗成功后。cs:offset中的32位偏移量直接與本段基址相累加,得出最終訪問地址。

  0-3G與mem_map的映射方式:

  因linux中 采用的段式映射為flat模式,所以從邏輯地址到線性地址沒有變化。從段式出來進入頁式,每個用戶進程都獨自擁有一個頁目錄表(pdt),運行時存放于 CR3。  CR3(頁目錄) + 前10位 =>  頁面表基址 + 中10位 => 頁表項 + 后12位 => 物理頁面地址

  3G-4G與mem_map的映射方式:

  分為三種類型:低端內存/普通內存/高端內存。

  低端內存:3G-3G+16M 用于DMA        __pa線性映射

  普通內存:3G+16M-3G+896M           __pa線性映射 (若物理內存<896M,則分界點就在3G+實際內存)

  高端內存:3G+896-4G                采用動態的分配方式

  4、高端內存(假設3G+896為高端內存起址)

  作用:訪問到1G以外的物理內存空間。

  線性地址共分為三段:vmalloc段/kmap段/kmap_atomic段(針對與不同的內存分配方式)

  從內存分配函數的結構來看主要分為下面幾個部分:

  a.伙伴算法(最原始的面向頁的分配方式)

  alloc_pages 接口:

  struct page * alloc_page(unsigned int gfp_mask)--分配一頁物理內存并返回該頁物理內存的page結構指針。

  struct page * alloc_pages(unsigned int gfp_mask, unsigned int order)--分配 個連續的物理頁并返回分配的第一個物理頁的page結構指針。

  <釋放函數:__free_page(s)>

  內核中定義:#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)

  最終都是調用 __alloc_pages.

  其中MAX_ORDER 11,及最大分配到到頁面個數為2^10(即4M)。

  分配頁后還不能直接用,需要得到該頁對應的虛擬地址:

  void *page_address(struct page *page);

  低端內存的映射方式:__va((unsigned long)(page  -  mem_map)  <<  12)

  高端內存到映射方式:struct page_address_map分配一個動態結構來管理高端內存。(內核是訪問不到vma的3G以下的虛擬地址的) 具體映射由kmap / kmap_atomic執行。

  get_free_page接口:(alloc_pages接口兩步的替代函數)

  unsigned long get_free_page(unsigned int gfp_mask)

  unsigned long __get_free_page(unsigned int gfp_mask)

  Unsigned long __get_free_pages(unsigned int gfp_mask, unsigned int order)

  <釋放函數:free_page>

  與alloc_page(s)系列最大的區別是無法申請高端內存,因為它返回到是一個線性地址,而高端內存是需要額外映射才可以訪問的。

  b.slab高速緩存(反復分配很多同一大小內存)   注:使用較少

  kmem_cache_t* xx_cache;

  創建: xx_cache = kmem_cache_create(“name”, sizeof(struct xx), SLAB_HWCACHE_ALIGN, NULL, NULL);
(責任編輯:VEVB)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91中文在线视频| 欧美肥臀大乳一区二区免费视频| 欧美丰满老妇厨房牲生活| 久久精品青青大伊人av| 亚洲第一偷拍网| 久久久精品久久| 九九九久久国产免费| 国产精品久久久久久久一区探花| 欧美人交a欧美精品| 91香蕉嫩草神马影院在线观看| 91av福利视频| 91精品国产乱码久久久久久蜜臀| 亚洲精品按摩视频| 91豆花精品一区| 精品无人区太爽高潮在线播放| 成人动漫网站在线观看| 精品中文字幕久久久久久| 欧美精品videosex牲欧美| 88国产精品欧美一区二区三区| 欧美精品18videosex性欧美| 欧美噜噜久久久xxx| 日韩电影大片中文字幕| 青青久久av北条麻妃黑人| 一区二区三区美女xx视频| 国产精品久久久久久久久影视| 欧美日韩成人在线播放| 亚洲免费视频在线观看| 97香蕉超级碰碰久久免费软件| 久久全球大尺度高清视频| 久久影院免费观看| 欧美视频一二三| 久久久久久噜噜噜久久久精品| 国产精品99免视看9| 欧美老女人性视频| 亚洲成人免费网站| 中文字幕精品一区久久久久| 91啪国产在线| 亚洲第一精品福利| 日韩在线不卡视频| 欧美一区二区影院| 成人信息集中地欧美| 国产91精品网站| 欧美电影院免费观看| 亚洲国产精品人久久电影| 色综合伊人色综合网| 精品高清一区二区三区| 色偷偷噜噜噜亚洲男人| 欧美日韩亚洲视频| 亚洲天堂av综合网| 26uuu日韩精品一区二区| 欧美日韩福利电影| 欧美视频专区一二在线观看| 日日狠狠久久偷偷四色综合免费| 日本不卡免费高清视频| 亚洲国产精品人人爽夜夜爽| 亚洲精品国精品久久99热一| 日韩中文在线中文网在线观看| 萌白酱国产一区二区| 亚洲免费一级电影| 国产一区二区丝袜高跟鞋图片| 成人黄色网免费| 欧美性猛交xxxx免费看漫画| 精品中文字幕在线2019| 中文字幕日韩欧美精品在线观看| 亚洲va久久久噜噜噜| www.欧美精品一二三区| 国产99久久精品一区二区 夜夜躁日日躁| 日韩在线观看成人| 亚洲激情国产精品| 岛国视频午夜一区免费在线观看| 国产一区二区三区丝袜| 亚洲成人中文字幕| 亚洲激情 国产| 97视频在线观看网址| 一本色道久久综合狠狠躁篇怎么玩| 久久久综合av| 欧洲亚洲免费在线| 精品视频在线导航| 日韩视频在线免费| 国产精品久久久999| 91国产在线精品| 国产精品成av人在线视午夜片| 欧美一级大胆视频| 亚洲激情视频在线观看| 日韩av手机在线观看| 欧美亚洲伦理www| 亚洲97在线观看| 国产精品网红直播| 欧美大胆在线视频| 日韩中文字幕在线免费观看| 国产精品亚洲欧美导航| 国产精品久久久久99| 日韩有码在线视频| 神马国产精品影院av| 欧美精品一区在线播放| 日韩av免费在线播放| 欧美日韩免费区域视频在线观看| 国产精品黄色影片导航在线观看| 日韩中文娱乐网| 国产亚洲福利一区| 亚洲夜晚福利在线观看| 91精品视频观看| 日韩成人在线免费观看| 136fldh精品导航福利| 全色精品综合影院| 国产日韩中文字幕在线| 国产精品网站入口| 欧美成人精品在线观看| 国产精品久久久久久久久久三级| 久久久97精品| 国产精品久久久久久亚洲调教| 136fldh精品导航福利| 日本精品久久久久久久| 精品亚洲一区二区三区四区五区| 亚洲高清福利视频| 国产精品亚洲综合天堂夜夜| 中文字幕亚洲二区| 欧美激情成人在线视频| 成人av.网址在线网站| 欧美老女人bb| 91精品视频在线| 成人中心免费视频| 亚洲大胆美女视频| 久久人人爽国产| 久久久久久久激情视频| 国产精品视频999| 亚洲国产精品国自产拍av秋霞| 欧美日韩国产页| 国产高清在线不卡| 久久免费视频在线| 成人午夜在线观看| 国产精品久久久久av免费| 中文字幕视频一区二区在线有码| 色综合天天狠天天透天天伊人| 国产伊人精品在线| 国产一区二区香蕉| 久久久久久久久久国产| 日韩电影大片中文字幕| 亚洲美女av在线播放| 日韩欧美a级成人黄色| 97久久伊人激情网| 久久久久久有精品国产| 亚洲最大av网站| 欧美一区二区.| 国语自产精品视频在线看| 国产日韩视频在线观看| 超碰97人人做人人爱少妇| 97人洗澡人人免费公开视频碰碰碰| 久久久久99精品久久久久| 日韩精品免费观看| 97人人模人人爽人人喊中文字| 国产在线精品成人一区二区三区| 黄网站色欧美视频| 亚洲精品91美女久久久久久久| 岛国av一区二区三区| 久久久99久久精品女同性| 久久久精品国产| 亚洲国产精品va在看黑人| 久久久www成人免费精品张筱雨| 日韩精品在线私人| 亚洲91精品在线| 91sao在线观看国产| 中文字幕亚洲一区二区三区五十路| 亚洲性av在线|