linux内核同步的一些基本理解
来源:互联网 发布:支付宝能找回淘宝密码 编辑:程序博客网 时间:2024/06/05 11:01
进程调度的一些基本事实:
1.调度是优先级和时间片共同决定的
2.I/O消耗型的优先级较高,时间片较长,计算消耗型反之。
3.当进程阻塞或者主动schedule()或者被抢占时候,则发生调度
4.当时间片耗尽时,进程将被挂到另一个队列中。
5.用户抢占发生在系统调用返回到用户空间时候或者从中断处理程序返回用户空间时候
6.只要没有锁,内核就可以抢占,
中断:
1.中断处理程序可分为上半部和 下半部,必须完成的时间短的放在上半部,因为此时禁止低级别和同级别的中断。
2.
内核同步:
1.非对其的内存访问不是原子操作
2.自旋锁的争用失败会导致忙等待,所以自旋锁的持有应该尽量短的时间。
3.若内核抢占被关闭,则自旋锁会在编译时候,清除出去。(可能是关掉内核抢占后,内核代码就不会被重入了?
4.自旋锁不可递归。
5.在中断处理程序中不能使用信号量(因为这样会导致睡眠)
6.中断处理程序使用自旋锁时候,一定要关闭本地中断;否则其他中断打断当前中断并且要争用同一个自旋锁时候,就会导致忙等待,而持有锁的前一个中断也得不到释放锁的机会
7.当一个任务获取信号量失败后,就会被处理器挂在一个队列上睡眠。
8.信号量适用于锁会被长时间持有的情况。短的话,睡眠维护等待队列以及唤醒的开销成本太大。
9.占用信号量的同时不能占用自旋锁,因为持有自旋锁是不允许睡眠的
10.
1.调度是优先级和时间片共同决定的
2.I/O消耗型的优先级较高,时间片较长,计算消耗型反之。
3.当进程阻塞或者主动schedule()或者被抢占时候,则发生调度
4.当时间片耗尽时,进程将被挂到另一个队列中。
5.用户抢占发生在系统调用返回到用户空间时候或者从中断处理程序返回用户空间时候
6.只要没有锁,内核就可以抢占,
中断:
1.中断处理程序可分为上半部和 下半部,必须完成的时间短的放在上半部,因为此时禁止低级别和同级别的中断。
2.
内核同步:
1.非对其的内存访问不是原子操作
2.自旋锁的争用失败会导致忙等待,所以自旋锁的持有应该尽量短的时间。
3.若内核抢占被关闭,则自旋锁会在编译时候,清除出去。(可能是关掉内核抢占后,内核代码就不会被重入了?
4.自旋锁不可递归。
5.在中断处理程序中不能使用信号量(因为这样会导致睡眠)
6.中断处理程序使用自旋锁时候,一定要关闭本地中断;否则其他中断打断当前中断并且要争用同一个自旋锁时候,就会导致忙等待,而持有锁的前一个中断也得不到释放锁的机会
7.当一个任务获取信号量失败后,就会被处理器挂在一个队列上睡眠。
8.信号量适用于锁会被长时间持有的情况。短的话,睡眠维护等待队列以及唤醒的开销成本太大。
9.占用信号量的同时不能占用自旋锁,因为持有自旋锁是不允许睡眠的
10.
- linux内核同步的一些基本理解
- Linux 同步的一些理解
- 深入理解Linux内核-内核同步
- 深入理解Linux内核day04--内核同步
- linux的内核同步
- 试发第一篇:linux内核理解,最关键是的真正的理解内核同步机制
- 对linux内核中断处理的一些理解
- linux中的一些基本命令的理解与总结
- 《深入理解Linux内核》--第五章 内核同步:读书笔记
- 深入理解Linux内核个人小结5---内核同步
- 《深入理解Linux 内核》chap 5 内核同步
- 深入理解linux内核——内核同步
- Linux内核的同步机制
- Linux内核的同步机制
- Linux内核的同步机制
- Linux内核的同步机制
- Linux内核的同步机制
- Linux内核的同步机制
- Trie—单词查找树
- oracle中hint的用法详解
- activity跳转之间的 animation 怎么不起作用
- Hint
- iPhone应用程序编程指南
- linux内核同步的一些基本理解
- SQL Server 索引结构及其使用(一)
- domino平台缓存静态html资源
- window内存管理与内存原理
- iis 注册.NetFramework
- SQL Server 索引结构及其使用(二)
- 某个身份证号出现多次
- 淘宝笔试
- SQL Server 索引结构及其使用(三)