1、内存管理


2、内核进程/进程调度


- 线程优先级:实时线程(0~100,101~139),非实时线程(140~)
- 线程上下文切换:保存PC、寄存器,页表地址等
- 线程调度算法:OTHER(时间片)、FIFO(先进先出)、RR(抢占+时间片)、CFS(完全公平)
内核线程的并发与同步:自旋锁、信号量、RCU
3、Linux内核原语
- 自旋锁:一直自旋,不休眠(如果是单核CPU,自旋锁不做任何事情)
- 信号量:常规用法
- 互斥体:资源数为1的信号量
- 内存屏障:保证数据/指令顺序访问/执行,通过特殊指令锁住总线、刷流水线等方式实现
- 原子操作:通过特殊指令LDREX/STREX独占访问实现
4、Linux中断
- 软中断:触发软终端
- tasklet:基于中断实现,不会阻塞,一般中断结束就执行
- 任务队列:基于线程实现,会阻塞
5、Linux驱动
6、设备驱动节点应用(udev)
- class:class_create/class_remote,创建设备信息文件
- device:device_create/device_remote,file_operations实现read/write/ioctl接口
- proc:proc_create/proc_remove,create_proc_entry/remove_proc_entry,file_operations实现read/write/ioctl接口
- sys:sysfs_create_group/sysfs_remove_group,sysfs_create_file/sysfs_remove_file,实现store/show接口
619

被折叠的 条评论
为什么被折叠?



