Linux内核源代码
说明:只供学习交流
一,目录结构
Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具有可读性。
二,目录结构
arch目录
arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等
| --x86 /* 英特尔cpu及与之相兼容体系结构的子目录*/
| |--boot /*引导程序*/
| | |--compressed /*内核解压缩*/
| |--tools /*生成压缩内核映像的程序*/
| |--kernel /*相关内核特性实现方式,如信号处理、
时钟处理*/
| |--lib /*硬件相关工具函数*/
block目录
部分块设备驱动程序
crypto目录
加密、压缩、CRC校验算法
documentation
内核的文档
drivers目录
设备驱动程序
fs目录
存放各种文件系统的实现代码。每个子目录对应一种文件系统的
实现,公用的源程序用于实现虚拟文件系统vfs。
| |--devpts /* /dev/pts虚拟文件系统*/
| |--ext2 /*第二扩展文件系统*/
| |--fat /*MS的fat32文件系统*/
| |--isofs /*ISO9660光盘cd-rom上的文件系统*/
include目录
内核所需要的头文件。与平台无关的头文件在include/linux 子目录下,与平台相关的头文件则放在相应的子目录中。
init目录
内核初始化代码
ipc目录
进程间通信的实现代码
kernel目录
Linux大多数关键的核心功能都是在这个目录实现。
(调度程序,进程控制,模块化)
lib目录
库文件代码
mm目录
mm目录中的文件用于实现内存管理中与体系结构无关的部分(与体系结构相关的部分在哪里实现?(arch/mm))
net目录
网络协议的实现代码
| |--802 /*802无线通讯协议核心支持代码*/
| |--appletalk /*与苹果系统连网的协议*/
| |--ax25 /*AX25无线INTERNET协议*/
| |--bridge /*桥接设备*/
| |--ipv4 /*IP协议族V4版32位寻址模式*/
| |--ipv6 /*IP协议族V6版*/
samples
一些内核编程的范例
scripts
配置内核的脚本
security
SElinux的模块
sound
音频设备的驱动程序
usr
cpio命令实现
virt
内核虚拟机
Linux内核源代码的更多相关文章
- Linux内核源代码获取教程
Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...
- 在windows下解压缩Linux内核源代码出现重复文件原因
在windows下解压缩Linux内核源代码出现重复文件原因 2009年06月30日 13:35 来源:ChinaUnix博客 作者:embededgood 编辑:周荣茂 原因一.因为在Lin ...
- Linux内核源代码情景分析系列
http://blog.sina.com.cn/s/blog_6b94d5680101vfqv.html Linux内核源代码情景分析---第五章 文件系统 5.1 概述 构成一个操作系统最重要的就 ...
- Linux内核源代码目录树结构
Linux内核源代码目录树结构. arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录.和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分).mm(内 ...
- 《深入分析Linux内核源代码》读书、私藏笔记大放送
秉承着"不懂操作系统原理的程序员不是合格的程序员"的至理名言,鄙人又是买陈莉君老师的“Linux教学视频”,又是研读其力作<深入分析Linux内核源代码>,先将总结笔记 ...
- Ubuntu:编译Linux内核源代码和内核模块
1. 目的 内核模块需要运行在Linux 3.8.13内核中,因此需要为此内核重新编译内核模块源代码. 2. 步骤 1.在Ubuntu 14.04 64位(内核3.13.0-24-generic)上, ...
- Linux内核源代码分析方法
Linux内核源代码分析方法 一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...
- linux内核源代码、配置与编译
内核源代码下载:www.kernel.org Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性. linux内核代码最好不要在windows ...
- 如何切入 Linux 内核源代码
Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了 ...
随机推荐
- PHP 生成唯一激活码
<?php /** * 从来没有产生一个唯一的激活码 * @return string */ function create_guid($namespace = null) { static $ ...
- SQL点滴16—SQL分页语句总结
原文:SQL点滴16-SQL分页语句总结 今天对分页语句做一个简单的总结,他们大同小异的,只要理解其中一个其他的就很好理解了. 使用top选项 *from Orders orderid from Or ...
- 记一次内存泄漏DUMP分析
自从进入一家创业公司以后,逐渐忙成狗,却无所收获,感觉自身的技术能力用武之地很少,工作生活都在业务逻辑中颠倒. 前些天线上服务内存吃紧,让运维把DUMP拿下来,分析一下聊以自慰. 先来统计一下大对象信 ...
- 如何用CSC.exe来编译Visual C#的代码文件
原文:如何用CSC.exe来编译Visual C#的代码文件 C#的编译过程 如何用CSC.exe来编译Visual C#的代码文件 Csc.exe 编译器的位置路径:C:\Window ...
- 如何通过js给QQ好友发送信息
一般我们在做页面活动的时候可能会碰到点击一个按钮把一些相关的信息通过QQ发送给你的好友,这种信息推送的功能该如何实现呢!下面我来介绍下使用方法! 代码如下: <!DOCTYPE HTML> ...
- 读书笔记—CLR via C#章节4-7
前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...
- codeblock 设置背景颜色
今天觉得codeblock看着刺眼,想了想,能不能跟vs利用dark背景一样可以设置一个舒服的背景.于是就开始各种点击,各种摸索了. 1. 背景和各种颜色设置 不妨先说下vs中的设置是:工具(Tool ...
- DevExpress中GridView Excel下载
DevExpress中GridView提供了许多Excel下载的方法,如gridView.ExportToExcelOld(sfdExcelDown.FileName); 在修改Bug时,遇到这样问题 ...
- oracle_base和oracle_home 的区别
oracle_base和oracle_home 的区别 $ORACLE_BASE和$ORACLE_HOME 的区别 2009-06-22 11:25:34| 分类: Oracle |字号 订阅 ...
- Event notifications
SQL Server 事件通知(Event notifications) 2013-12-13 17:21 by 听风吹雨, 333 阅读, 3 评论, 收藏, 编辑 一. 背景 SQL Server ...