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/目录下。

scripts此目录包含用于配置核心的脚本文件。

Documentation 此目录是一些文档,起参考作用。

时间: 2024-11-08 20:10:21

Linux内核源代码的目录结构的相关文章

【lLinux驱动】linux内核源码目录结构

linux内核源码目录结构 代码目录结构  在阅读源码之前,还应知道Linux内核源码的整体分布情况.现代的操作系统一般由进程管理.内存管理.文件系统.驱动程序和网络等组成.Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):  arch目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录.PC机一般都基于此目录.  include目录包括编译核

SQL Server on Linux的文件和目录结构

问题引入 "鸟儿啊,我记得你写过一篇<SQLServer On Linux Package List on CentOS>的文章,从这篇文章,我们很清楚的知道了SQL Server on Linux包含有哪些必要的包.那么,我们怎么知道SQL Server on Linux到底包含哪些重要的文件和目录结构呢?他们的作用是什么?". "的确,当我们在排错或者需要改变MSSQL Server on Linux配置的时候,我们需要对SQL Server的各个工作目录和文

比起Windows,怎样解读Linux的文件系统与目录结构?

Linux 和 Windows 的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习. 本文先对 Windows 和 Linux 上面文件系统原理.组织概念进行区分,并给出例子.列举两者的优缺点以具体说明,最后较为详细地介绍了 Linux 系统的目录结构. Windows 和 Linux 文件系统 下面将介绍启动 Windows 和 Linux 后,在文件系统的角度上,它们分别是怎样看待自己世界的. 访问原理 在 Windows 系统中, 一切东西都是存放在硬盘

Linux下PhpMyAdmin程序目录结构的安全管理_Linux

这种组合使得开发Web程序简单.安全.效率高.由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难.现在有了一套由php开发爱好者写的管理Linux下数据库的程序,phpMyAdmin可极好的解决使用的易用性问题.PhpMyAdmin对管理Linux下的数据库行之有效,用户可以通过web浏览器新建删除数据库,增加.删除.修改表结构和表数据,还可以通过表单形式提交查询语句,返回数据结果.因此,现在很多的Linux服务器都使用p

linux内核-关于页面目录的地址映射问题

问题描述 关于页面目录的地址映射问题 最近看书看的不太理解,既然pgd页面目录对应的是整个物理页面,那为什么每个进程还会有自己的CR3呢,不是只需要知道页面目录的偏移量不就好了吗? 解决方案 http://blog.csdn.net/wym19830218/article/details/5503533/

解析Linux内核的基本的模块管理与时间管理操作---超时处理【转】

转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的朋友可以参考下   内核模块管理Linux设备驱动会以内核模块的形式出现,因此学会编写Linux内核模块编程是学习linux设备驱动的先决条件. Linux内核的整体结构非常庞大,其包含的组件非常多.我们把需要的功能都编译到linux内核,以模块方式扩展内核功能. 先来看下最简单的内核模块 ? 1

linux内核驱动-内核初涉

  一.为什么要学习内核? 有些人要学习内核,而有些人则可以不学习它.你如果以后要从事系统研发或驱动开发的话,就要学习内核. 刚刚接触内核,主要学习内核的接口函数.不要深入的去读内核,因为你读也读不懂,内核代码庞大如野兽一般不可驾驭. 学习内核主要掌握层次学习法,即从头开始学习,一环紧扣一环. 内核学习的四步学习法:1.核心理论学习-概念与函数原型2.范例程序分析3.思维导图设计4.亲自编写代码 二.linux内核简介 1.linux体系结构 分为两部分:用户空间和内核空间 2.linux为什么

linux内核体系结构

linux内核第一记   1.linux体系结构   从上图可知,Linux分为:用户空间和内核空间.内核空间和用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移.   www.2cto.com   2.linux内核架构   2.1系统调用接口(SCI) SCI层为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核的桥梁. 2.2进程管理(PM) 进程管理的重点是创建进程(fork,exec),停止进程(kill,exit)

linux内核md源代码解读 二 md模块初始化

在编译完成linux内核源代码的时候,drivers/md目录下会生成多个ko文件,那么这些内核模块哪一个先加载,哪一个后加载的呢?例如md-mod.ko, raid5.ko, raid10.ko,这些模块是一起加载的呢,还是有先后顺序呢?如果熟悉linux内核编程的话,知道有一个request_module函数,这个函数用于请求加载一个模块,但这个函数并不能说明一个模块对另一个模块的依赖关系.准确的信息还是来自于Kconfig,这里只抽取Kconfig中相关的部分: config BLK_DE