在做信号量的实现的时候,运行在内核态的那部分代码,老师提示说要使用cli关中断,
形成原子操作,但是我不明白这样做的意义,进程跑在内核态的时候会因为用完时间片
而被迫让出CPU吗?
运行在内核态的程序有可能会被抢占吗?求大神指点
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 苍蝇①号 2016-09-18 13:10关注
对于抢占式内核不管运行在用户态还是内核态多可以被抢占,比如linux、Solaris就是这样的操作系统。
老师说的关中断运行是由于目前的计算机做进程调度都是基于中断陷入内核态执行完后再退出来的时候做的是否需要进程切换的,
而如果关闭中断就不可能有中断打断了,所以就可以一口气执行完没有打断,也就说不上被抢占了解决 无用评论 打赏 举报