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
  • 蓝牙数据包接收架构
相关推荐
十年编程老舅2 天前
深入 Linux 中断:原理详解 + 实战落地
linux·网络·linux内核·c/c++·中断
皮皮哎哟7 天前
ARM驱动基础(基于正点原子IMX6ULL Mini)
arm开发·linux内核·imx6ull·nxp·正点原子、·imx6u mini
程序猿编码9 天前
Linux内核级隐身术:进程与端口隐藏技术剖析
linux·运维·服务器·linux内核·进程
Qt程序员9 天前
Linux 内核 SPI 驱动
linux·linux内核·嵌入式开发·spi
新兴AI民工14 天前
【Linux内核二十九】进程管理模块:CFS调度器check_preempt_wakeup
linux·linux内核·wakeup
十年编程老舅15 天前
窥探内核心脏:深入解析 proc 虚拟文件系统
linux·服务器·数据库·c++·linux内核·文件系统·读写锁
十年编程老舅17 天前
Linux 多线程高并发编程:读写锁的核心原理与底层实现
linux·c++·linux内核·高并发·线程池·多线程·多进程
新兴AI民工20 天前
【Linux内核二十五】进程管理模块:CFS调度器pick_next_task_fair(一):pick_next_task_fair方法
linux·linux内核
Qt程序员22 天前
深入理解 Linux 内核 RCU 机制:从原理到实现
linux·c++·内核·linux内核·rcu
十年编程老舅24 天前
Linux DMA 技术深度拆解
linux·网络·linux内核·dma·c/c++·内存访问