3_13_DOUBLEWEI 768*(2^22),即0xC0000000,即3072M,即3G。

转载 2012年03月14日 08:11:00

 /sys/i386/include/pmap.h中与页表相关宏值的含义

/sys/i386/include/pmap.h中定义的宏值:
94  /*
95   * Size of Kernel address space.  This is the number of page table pages
96   * (4MB each) to use for the kernel.  256 pages == 1 Gigabyte.
97   * This **MUST** be a multiple of 4 (eg: 252, 256, 260, etc).
98   */
99  #ifndef KVA_PAGES
100  #ifdef PAE
101  #define KVA_PAGES       512
102  #else
103  #define KVA_PAGES       256
104  #endif
105  #endif
106
107  /*
108   * Pte related macros
109   */
110  #define VADDR(pdi, pti) ((vm_offset_t)(((pdi) 0xffbfffff
138   */
139  #ifdef SMP
140  #define MPPTDI          (NPDEPTD-1)     /* per cpu ptd entry */ !
141  #define KPTDI           (MPPTDI-NKPDE)  /* start of kernel virtual pde's */
142  #else
143  #define KPTDI           (NPDEPTD-NKPDE)/* start of kernel virtual pde's */
144  #endif  /* SMP */
145  #define PTDPTDI         (KPTDI-NPGPTD)  /* ptd entry that points to ptd! */
KVA_PAGES是内核地址空间所占的页表页面总数,此处定义为256,因此内核地址空间的大小
    为1G字节。
VADDR是根据页表目录索引和页表索引得到对应页面的起始虚拟地址,其中pdi是页表目录索引,
    即地址在第22到31比特中的偏移,pti是页表索引,即地址在第12到21比特中的偏移。
NKPT是内核在vm系统工作之前所需的页表页面的数目。对于非PAE的i386而言,其中有18个
    页面是用来存放指向vm_page结构体的页表的。因为4G空间共有1M个页面,因此需要1M个
    vm_page结构体来组织,每个vm_page结构体的大小是72字节,一共需要72M的空间,
    即18432个页面,每个页表页面上可存储1024个页表项,因此,对应于18432个页面的页表项
    共需18个页面来存储。此处定义的30个页面中的剩余12个页面是对内核在此过程中的其它
    内存需求所需页表空间的估计量。全局变量nkpt初始化为NKPT,之后将随着内核地址空间的
    增长而递增。
NKPDE是内核所占的页表目录项的总数,对于非smp,NKPDE就是KVA_PAGES,即内核占用的页表
    页面总数,对于smp,则比KVA_PAGES少1,相当于保留了4M的空间。
MPPTDI是smp环境中用于每个cpu的页表目录项的索引,它是1024个页表目录项中的最后一个,
    表示的是地址空间中最顶端的4M空间(0xffc00000-0xffffffff),因此此处将其定义为1023。
KPTDI是第一个内核页表目录项的索引,对于smp环境,内核页表目录项的总数NKPDE是255,
    而其顶端紧邻NPPTDI,因此KPTDI就是1023减去255,即768。
PTDPTDI是指向页表目录自身所属页表页面的页表目录项的索引,页表目录的页表页面紧邻在
    第一个内核页表页面的下方,而页表目录项只占一个页表页面,因此PTDPTDI就等于768减去1,

即767。
根据上述定义,4G虚拟地址空间的页表目录项可划分如下:0 ... 766 | 767 | 768 ... 1022 | 1023 。
/sys/i386/include/param.h中定义的宏值:
77  #define PAGE_SHIFT      12              /* LOG2(PAGE_SIZE) */
78  #define PAGE_SIZE       (1
PAGE_SHIFT是页表索引在32位地址中的起始比特。
PAGE_SIZE是页面尺寸,此处定义为4096字节。
PAGE_MASK是一个低12比特全1的常量。
NPTEPG是一个页面中能够存放的页表项的数目,对于非PAE的i386而言,
    一个页表项占4个字节,因此NPTEPG为1024。
NPGPTD是页表目录所占用的页面数目,对于非PAE的情况,页表目录共需
    4*(2^10)=4096字节,即1个页面。
PDRSHIFT是页表目录索引在32位地址中的起始比特。
NBPTD是页表目录所占用的字节总数,因为NPGPTD是1,所以NBPTD就是4096。
NPDEPTD是页表目录项的总数,对于非PAE的i386而言,一个页表目录项占4个字节,
    因此NPDEPTD是1024。
NPDEPG是一个页面中存放的页表目录项的总数,即1024。
NBPDR是同属一个页表目录项的字节数目,即4M。
PDRMASK是一个低22比特全1的常量。
KERNBASE是在/sys/i386/include/vmparam.h中定义的:
142  #define KERNBASE                VADDR(KPTDI, 0)
实际上就是根据第一个内核页表目录项的索引KPTDI算出其对应的虚拟地址,
计算方法为768*(2^22),即0xC0000000,即3072M,即3G。

jquery 即点即改.......

HTML页面: 名称 价格 操作 ...
  • mkbug
  • mkbug
  • 2016年10月09日 17:12
  • 1193

即点即改

点击修改的功能实现
  • xinxinji
  • xinxinji
  • 2016年01月14日 11:11
  • 1225

【即点即改】关于PHP即点即改的一些东西

该文章为本人在学习PHP时的一些小知识,如有不足之处请指正 首先呢 ,我们知道即点即改的思路大概就是给你要修改的文本绑定一个点击click事件, 当你点击该文本的时候先把这个文本取到,然后替换成文本...
  • modi_php
  • modi_php
  • 2016年12月30日 19:44
  • 338

jQuery 即点即改

即点即改 td{ width: 200px; } ID name ...
  • qq_35278280
  • qq_35278280
  • 2016年07月16日 11:18
  • 928

读《架构即未来》

这是本介绍公司 IT 架构的书,从建立公司 IT 架构的各个方面讨论了相关内容。 如 1,人员、领导和组织的影响 2,开发的过程      开发的过程,管理故障,危机管理,生产环境,为应用发展...
  • wide288
  • wide288
  • 2017年01月20日 01:14
  • 1329

jQuery即点即改

1、给你需要修改的数据一个选择器(id或者class)都行 2、因为修改数据库时候需要ID,所以给它一个属性等于你的ID用来传值,我用的是b(这个你可以随意起名) ...
  • SunLiNanBK
  • SunLiNanBK
  • 2016年10月12日 20:41
  • 996

你不知道的那些“XX即服务”

云计算引发了一系列XX即服务的新模式,从早期的软件即服务(Saas)到现在流行的网络即服务(Naas),各种“XX即服务”的术语也让很多IT工作者觉得一头雾水,本期的信息化内参,带你全面了解各种各样的...
  • u010926964
  • u010926964
  • 2015年11月24日 17:11
  • 1692

尝试做新事情30天-阅读架构即未来-总结

尝试做新事情30天-阅读架构即未来-总结通过这几天的阅读“架构即未来”,读到了第10/30章。这时目前我的进度。本书对于做管理确实是一本不错的书,奈何提到的技术太少,甚至与没有,而且此架构非比架构。 ...
  • a291382932
  • a291382932
  • 2016年09月19日 22:04
  • 1451

php jquery实现即点即改

视图层 Document ul li {float:left;list-style: none;padding: 10px;} 插入数据|| 名称 价格 操作 @fo...
  • itgujing
  • itgujing
  • 2017年09月07日 18:12
  • 164

几种即见即所得Web编辑器优缺点比较

我说说我对我用过(了解过)的一些富文本客户端的感受,肯定不全面,希望大家补充一下,给选型的朋友一个参考。 1、ewebeditor(国产,http://www.ewebeditor.net/),...
  • sushauai
  • sushauai
  • 2016年03月21日 19:49
  • 1256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3_13_DOUBLEWEI 768*(2^22),即0xC0000000,即3072M,即3G。
举报原因:
原因补充:

(最多只允许输入30个字)