待整理的笔记,先列出来,防止后面忘记要整理什么内容。一个一个整理:
- Linux内核ARM架构(v8)的系统调用的实现过程;
- open()/write()/read()在Linux内核中的详细实现过程,到驱动中注册的操作集的调用过程;文件系统重要结构体struct file、struct inode、struct dentry、struct sb、struct vfsmount之间的联系以及在系统调用中出现的位置与对应关系;struct nameidata在open流程中的作用;描述符current->files域和current->fs域在系统调用中的作用;
- 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中的四处内存屏障的效果分别是什么;
- 字符设备驱动开发中的几个创建函数cdev_init()/cdev_add()、class_create()、device_create()的实现过程;
- 常用的分配器;几种针对内核内存分配调试工具的原理;
空闲时间不多,一直拖一直拖列个表强迫自己整理一下。