getmemsize(), 1419行. 找出并计算所有可用之记忆体, 并保留 msgbuf (保留在 avail_end 後面, MSGBUF_SIZE 大小). init386(), 180
这介绍 FreeBSD 的 kernel, 目前暂不包含 SMP 的部分. 我是以我个人的想法去记录下, 当我看到 code 时脑中的想法. 如果你有什麽建议, 能让你更容易看懂, 请 mail 给我
pmap_bootstrap(), 280行. 进行 pmap module 的初始动作. 被 getmemsize 呼叫. 设定 global variable: avail_start 可用而
vm_mem_init(), 99行. 进行 vm module 的初始化. 107行, vm_set_page_size(), kern/vm_page.c, 137行. 计算一个 page 的
vm_page_startup(), 156行. vm_page module 初始化. 183-197行, 计算所有的可用记忆空间, 并挑出最大的 block. phys_avail 在 一开始
vm_object_init(), 189行. vm_object 初始化. 192行, 初始 vm_object_list_lock simple lock. 195-197行, 初始 kern
kern/init_main.c mi_startup(), 171行. 由 locore 呼叫, locore 为 kernel binary 最先被执行 的程式区段. locore 对机器环境
以下代码均在linux i86 2.0.x的内核下面测试通过。它也许可以在之前的版本通 过, 但并没有被测试过. 因为从2.1.x内核版本就引入了相当大的改变, 显著地内存 管理上的差别, 但这些
说明 第一部份: 开始到options设定之前 第二部份: 大部分的options 设定(除了SMP之外) 第三部份: SMP、软碟、主机板及IDE介面 设定 第四部份: SCSI装置 设定
1.当您kernel编失败...最明显的错误就是无法正常开机.. 这时候您所需要注意的是...错误讯息是什麽... 若是严重的错误则会出现panic的提示... 2.在开机过程中...您应该曾经