专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
  物理内存通过结构体vm_page_t以页为基础进行管理物理内存页由它们各自对应结构体vm_page_t所代表这些结构体存放在若干个页管理队列中个里面 页可以处于穿线(wired)、活动(active)去活(inactive)、缓存Cache(cache)、自由(free)状态 除了穿线状态页般被放置在个双向链表队列里代表了它所处状态穿线页不放置在任何队列里  FreeBSD为缓存Cache页和自由页实现了个更为复杂页队列机制以实现对页分类管理每种状态都对应着多个队列队列安排对应着处理器级、 2级缓存Cache当需要分配个新页时 FreeBSD会试图把个按 [阅读全文] [PDF]
申请大容量物理内存看起来不是难事这里大容量是指几十MB甚至更多物理内存对于C员来说可能平时习惯了使用""操作符来实现我也是这样使用""非常简单申请之后只需判断返回指针是否是空即可在其它Windows操作系统上确不需要在申请大容量物理内存上过多考虑但是在Windows CE上就不同了如果只用""就能搞定那就太省事了  不知道Windows CE下软件开发者是否遇到过这种情况如果使用""申请超过30MB物理内存那么返回定是空(NULL)甚至会死锁无法响应这其实不奇怪在Windows CE下进程、线程和内存管理系列文章中我早有所言Windows CE下每个进程占有32MB地址空间虽然Slot 1槽存 [阅读全文] [PDF]
=tf width="98%" align=center border=0>=bw width="100%">=htd id=font_word style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-ser">物理内存组织6FXfbaiducukHc8Linux 2.4.x添加了对NUMA(Non-Unorm Memory Architecture)支持从上到下依次是节点(node)-管理区(zone)-页面(page)三个层次6FXfbaiducukHc8最上层是物理节点 [阅读全文] [PDF]
在网上查资料时看到几篇介绍 driver 编写文章其中提到 kmalloc和 __get_free_page返回地址问题我们都知道 kmalloc 和 __get_free_page 分配是物理内存但它返回到底是什么?那几篇有关驱动编写文章中提到申请是物理地址返回依然是物理地址但有篇文章中作者 对此提出了质疑但没有给出答案这也就是我写这篇笔记原因在找答案同时也将 kernel 分配物理内存流程做了下分析这仅是篇笔记写比较乱自己能看懂就行了 这里只分 [阅读全文] [PDF]
1 共4条 分1页