选修了linux操作系统实验,需要编译linux的内核,从最开始的完全不懂到慢慢熟悉,问题越难,解决获得的愉悦感越多!
这里贴出实验的题目,有兴趣的可以做一下:
1、增加一个系统调用,完成加法和减法操作
测试性能,执行10000次普通运算,比较和直接加减法直接的运行时间差异
2、增加一个系统调用
插入内核模块(完成加法运算)
在系统调用中调用插入的模块
验证功能
3、修改O(1)调度算法,使其倾向于计算,程序验证
----------------------分界线-------------------------------------------
内核编译命令
make menuconfig或者make oldconfig
如果程序没有大的改动就用make oldconfig
make bzImage
make modules
make modules_install
make install
模块编译步骤
写好makefile文件
make
insmod xx.ko 插入模块
lsmod 查看模块,验证是否插入成功
rmmod xx.ko 卸载模块
分享一个链接:
http://www.kerneltravel.net/?p=80
Linux内核之旅
讲的比较详细,可以照着实践,同时也讲了原理
个人感觉,学习Linux内核不要着急,编译内核的过程比较慢,会出现各种问题,静下心来,独立去解决。虽然要比问别人慢很多,可是理解会非常深刻。我的观点是:先自己思考,然后百度,实在搞不定再请教别人,一般到第二部都能解决,通过搜索引擎解决问题比较普遍,但有一点技巧,可以看看Google Hack相关的书籍,学会如何查东西,快速的找到自己想要的。