FreeBSD 4.0 Kernel Hacking Guide--vm/vm_page.
2008-02-23 08:03:09来源:互联网 阅读 ()
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 请见专文或者红皮书.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- FreeBSD 4.0 Kernel Hacking Guide--vm/vm_objec 2008-02-23
- FreeBSD 4.0 Kernel Hacking Guide--vm/vm_init. 2008-02-23
- FreeBSD 4.0 Kernel Hacking Guide--kern/init_m 2008-02-23
- FreeBSD 4.0 Kernel Hacking Guide--i386/i386/p 2008-02-23
- FreeBSD 4.0 Kernel Hacking Guide--i386/i386/m 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash