Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61354
  • 博文数量: 23
  • 博客积分: 270
  • 博客等级: 二等列兵
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-31 11:01
文章分类

全部博文(23)

文章存档

2013年(21)

2012年(2)

我的朋友

发布时间:2013-01-01 20:23:38

     对于我这样子的新手,想要搞清楚kernel module的实现机制着实不容易啊     先说一下kernel module大概是怎么一回事。说到 linux kernel大家都感觉非常牛逼的样子,可是我们却看不见摸不着,唯一能看见的是目录中有一个二进制文件vmlinuz,一般是在boot目录下,名字叫vmlinuz。这个就是最小版的linux kernel,非常的小,一是kernel本来就小,二是这还是个压缩文件。就是这个文件会被解压缩然后装载进内存,然后它实现内核的功能。可是我们想要扩展和维护内核时怎么......【阅读全文】

阅读(1094) | 评论(2) | 转发(1)

发布时间:2012-12-31 19:58:56

回想几个月前刚开始学C语言,听人说C语言有多难多难被吓得一愣一愣的,后来刚学会时感觉C语言易学难精,想能用只不过几天的事情,只有三十二个关键字而已。最近回头看了一下三十二个关键字,别有一翻滋味,其实我自己也没真正看懂三十二个关键字是怎么用的。        今天就挑几个关键字,及宏的用法,还有指针和数组名这个常见的新手绕口令来讲一讲C的基础之基础的细节。        先讲static,const,volatile,extern,这四个关键字。面向过程和面......【阅读全文】

阅读(1445) | 评论(3) | 转发(0)

发布时间:2012-12-31 15:29:34

       首先内核空间分代码区,堆栈区,全局变量区。每个内核线程还有用户进程都有一个独立的内核堆栈区,Linux内核的堆栈一般是8K,所以在写内核程序的时候一定要小心,防止函数递归的出现,递归可能导致内核堆栈溢出。其次整个内核空间共用相同的页表,所以内核堆栈的在线性空间的起始地址都是不同的(有待考证,个人暂时猜测)       先从常说的进程控制块(PCB)说起,我们知道所谓的PCB就是task_struct变量,task_struct的许多模块都需要变内核中的一些函数修......【阅读全文】

阅读(706) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册