Linux内核源代码目录结构详解

    3.1 Linux内核源代码目录如下:

        /arch:目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
  /documentation:目录下是一些文档,没有内核代码,可惜都是English的,是对每个目录作用的具体说明。
  /drivers:目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于/drivers/sound;block 下为块设备驱动程序,比如ide(ide.c)。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看/drivers/block/genhd.c中的device_setup()。它不仅初始化硬盘,也初始化,因为安装nfs文件系统的时候需要网络。其他: 如, Lib放置核心的库代码; Net,核心与网络相关的代码; Ipc,这个目录包含核心的进程间通讯的代码; Fs,所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2。
  /fs:目录存放Linux支持的文件系统代码和各种类型的文件操作代码。每一个子目录支持一个文件系统,如ext3文件系统对应的就是ext3子目录
  /include:目录包括编译核心所需要的大部分头文件,例如与平台相关的头文件在/include/linux子目录下,与intel cpu相关的头文件在/include/asm-i386子目录下,而/include/scsi目录则是有关scsi设备的头文件目录。
  /init:目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。
  /ipc:目录包含了核心进程间的通信代码。
  /Kernel:内核管理的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;同时与处理器结构相关代码都放在/arch/*/kernel目录下。
  /lib:目录包含了核心的库代码,不过与处理器结构相关的库代码被放在/arch/*/lib/目录下。
  /mm:目录包含了所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等。与具体硬件体系结构相关的内存管理代码位于/arch/*/mm目录下,例如/arch/i386/mm/Fault.c 。
  /net:目录里是核心的网络部分代码,实现了各种常见的网络协议,其每个子目录对应于网络的一个方面。
  /scripts:目录包含用于配置核心的脚本文件等
  /block:块设备驱动程序I/O调度。
  /crypto:常用加密和散列算法(如AES,SHA等),还有一些压缩和CRC校验算法。
  /security:主要包含SELinux模块。
  /sound:ALSA,OSS音频设备的驱动核心代码和常用设备驱动。
  /usr:实现了用于打包和压缩的cpio等。

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux设备驱动开发详解 4.0是一本介绍Linux设备驱动开发的书籍,它详细解释了在Linux操作系统中开发设备驱动的概念、原理和实践技巧。书中对Linux内核4.0版本的设备驱动源代码进行了详细的讲解和分析。 书中首先介绍了设备驱动的基本概念和工作原理,包括设备驱动的组成和作用、设备驱动的注册和注销、设备的初始化和释放,以及设备驱动和内核之间的通信方式等。接着,书中详细讲述了设备文件的创建和操作方法,包括设备文件和设备节点的关系、设备文件的创建和删除、设备文件的读写操作等。 在源代码解析方面,书中通过实例分析了常见的设备驱动中的各个模块和函数的作用和调用关系,如内核模块的加载和卸载、设备的注册和注销、设备的初始化和释放、设备和驱动的匹配等。同时,书中还重点讲解了设备驱动的中断处理、DMA操作、内存管理等高级技术和特性。 此外,书中还介绍了设备驱动的调试和错误处理方法,包括使用调试工具和技术,如GDB调试器、Kprobes、Ftrace等,以及如何处理设备驱动中的常见错误和异常情况,如内存泄漏、死锁、中断冲突等。 总的来说,Linux设备驱动开发详解 4.0源代码详细解析了Linux内核4.0版本中设备驱动的各个方面,包括基本概念、原理、实践技巧和高级特性等。这本书对于从事Linux设备驱动开发的人员来说是一本很好的参考资料,能够帮助他们更好地理解和应用Linux设备驱动的原理和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值