创建该专栏目的:系统地整理遇到的问题以及相关的知识点,便于回顾和查缺补漏
提纲如下:
内核相关概念:
- timer系统
- 中断系统
- 内存
内存模型
内存初始化
伙伴系统
slub
- 调度
调度的时机
选核的过程
- 文件系统和块设备
jbd2
块设备
脏页回写机制
- tzos
optee
- 低功耗
- 内核结构体
链表结构体
- 算法
二分查找
常见的内核异常:
- rcu stall
- watchdog
- hungtask
- softlockup
- hardlockup
- workqueue lockup
- oom、lowmem killer
- bad page
- spinlock error
- schedule while atomic
- rcu schedule
- workqueue lockup
- 中断风暴
- rt throttle
- BUG_ON
- WARN_ON
- 踩内存
- 内存泄漏
- 访问内存失败(空指针、异常地址)
- noc error
- bus error(serror、同步)
- tzasc error
- 用户进程crash
调试手段:
- pstore
- kdump
- minidump
- coredump
- printk、logbuf
- die step
- kasan
- asan
- kfence
- slub_debug
- kmemleak
- malloc debug
- tzasc
- lockdep
- coresight
- 轻量化采集工具(进程loading、内存占用、io等)
- emmc trace
- irq mornitor
- kprobe
- ftrace
- ebpf
分析工具:
- gdb
- crash
- DS5
- trace32
- coresight