• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > linux內存管理理解

    linux內存管理理解

    作者: 時間:2016-09-12 來源:網絡 收藏

    slab/kmalloc/vmalloc都是內核分配虛擬地址空間的方法,不是物理地址的方法

    本文引用地址:http://www.czjhyjcfj.com/article/201609/304178.htm

    get_free_page/allocate_page這些都是內核分配物理空間的,但是最終又要重新映射為虛擬地址空間vremap

    用戶態的虛擬地址空間的分配是new/malloc,最終都是要到內核去分配

    高速緩存

    它保存的是虛擬地址到指令或者數據的映射關系,不是物理地址到指令和數據的映射

    TLB

    它保存的是虛擬地址到物理地址的轉換的緩存,也就是MMU轉換的緩存

    這其中它可能采用的是組關聯,全關聯等映射方法

    頁表

    內核頁表和進程頁表,在系統有很大的內存的時候,不可能采用一級頁表,否則頁表占用的頁的數量太多,而且不一定都使用到,所以采用了多級頁表,類似段頁,linux常用的是3級頁表。



    關鍵詞: Linux 內存管理

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 曲沃县| 吉隆县| 新民市| 临沧市| 外汇| 汾西县| 饶阳县| 庆云县| 易门县| 沾化县| 富民县| 武夷山市| 株洲县| 石屏县| 达日县| 白银市| 巨野县| 铜梁县| 佳木斯市| 阳曲县| 仲巴县| 茂名市| 吉木萨尔县| 论坛| 日照市| 赣榆县| 高州市| 延长县| 牟定县| 昌平区| 牟定县| 门头沟区| 博罗县| 临海市| 莫力| 民勤县| 安宁市| 河津市| 南靖县| 曲麻莱县| 绥化市|