一、Linux 内核七大组成部分
![图片[1]-Linux内核开发与优化-内核结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316151533257-image.png)
- 系统调用接口
- 进程管理
- 内存管理
- 设备驱动
- 虚拟文件系统
- 网络协议栈
- 体系结构相关
二、系统调用接口(SCI)
- 作用:用户空间 ↔ 内核空间的唯一桥梁,提供标准函数供应用访问内核
- 常用系统调用分类:
- 进程控制:fork、clone、execve、exit、pause、getpid、waitpid、nice
- 文件读写:open、close、creat、read、write、lseek、fcntl、poll、umask
- 文件系统:access、chdir、chmod、chown、mkdir、rmdir、readdir
- 系统控制:ioctl、reboot、time、uname
- 内存管理:mmap、munmap、sync
- 网络 / Socket:socket、bind、listen、accept、connect
- 用户管理:getuid、setuid、getgid、setgid
系统调用 vs 库函数调用
表格
| 对比项 | 系统调用 | 库函数调用 |
|---|---|---|
| 汇编指令 | INT / IRET | CALL / RET |
| 堆栈 | 切换用户栈 ↔ 内核栈 | 无堆栈切换 |
| 运行空间 | 内核态(高权限) | 用户态 |
| 开销 | 大(上下文切换) | 小(普通过程调用) |
| 移植性 | 依赖内核,较差 | 平台通用,好 |
| 本质 | 操作系统入口 | 普通功能函数 |
三、进程管理(PM)
- 核心工作:创建 / 终止进程、进程调度、进程间通信
- 关键函数:fork/exec(创建)、kill/exit(停止)
- 基本概念:
- 进程:程序的运行实体
- 多任务:CPU 按时间片轮流执行多个进程
- 调度程序:负责选择下一个运行进程
- 进程间通信(IPC):信号、管道、共享内存、信号量、套接字
四、内存管理(MM)
- 作用:管控进程对物理内存的访问,安全共享内存
- 核心任务:内存分配 / 回收、虚拟地址→物理地址转换
- 关键机制:虚拟内存(用有限物理内存支撑大量进程)
五、设备驱动(DD)
![图片[2]-Linux内核开发与优化-内核结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316164744501-image.png)
- 地位:内核代码量最大(约占 50%),最常开发的模块
- 特点:运行在高特权级,可直接操作硬件;出错易导致系统崩溃
- 设备分类:
- 字符设备:顺序读写、按字节访问,无随机存取例:鼠标、键盘、串口、控制台
- 块设备:随机访问、按块读写例:硬盘、U 盘、CD-ROM、闪存
- 网络设备:收发数据帧 / IP 包例:网卡
六、虚拟文件系统(VFS)
![图片[3]-Linux内核开发与优化-内核结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316164817353-image.png)
- 作用:屏蔽底层差异,为所有文件系统提供统一接口
- 支持:Ext4、XFS、FAT、NTFS、NFS、proc、sysfs 等
- 好处:应用只用一套接口(open/read/write),无需关心底层文件系统类型
七、网络协议栈
![图片[4]-Linux内核开发与优化-内核结构-乔伊社区](https://jooyu.cc/wp-content/uploads/2026/03/20260316164825704-image.png)
- 特点:稳定、支持协议丰富,Linux 网络能力核心
- 基于 TCP/IP 模型,实现网络连接、数据传输
八、体系结构相关(Arch)
- 与 CPU 架构强相关:x86、ARM、MIPS 等
- 作用:统一内核上层代码,提升移植性,移植只需改这部分
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



暂无评论内容