Linux内核源码的组织结构
来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:54:35
Linux内核作为一个特殊的程序,同样需要经过编译、链接之后才能运行,仅仅是它执行时拥有特殊的权限,位于特定的空间,并且不会也不可能信赖其他的软件罢了。
Linux发展至今,其内核的组织结构日渐清晰,层次日渐分明。一旦基本系统安装完毕,具有系统管理员权限的用户即可编译内核。一般来说,Linux系统内核的源码放置在/usr/src/linux目录下,它将依赖于体系结构的代码和独立于体系结构的代码分离开来(前者仅占5%,通常是一些汇编代码和局部的、针对于不同体系结构的局部处理细节,如时钟定时器频率)。
为了让读者更好地理清内核结构,下面列出了几个重要的源码目录:
arch目录 该目录的存放具体地依赖于体系结构实现的代码。在这个目录下,针对不同体系结构所移植的版本都有三个子目录:kernel、lib和mm。kernel子目录包含依赖于体系结构实现的一般内核功能,例如信号处理、时钟处理等。lib子目录包含库函数的本地实现,如果从依赖于体系结构的源码编译,则运行得更快。mm子目录包含存储管理实现的代码。
drivers目录 这个目录拥有50%以上的内核源码,所有的驱动程序源码均位于该目录之下。
fs目录 该目录存放所有的系统支持的文件系统的实现代码。
include目录 一些重要的头文件。
ipc目录 处理进程间通信的全部所需的代码都放在ipc目录下。
init目录 该目录存放所有系统的初始化代码,许多重要的文件,例如main.c就位于该目录下。该文件还包含了许多核心代码--比如实现fork()的代码和最常执行的代码--cpuidle()循环。
lib目录 该目录放置内核其他部分经常所需要的代码。例如,inflate.c就放在这里,它能够在引导时解压内核并装入内存,它也知道如何解压标准PKZIP 8位压缩算法。
kernel目录 许多最常调用的内核函数放在该目录下。调度器fork()和timer.c就放在这里。你还能在这个目录下找到printk.c。
mm目录 该目录包含所有Linux实现虚拟内存管理的源码。
net目录 所有提供网络支持的代码都放在这个目录下。
Document目录 该目录存放了大量的内核代码相关文档,以及用户开发和维护手册。
Linux发展至今,其内核的组织结构日渐清晰,层次日渐分明。一旦基本系统安装完毕,具有系统管理员权限的用户即可编译内核。一般来说,Linux系统内核的源码放置在/usr/src/linux目录下,它将依赖于体系结构的代码和独立于体系结构的代码分离开来(前者仅占5%,通常是一些汇编代码和局部的、针对于不同体系结构的局部处理细节,如时钟定时器频率)。
为了让读者更好地理清内核结构,下面列出了几个重要的源码目录:
arch目录 该目录的存放具体地依赖于体系结构实现的代码。在这个目录下,针对不同体系结构所移植的版本都有三个子目录:kernel、lib和mm。kernel子目录包含依赖于体系结构实现的一般内核功能,例如信号处理、时钟处理等。lib子目录包含库函数的本地实现,如果从依赖于体系结构的源码编译,则运行得更快。mm子目录包含存储管理实现的代码。
drivers目录 这个目录拥有50%以上的内核源码,所有的驱动程序源码均位于该目录之下。
fs目录 该目录存放所有的系统支持的文件系统的实现代码。
include目录 一些重要的头文件。
ipc目录 处理进程间通信的全部所需的代码都放在ipc目录下。
init目录 该目录存放所有系统的初始化代码,许多重要的文件,例如main.c就位于该目录下。该文件还包含了许多核心代码--比如实现fork()的代码和最常执行的代码--cpuidle()循环。
lib目录 该目录放置内核其他部分经常所需要的代码。例如,inflate.c就放在这里,它能够在引导时解压内核并装入内存,它也知道如何解压标准PKZIP 8位压缩算法。
kernel目录 许多最常调用的内核函数放在该目录下。调度器fork()和timer.c就放在这里。你还能在这个目录下找到printk.c。
mm目录 该目录包含所有Linux实现虚拟内存管理的源码。
net目录 所有提供网络支持的代码都放在这个目录下。
Document目录 该目录存放了大量的内核代码相关文档,以及用户开发和维护手册。
Linux内核源码的组织结构
新爆内核高危漏洞sock_sendpage的利用分析的讨论 - 内核源码 - Linux论...
Linux 内核软中断执行分析|Linux,内核,软中断,softirq,分析,编程-中国源码网
开发人员不容错过的13篇的技术经典文章 , 子系统,结构,linux内核,J2EE,Ajax, ,
linux内核的一些预定义 - linux内核与驱动
Linux 系统内核的调试
何把内核中的信息打印到文件 - 内核源码 - Linux论坛
开发人员不容错过的13篇的技术经典文章 , 子系统,结构,linux内核,J2EE,Ajax, , - CSDN 新闻
Linux的目录结构
转载--Linux 可加载内核模块剖析 - linux内核 - 开源linux.巨人的脚步...
使用 Linux 系统调用的内核命令
Linux 内核使用的 GNU C 扩展
Linux 2.6 内核的精彩世界
linux内核空间与用户空间信息交互方法 - 内核基础 - 我们的内核 - Powered...
组织结构诊断的根基
ChinaUnix.net - 写给Linux内核新手-关于Linux内核学习的误区 - 中国Unix技术社区
[原创] 写给Linux内核新手-关于Linux内核学习的误区 - ChinaUnix.n...
Linux内核的文件预读,Linux技术文章,Linux系列教程,Linux
Linux内核的文件预读2,Linux技术文章,Linux系列教程,Linux
Linux内核的文件预读3,Linux技术文章,Linux系列教程,Linux
Linux 内核编程风格
Linux内核Makefile文件
Linux编译内核
Linux 内核剖析