什么是临界区?如何解决冲突(也就是临界区的调度原则)?

每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。

① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。加锁

② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③ 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区一次只能进一个,不同的进程可能有相同的临界区,不同用户的不同任务之间的进程是有临界区比如打印机,如打印程序是可以由不同用户的不同进程使用,但是只能有一个进程在某一时刻进入。)

④ 如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。

总结:互斥使用、有空让进忙则等待、有限等待

posted @ 2020-04-23 22:00  北城cheng  阅读(1457)  评论(0编辑  收藏  举报