随笔分类 - linux内核
摘要:Linux内核代码 结构体初始化2011-01-24 20:40出处:中国IT实验室作者:佚名【我要评论】[导读]在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。 在阅读GNU/Linux内核代码时,我们会遇到一种特...
阅读全文
摘要:本文会记录一些linux内核实现中使用到的一些小技巧,工具等等,会根据学习进度不定时更新本文......双向循环链表 第一个想写的是linux的双向循环链表(写这个的原因是因为最近学习epoll的内核代码实现,进而需要了解linux的等待队列,这其中也用到了双向循环链表,稍后也会分析linux的等...
阅读全文
摘要:内核链表使用--删除链表节点当我们使用遍历的方法来删除链表时:list_for_each(pos, &student_list){ list_del(pos); } list_for_each(pos, head)这个宏定义是用来遍历链表的,通过其第一个参数pos来删除链表节点...
阅读全文
摘要:[转]kmalloc, vmalloc分配的内存结构 对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。 进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地...
阅读全文
摘要:32位cpu 地址线扩展成了32位,这和数据线的宽度是一致的。因此,在32位机里其实并不需要采用"物理地址=段:偏移"这种地址表达方式。原来在16位机里规定的每一个段不大于64kb在32位机里也不是必要的。所以,对于32位机来讲,最简单的方法就是用一个32位数来标识一个字节的存储地址,寻址时只要给出...
阅读全文

浙公网安备 33010602011771号