待整理的笔记,先列出来,防止后面忘记要整理什么内容。一个一个整理:
- Linux内核ARM架构(v8)的系统调用的实现过程;
- open()/write()/read()在Linux内核中的详细实现过程,到驱动中注册的操作集的调用过程;文件系统重要结构体struct file、struct inode、struct dentry、struct sb、struct vfsmount之间的联系以及在系统调用中出现的位置与对应关系;struct nameidata在open流程中的作用;描述符current->files域和current->fs域在系统调用中的作用;匿名inode
- RCU读写;内存屏障和几种缓存一致性模型;
- V8 current宏实现过程;switch汇编;描述符与thread_info的两种位置关系;
- poll()在内核中的详细实现过程,在驱动poll()中要做什么事情;
- epoll()一族在内核中的详细实现过程,在驱动中提供的poll()要做什么事情;关于匿名inode的分配;关于申请匿名inode的时机与start_kernel();
- 等待队列的内核实现过程/唤醒过程;几个高精度定时睡眠函数的过程;schedule的过程;try_to_wake_up的实现过程以及SPM和非SMP的处理过程;try_to_wake_up中的四处内存屏障的效果分别是什么;EAS选核,PELT与WALT;
- 字符设备驱动开发中的几个创建函数cdev_init()/cdev_add()、class_create()、device_create()的实现过程;
- 常用的分配器;几种针对内核内存分配调试工具的原理;
- 多功能设备驱动:regmap子系统与MFD子系统,中断irq子系统
- 电源管理/功耗优化:regulator子系统与power子系统,进程冻结与cgroup,温控策略IPA与cpufreq控制策略DVFS