Linux的基础
01Linux的基础
一、Linux内核的特征
1、linux内核组织形式为整体式结构
2、进程调度方式简单有效
3、支持内核线程(或称为守护进程)
4、支持多种平台的虚拟内存管理
5、虚拟文件系统
6、模块机制(使内核之间相互独立,方便模块的移植)
7、增加了系统调用
1.Linux内核在系统中的位置
2.Linux内核子系统之间的管理
主要由五部分组成
3.系统数据结构
task_struct、mm_struct、indoe等
二、Linux内核源代码目录组织结构
版本分为稳定版本和开发版本两种,Linux内核版本号由3组数字组成,第一组数字:目前发布的内核主版本;第二组数字:偶数表示稳定版本,奇数表示开发版本;第三组数字:错误修补次数。
1.目录结构
arch:不同平台体系相关代码
block:块设备驱动
certs:与认证和签名相关的代码
crypto:内核常用加密、压缩算法等代码
Documentation:描述模块功能和协议规范代码
Drivers:驱动程序(USB总线,PCI总线,显卡驱动等)
firmware:主要是一些二进制固件
fs:虚拟文件系统代码
include:内核源码依赖的绝大部分头文件
init:内核初始化代码,联系到内核各组件入口
ipc:进程间通信实现,比如共享内存、信号量、匿名管道等
kernel:内核核心代码,包括进程管理、IRQ、时间等
lib:C标准库的子集
mm:内存管理相关实现
net:网络协议代码,比如TCP、IPv6、Wifi等
samples:内核实例代码
scripts:编译和配置内核所需要的脚本,perl/bash
security:内核安全模型相关代码,如selinux
sound:声卡驱动源码
tools:与内核交互
usr:用户打包和压缩内核的实现源码
virt:/kvm虚拟化目录相关支持实现
2.文件
COPYING:许可授权信息
CREDITS:贡献者列表
Kbuild:内核设定脚本
Kconfig:开发人员配置内核所用的的配置文件
MAINTAINBERS:目前维护者列表
Makefile:编译内核的主要文件
README:编译内核的相关信息
REPORTING-BUGS:如何报告问题的信息