当前位置:首页>Linux>Linux内核框架结构简介 | 技术观察

Linux内核框架结构简介 | 技术观察

  • 2026-10-11 07:46:24
Linux内核框架结构简介 | 技术观察

一、层级架构框架图(标准内核分层)

二、五大核心子系统内部结构&实现原理

1. 进程管理子系统(Sched)


内部结构

• 进程描述符:struct task_struct(PCB核心)

• 调度实体:sched_entity

• 调度类:CFS普通进程、实时进程、空闲进程

• 核心队列:就绪队列、等待队列、睡眠队列

实现实例

1. 创建进程:fork() → 调用内核do_fork()

2. 执行程序:execve() → 清空地址空间加载新程序

3. 调度逻辑:CFS 计算虚拟运行时间,择优抢占CPU

4. 命令实测:ps -ef、top、nice 修改进程优先级

2. 内存管理子系统(MM)

内部结构

• 分层:页帧管理 → 伙伴系统 → Slab分配器 → 虚拟地址映射

• 核心结构:struct page、页表、vm_area_struct虚拟区间

• 机制:缺页异常、OOM查杀、Swap交换分区

实现实例

1. 应用malloc → glibc调用brk/mmap系统调用

2. 内核分配物理页,建立页表映射虚拟内存

3. 内存不足触发kswapd进程回收内存

4. 实操:free -h、cat /proc/meminfo、swapon

3. 虚拟文件系统 VFS(最核心抽象层)

四层核心对象(实现骨架)

1. super_block:文件系统超级块

2. inode:文件底层索引节点

3. dentry:目录项(路径缓存)

4. file:进程打开文件结构体

实现实例(读取文件全流程)

1. 用户程序 open("test.txt",O_RDONLY)

2. 进入内核sys_open,VFS解析路径找dentry→inode

3. 检查页缓存(内存管理),有数据直接拷贝

4. 无缓存调用块设备驱动读取磁盘扇区

5. 数据存入页缓存,拷贝至用户缓冲区

6. 对应实操:cat test.txt、mount挂载磁盘

4. 网络协议栈子系统

内核网络五层实现结构
Socket层 → 传输层(TCP/UDP) → 网络层(IP) → 链路层 → 网卡驱动
核心结构体:struct sk_buff 网络数据包载体

实现实例(TCP通信)

1. 服务端socket()->bind()->listen()->accept()

2. 客户端socket()->connect()建立三次握手

3. 内核协议栈封装IP+TCP报文

4. 下发网卡驱动完成报文收发

5. 实操:netstat -ntlp、curl、tcpdump抓包

5. 设备驱动子系统

三大分类实现

• 字符设备:串口、键盘、鼠标 / 主设备号驱动

• 块设备:硬盘、SSD、U盘(按块IO)

• 网络设备:网卡设备结构体net_device

实现实例

1. 硬盘读写:应用IO请求 → 通用块层 → IO调度器 → 磁盘驱动

2. 网卡收包:硬件中断 → 内核软中断 → 协议栈解析

3. 实操:lsblk查看块设备、dmesg查看驱动加载日志

三、内核全局调用关系(最简流程实例)

实例1:运行一条Linux命令 ls

1. Shell进程调用execve加载ls程序

2. 进程管理创建运行上下文,分配CPU时间片

3. ls调用readdir系统调用遍历目录

4. VFS通过inode读取磁盘目录数据

5. 内存管理分配临时缓冲区存放数据

6. 驱动读取硬件数据,逐层返回打印到终端

实例2:Java程序运行底层内核支撑

1. JVM 依赖内核进程调度分配CPU

2. JVM堆内存由内核内存管理虚拟内存映射

3. 日志读写依赖VFS文件系统

4. 网络请求走内核TCP协议栈

5. 磁盘持久化调用块设备驱动

四、内核源码目录对应框架(实战对应)

linux内核源码
├─ kernel/     进程调度、系统调用、时钟核心
├─ mm/         内存管理全部实现
├─ fs/         VFS+各类文件系统实现
├─ net/        网络协议栈全套代码
├─ drivers/    所有硬件驱动
├─ arch/       CPU架构适配(x86/arm)
├─ include/    内核头文件、结构体定义

五、极简总结

1. 框架核心:用户态→系统调用→五大内核子系统→硬件

2. 所有功能全部依靠进程管CPU、内存管空间、VFS管文件、网络管通信、驱动管硬件联动实现

3. 所有应用行为,最终都会落到对应内核子系统完成硬件交互

最新文章

随机文章