6.2 临界区问题
- 各种区
- 临界区:每个进程有一个代码段叫临界区,没有两个进程可同时在临界区内执行
- 进入区:实现请求进入临界区的代码段叫做进入区
- 退出区:退出临界区后进行一些状态处理的代码段叫做退出区
- 剩余区:其他代码称为剩余区
-
临界区问题:设计一个协议,每个进程必须请求允许进入其临界区
- 临界区解答的三项要求
- 互斥:若一个进程在临界区内,其他进程不得进入临界区
- 前进:如果没有进程在其临界区内执行且有进程需要进入临界区,那么只有那些想要进入临界区的进程参加选择以可以进入临界区
- 有限等待:从一个进程做出进入临界区的请求,直到该请求允许为止,其他进程允许进入其临界区的次数有上限
- 操作系统内临界区问题的处理方式:
- 非抢占内核
- 不允许处于内核模式的进程被抢占
- 从根本上不会导致竞争条件
- 抢占内核
- 允许处于内核模式的进程被抢占
- 优点
- 更适合实时编程
-
抢占内核响应更快
© 2018 T0UGH. All rights reserved.
- 非抢占内核