翻新时间:2023-03-25
Linux内核源代码的阅读和工具介绍
Linux内核源代码的阅读和工具介绍 Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。另外还可以从互连网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,目前最新的版本是2.2.14。
许多人对于阅读Linux内核有一种恐惧感,其实大可不必。当然,象Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那么高不可攀。只要有恒心,困难都是可以克服的。任何事情做起来都需要有方法和工具。正确的方法可以指导工作,良好的工具可以事半功倍。对于Linux 内核源代码的阅读也同样如此。下面我就把自己阅读内核源代码的一点经验介绍一下,最后介绍Window平台下的一种阅读工具。
对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,基本要求是:⑴ 操作系统的基本知识;⑵ 对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):
arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。
include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。
init 此目录包含核心启动代码。
mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下,如对应于X86的就是arch/i386/mm/fault.c 。
drivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。
ipc 此目录包含了核心的进程间通讯代码。
modules 此目录包含已建好可动态加载的模块。
fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。
kernel 主要核心代码。同时与处理器结构相关代码都放在arch/*/kernel目录下。
net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。
lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/*/lib/目录下。
下一页
下载文档
网友最新关注
- 爸爸的臭脚
- 都是馋虫惹的祸
- 离家出走的嘴巴
- 妈妈
- 读《简单道理》有感
- 和谐的春风里成长
- 认识自己
- 金窝银窝不如自已的草窝
- 秋之恋二
- 秋之恋一
- 方与圆
- 笑脸和哭脸
- 美丽的三清山
- 小闹钟
- 校园一角
- 绿色环保倡议书
- 2011年党员公开承诺书
- 教育系统个人党性分析材料
- 统计局作风建设承诺书
- 森林防火倡议书
- 孝亲敬老倡议书
- 党员干部先进性教育党性分析材料
- 高一年级创建四星承诺书
- 郊游倡议书
- 质量检测考试承诺书
- 自考服务承诺书
- 共产党员承诺书
- 捐书倡议书
- “勤俭节约,从我做起”倡议书
- 创先争优承诺书
- 基于汽车配件市场营销平台制作实训台研究
- 政治正义视角下的社会主义新农村建设
- 关于中职市场营销专业人才的培养模式
- 新经济时代企业市场营销战略新思维
- 就语言学流派来谈语言学与英语输出
- 国之瑰宝—琉璃,兼谈与料器和玻璃的区别
- 谈动画角色设计的双重性
- 术语的变异问题本文系国家社科
- 浅谈平面广告设计中“意境”之所在
- 论认知语言学与系统功能语言学对语篇连贯解释的互补性
- 浅论建立与发展社会主义市场经济相适应的市场监管机制
- 新时期民族歌剧演唱的思考和建议
- 浅谈中国特色社会主义与民主社会主义的本质区别
- 基于供应链管理的物流企业营销对策分析
- 浅析中职市场营销专业“教学工厂”建设
- 《长城》教学设计
- 《电脑住宅》教学设计
- 《给予是快乐的》教学设计
- 《猫》练习题
- 《鸟的天堂》教学设计
- 《争吵》教学设计3
- 《那片绿绿的爬山虎》教学设计
- 《母鸡》教学设计
- 《颐和园》第二课时的教学设计
- 《秦兵马俑》习题精选
- 《搭石》教学设计
- 《电脑住宅》综合资料
- 《珍珠鸟》教学实录
- 《爬山虎的脚》教学设计
- 《猫》第1课时的教学设计