ChinaUnix.net
相关文章推荐:

内核源代码情景分析

刚看到本版还能下载到这本书,很感慨啊!!!太经典了! 只可惜毛教授要去当老板了,现在也不更新了,书太老了,现在3.7.0很多内核的机制和函数都改的面目全非了。还记得当年秉烛夜读此书的情景!第一次就给毛教授了:mrgreen: ,并向毛老致敬!!

by uliux - 内核源码 - 2013-04-26 09:46:20 阅读(2693) 回复(11)

相关讨论

再看《linux内核源代码情景分析》(毛德操,胡希明著上册)这本书,在252页,看到“就是说,如果内核能够在一个“异常表“中找到发生异常的指令所在的地址,并得到相应的”修复“地址fixup,就将CPU在异常返回后将要重新执行的地址替换成这个”修复”地址。为什么要这样做呢?因为在这种情况下内核不能为当前进程补上一个页面(那样的话name所指的字符串就变成空白了)。”这一小段时,实在是不能理解最后一句话(因为在这种情况下...

by 栏外人27 - 内核源码 - 2013-10-10 17:31:01 阅读(1241) 回复(4)

本帖最后由 fireaway7 于 2014-05-11 16:34 编辑 第2章 2.4节需要理解的点: *缺页异常产生的3个原因:线性地址与物理地址还没建立映射或已经撤消、物理页面已离开内存、访问权限不对 *asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code); // regs: 异常时的各种寄存器值,error_code:映射失败具体原因 a. 进入do_page_fault()的具体过程,学习“中断和异常”章节 b. 将引起缺页的地址写入CR2...

by fireaway7 - 内核源码 - 2014-05-11 16:33:04 阅读(1049) 回复(0)

第2章 2.3节需要理解的点: *重要数据结构:http://bbs.chinaunix.net/thread-4137565-1-1.html ***** 物理空间管理(描述系统“可供”,struct_page、zone_struct、pglist_data结构) ***** *地址映射过程中,Linux内核做了什么、CPU做了什么 内核设置好PGD、PT、GDT、LDT等相关寄存器,CPU就能找到最终地址(木偶(CPU),木偶身上的线(寄存器),通过操作线,能使木偶做出不同的动作) *pte_t、pmd_t、pgd_t定义成结构,类型检...

by fireaway7 - 内核源码 - 2014-05-10 15:36:44 阅读(995) 回复(0)

本帖最后由 fireaway7 于 2014-05-11 14:47 编辑 第2章 2.3节重要数据结构归纳(缺注释的成员含义,等搞明白不断添加,请知道的朋友给个提示,也请指出不对的地方): a. 每个物理页面都有一个page结构: typedef struct page { struct list_head list; // 链入管理区zone_t的空闲区域free_area[x].free_list struct address_space *mapping; // 记录内存页面与磁盘文件的映射关系(mma...

by fireaway7 - 内核源码 - 2014-05-06 16:30:15 阅读(1205) 回复(0)

第2章 2.2节需要理解的点: *页式存储管理相对于段式存储管理的好处:大小固定,方便管理;换出到磁盘时,提高效率 *i386既有段式存管,又有页式存管,是因为他在支持页式的时候,段式已经存在相当长时间了,为了保留已有资源,Linux内核作为软件要面对他,也只能跟着多此一举,只能“服从”,实际上是“欺骗” *通过“Hello world!\n”程序熟悉地址映射全过程 a. ld为elf格式可执行代码从0x8000000开始安排代码段,运行时用内核...

by fireaway7 - 内核源码 - 2014-05-06 10:56:26 阅读(877) 回复(0)

本帖最后由 fireaway7 于 2014-05-06 09:19 编辑 第2章 2.1节需要理解的点: *线性地址->物理地址,经过页面目录和页面表两层映射,可以节省页面表所占用的空间(相当于可以装1L水的桶和可以装10ml的100个杯子,大部分时候我们外出是不会带1L水的) *Linux内核的MMU采用三层映射(页面目录PGD、中间目录PMD、页面表PT,最终找到PTE),因为他面对的不仅仅是32位CPU,可能还有64位的(相当于公司规模越大,层次越多) *三层映射...

by fireaway7 - 内核源码 - 2014-05-08 19:52:03 阅读(913) 回复(4)

本帖最后由 fireaway7 于 2014-05-05 13:00 编辑 第1章需要理解的点: 1.2 80286 *分段方法的由来:cs*16+offset->20位地址 *实地址(相同地址在不同进程所指向的地方一样)、虚拟地址(不同进程里相同的进程,指向的地方并不一样) *CS:代码段,DS:数据段,SS:堆栈段,ES:扩展数据段,FS:标志段,GS:全局段 *80386维持已有段寄存器、支持实地址、支持保护模式,保护模式没有完全另搞一套,而建立在段寄存器基础上,“|-描述项...

by fireaway7 - 内核源码 - 2014-05-05 12:51:58 阅读(922) 回复(0)

之前发过一个类似的帖子,将初稿上载了上来,得到某些网友的认可,在下十分荣幸。 现在上载的这个版本是为方便大家理解,重新将书的结构调整了一下,供像我一样对Linux内核感兴趣的读者参考。 对于书中的错别字,还请诸位见谅! 书中分析的是1.2.13版本,共894页,选择早期版本的原因我想研究过Linux内核代码的读者会理解的。 本书详细分析了网络栈各层的实现,便于读者从整体上掌握网络栈的实现,以避免“一叶障目”的局面。 下...

by ingdxdy - Linux系统管理 - 2012-01-04 07:37:19 阅读(5673) 回复(13)

因为新书太贵, 只好向兄弟们求二手书.书面干净些, 希望没有批注 msn : [email]xubai3000@avl.com.cn[/email] 我在北京,也直接受北京朋友交易.我在大望路附近,工作, 加载顺义.哪位朋友想卖联系我

by xubai - 二手交易 - 2009-06-24 13:10:55 阅读(2849) 回复(4)

《 Linux内核完全注释 》与《 Linux内核源代码情景分析 》(上下册) 简单分析比较 作者:赵炯   就两本书的大致情况来看,《情景分析》一书是原浙江大学的毛德操等人所著,是完全由一些计算机专业的科班人士所写,因此作者都具有较高的计算机专业知识。该书让人一上来感到比较畏惧的地方在于其篇幅上(上下两册,共1587页)。它主要详细描述了Linux 2.4.0内核。由于目前的内核代码量实在太巨大,即使用了这样的篇幅也只能挑选L...

by xiaojianredhat - Linux文档专区 - 2006-03-18 01:19:56 阅读(985) 回复(0)