- 关 键 词:
- freebsd
vm_page_startup(), 156行. vm_page module 初始化.
183-197行, 计算所有的可用记忆空间, 并挑出最大的 block. phys_avail 在
一开始 locore.c 的初始阶段就设定. phys_avail 为可用之 physical
memory block list, 由 getmemsize(), i386/i386/machdep.c, 1419行
, 计算所得.
206行, vm_page_queue_init(), 104行, 初始 vm_page_queues.
222-248行, 初始 hash table buckets(vm_page_buckets), 用以快速
从 object/offset pair 对应成 vm_page.
vm_page_buckets
vm_page_bucket_count
256-283行, allocate vm_page_array, 为每一个可用的 page 设置一
个 vm_page. phys_avail 为所有可用 mem block list,
vm_page_array 大小则由 phys_avail 决定. 所有 block 的
(最大的记忆体位址 - 最小位址)/PAGE_SIZE 即为 vm_page 的数目.
vm_page_array 所有 vm_page 组成的 array.
vm_page_array_size vm_page_array 的长度.
first_page 第一个 vm_page 对应 page 的 physical
page address (address/PAGE_SIZE)
291-310行, 把所有的 vm_page 加入 free queue(in vm_page_queues).
关於 vm_page_queues 请见专文或者红皮书.文章地址: http://www.qqread.com/freebsd/s224825.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- FreeBSD系统安全管理 (8637篇文章)
- FreeBSD使用教程 (6512篇文章)
- Freebsd频道 (695篇文章)
- Freebsd开发/调试 (69篇文章)
- 拿刀砍才能进freebsd系统的修复方法 (311次浏览)
- FreeBSD下构建安全的Web服务器 (122次浏览)
- FreeBSD 5内核源代码分析之系统调用过程 (108次浏览)
- freebsd5.0kde中文界面设置 (85次浏览)
- FreeBSD Qmail安装Howto (81次浏览)
- FreeBSD handbook中文版 10 安全 (77次浏览)
- FreeBSD的Loader和内核初始化 (68次浏览)
- freebsd mount挂载iso (66次浏览)



