Linux内核组成

一、Linux内核组成

Linux内核主要由进程管理、内存管理、设备驱动、文件系统、网络协议栈 外加一个系统调用组成。

二、源码组织结构

三、Linux内核知识体系

1.内存管理

内存原理

  • SMP/NUMA模型组织
  • 页表/页表缓存
  • CPU缓存
  • 内存映射

虚拟内存

  • 伙伴分配器
  • 块分配器
  • 巨型页
  • 页回收
  • 页错误异常处理与反碎片技术
  • 连续内存分配器技术原理
  • 不连续页分配器原理与实现

内存系统调用

  • kmalloc/vmalloc
  • 内存池原理与实现
  • 内存优化与实现

2.文件系统

虚拟文件系统VFS

  • 通用文件模型
  • 数据结构
  • 文件系统调用
  • 挂载文件系统
  • 无存储文件系统

磁盘文件系统

  • Ext2/Ext3/Ext4文件系统
  • 日志JBD2

用户空间系统

  • FUSE原理机制/接口与实现

3.进程管理

进程基础

  • 进程原理及状态
  • 生命周期及系统调用
  • task_struct数据结构

进程调度

  • 调度策略
  • 进程优先级
  • 调度类分析
  • SMP调度

4.网络协议栈

网络基础架构

  • SKB/net_device
  • 网络层分析
  • Linux邻近子系统
  • netlink套接字
  • iptables套接字
  • netfilter框架
  • 内核NIC接口分析
  • mac80211无线子系统

网络协议栈

  • internet控制消息协议(ICMP)
  • 用户数据报协议(UDP)
  • 传输控制协议(TCP)
  • 流控制传输协议(SCTP)
  • 数据报拥塞控制协议(DCCP)
  • IPv4路由选择子系统
  • 组播/策略/多路径路由选择
  • 接收/发送(IPv4/IPv6)数据报
  • infiniBand栈架构

系统API调用

  • POSIX网络API调用
  • epoll内核原理与实现
  • 网络系统参数配置

5.设备驱动

设备子系统

  • I/O机制原理
  • 设备模型
  • 字符设备子系统
  • 网络接口卡驱动

Linux设备模型

  • LDM
  • 设备模型和sysfs

字符设备驱动

  • 主设备与次设备
  • 设备文件操作
  • 分配与注册字符设备
  • 写文件操作实现

网卡设备驱动

  • 数据结构
  • 设备方法
  • 驱动程序

块设备驱动

  • 资源管理
  • I/O调度
  • BIO结构原理
  • PCI总线原理

蓝牙子系统

  • HCI层/连接
  • L2CAP
  • BNEP
  • 蓝牙数据包接收架构
相关推荐
程序员老舅1 天前
深入底层:Linux MMU 工作原理全解
linux·服务器·网络·c++·linux内核·内存管理·linux内存
jllws17 天前
Linux内核速览_4_进程调度(1)CFS算法原理
linux内核
漠月瑾-西安12 天前
软件忘了“擦黑板”:一次内核信息泄露事件(CVE-2024-49997)的深度剖析
网络安全·linux内核·内核安全·信息泄露·内存安全·cve漏洞分析
jllws115 天前
Linux内核速览_2_内核开发的特点
linux内核
程序猿编码20 天前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
Watink Cpper20 天前
Ubuntu24.04网络图标消失导致无法上网--排查得到原因:内核和驱动版本不匹配
运维·网络·linux内核·运维开发·debug·ubuntu24.04
十年编程老舅1 个月前
深入 Linux 中断:原理详解 + 实战落地
linux·网络·linux内核·c/c++·中断
皮皮哎哟1 个月前
ARM驱动基础(基于正点原子IMX6ULL Mini)
arm开发·linux内核·imx6ull·nxp·正点原子、·imx6u mini
程序猿编码1 个月前
Linux内核级隐身术:进程与端口隐藏技术剖析
linux·运维·服务器·linux内核·进程
Qt程序员1 个月前
Linux 内核 SPI 驱动
linux·linux内核·嵌入式开发·spi