- 论坛徽章:
- 11
|
本帖最后由 zylthinking 于 2010-04-02 13:36 编辑
也就是说运行库是预留内存了,但预留的是虚拟内存,不是物理内存,等到真正要用的时候还是会发生缺页中断 ...
wwdwwd 发表于 2010-04-02 13:13 ![]()
我感觉在一定程度上, 确实是没用的, 如果有用, 在两个方面:
1. 改进虚拟内存分配时的CPU时间, 比如设置页表, 4K的页面下, 申请 8K 总要设置两个页表项吧, 我提前设置, 就省了再设了
2. 内存池使用完后不调用释放函数, 那么理论上物理页面已经分配, 只要不归还操作系统, 那么操作系统只有靠页面老化算法逐渐的将老化的页面swap到硬盘上, 而这个总要有点延迟的, 而且, 大概也不会倒霉到内存池里面的页面全部被swap out吧
不好意思, 想当然了, 似乎PTE上没有reserve位, 记不清楚了, 搜了半天也没找到资料; 不管怎么说吧, 那部分虚拟内存地址空间可用这个信息总要有地方要保存的, 不是PTE也有可能是其他地方, 比如 linux 上的 vma 结构, 或者 c库难说也会用自己的算法也保留一份, 谁知道呢, 大概意思是这样的就行了 |
|