嵌入式 Linux内核源代码目录结构分析

原创 2013年12月02日 14:40:40
前段时间更新3.1的内核时,发现里面究竟是什么东东都不知道,小研究了下,与大家分享如下:
  下面我们来了解一下Linux内核源代码所包含的目录:
  /arch:目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是IntelCPU及与之相兼容体系结构的子目录。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子目录下,与intelcpu相关的头文件在/include/asm-i386子目录下,而/include/scsi目录则是有关scsi设备的头文件目录
  /init:目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。
  /ipc:目录包含了核心进程间的通信代码
  /Kernel:内核管理的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;同时与处理器结构相关代码都放在/archlib/目录下
  /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等。

相关文章推荐

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

3.1 Linux内核源代码目录如下:         /arch:目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU...

Linux内核源代码目录结构

Linux2.6.35.7 内核源代码文件的目录结构

linux内核完全注释---学习札记--linux内核源代码目录结构

linux0.11 目录结构 main.c 内核程序主目录kernel Makefile文件 基本编译连接/组合结构 ...

linux 内核源代码目录结构

进入linux源代码目录,会看到若干子目录和文件。现代操作系统一般由进程管理,内存管理,文件系统,驱动程序和网络协议栈组成。     arch : 包含了所有和体系结构相关的核心代码。它下面的每个...

Linux内核源代码顶层目录下的Makefile文件分析一

Linux内核源代码顶层目录下的Makefile文件分析,结合O'Reilly出版社的Linux书籍分析。 VERSION = 2 # 给变量VERSION赋值 PATCHLEVEL =...

linux内核源码总览之一---------源代码目录结构说明

转载自:http://www.360doc.com/content/13/0410/17/7044580_277403053.shtml Linux源代码目录结构说明  系统核心组...

linux源代码目录结构、linux内核模块

基本概念:在内核中添加程序需要完成下面3个步骤; 将编写的源代码copy到相应的目录;在kconfig中添加新添加源代码的编译配置选项;(让用户选择是否编译)在makefile中添加新添源代...

段式、页式内存管理--学习《Linux内核源代码情景分析》第一章

不得不说《Linux内核源代码情景分析》这本书被那么多人当作经典是有原因的,这里只是该书的笔记远不及毛老师描述的清楚。     这里对第一章做一个总结,主要讲的是段式和页式内存管理,当然还有一些其他东...

Linux内核源代码目录树结构介绍

Linux内核源代码目录树结构介绍 余超  yuchao86@gmail.com 对于初学者来说,要阅读LINUX内核源代码是件很复杂,很头疼的事,六七十MB的源代码 都不知道如何下手,可能你只...

part1.Linux内核源代码的目录概览

前言 Linux是一种单内核的系统。补充讲解一些微内核与单内核(又称“宏内核”):以下参考博文微内核和单内核 微内核(Microkernel kernel)——在微内核中,大部分内核都作为单...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Linux内核源代码目录结构分析
举报原因:
原因补充:

(最多只允许输入30个字)