Linux内核如何学习?

课程体系7个专题组成:进程管理专题,内存管理专题,设备驱动专题,网络协议专题,内核组件专题,文件系统专题,内核项目实战专题。

进程管理专题

进程原理:进程生命周期,task_struct结构,进程优先级,进程系统调用。

进程调度机制:调度器实现schedule(),完全公平调度类CFS,实时调度类原理

多核模式调度SMP。

进程竞争机制:RCU机制原理,内存优化与屏障,大内核锁,per_CPU计数器。

进程系统调用:写时复制原理,进程内存布局,进程堆栈管理,系统调用实现流程。

内存管理专题

内存原理:(N)UMA模型组织,页表原理,处理器高速缓存,TLB工作原理。

物理内存:伴伙算法,slab/slub/slob分配器,内存映射。分配器原理,不连续页原理。

虚拟内存:进程内存映射,进程堆栈管理,用户空间缺页异常,内核空间与用户空间。

内存系统调用:kmalloc/vmaloc,BRK,内存池机制,内存优化。

设备驱动专题

设备子系统原理:字符设备子系统,块设备子系统,网络适配器子系统,I/O原理。

字符设备驱动:file_operations原理,系统调用流程,ioctl流程,请求中断

块设备驱动:资源管理,I/O调度,BIO结构原理,PCI总线原理

网卡设备驱动:net_device/net_device_ops,sk_buff原理,网卡数据中断,网络适配器映射。

内核模块架构:模块添加与删除,自动化与热插拔,主从设备号,版本控制。

网络协议专题

网络系统架构:接收缓冲区,发送缓冲区,netfilter,iptables。

网络协议栈:TCP/UDP,TCP控制块,IP协议,netlink机制

系统API:POSIX网络API,epoll实现原理,socket初始化,网络系统参数设置

内核组件专题

时间管理:通用时间子系统,高分辨率定时器,动态时钟结构,定时器系统调用实现。

系统缓存:页缓存实现,块缓存实现。

数据同步:数据同步原理,inode同步与拥塞,强制回写与完全同步。

文件系统专题

虚拟文件系统VFS:通用文件模型,VSF结构 ,文件操作系统调用,file/inode原理。

无存储文件系统:proc文件系统,文件系统数据结构,管理/proc数据项,系统控制机制。

sysfs文件分析:sysfs数据结构,装载文件系统,文件目录 操作,向sysfs增加数据。

磁盘文件系统:Ext2文件系统,Ext3文件系统,Ext4文件系统。

用户态文件系统:FUSE使用场景,FUSE原理,FUSE实现 ,用户态文件接口实现。

内核项目实战专题

1、手把手实现进程间通信

2、网络适合器实现

3、无存储文件系统实现

4、为内核添加自己系统调用

5、添加进程调度器

6、用户态文件系统实现

7、为内核防火墙做贡献之iptables

8、用slab实现内存池

9、内核定制化系统

10、向VFS添加自定义文件系统

Linux内核学习参考书籍

1、《深入理解LINUX内核》 第三版 [美] 博韦等著

2、《Linux设备驱动开发详解》 宋宝华 编著

3、《Linux内核设计与实现》 原书第3版 拉芙 (RobertLove) 著

4、《深入理解LINUX网络内幕》 [意] Benvenuti 著

5、《Linux设备驱动程序》 [美] 科波特(Corbet J.) 著

关注UP,近期会有部分内核技术点视频陆续发布。可以先听听了解!

专注于C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等多个知识点高级技术分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值