进程的资源共享
進(jìn)程資源共享問題
進(jìn)程是放到內(nèi)存中的,進(jìn)程中所有的計算過程都是需要在cpu處理的。當(dāng)有多個進(jìn)程都需要使用共享資源的時候就需要借助一個中間過程(“臨界區(qū)”)
臨界區(qū)的使用原則:“空則讓進(jìn),忙則等待,等則有限,等則讓權(quán)”
當(dāng)共享資源沒有被使用的時候就將某個需要使用的進(jìn)程放到臨界區(qū)中,在這段時間中只能是臨界區(qū)中的進(jìn)程可以使用共享資源。當(dāng)共享資源在使用的時候,其他進(jìn)程不能使用共享資源。共享資源空閑的時候就將其他等待使用共享資源的進(jìn)程放到臨界區(qū)中,但是如果等待的時間比較長久就先將等待的進(jìn)程阻塞。
臨界區(qū)控制方式進(jìn)程執(zhí)行:
1.控制進(jìn)入臨界區(qū)(判斷是否可以進(jìn)入(臨界區(qū)是否忙),如果可以就保護(hù)起來準(zhǔn)備使用資源)
2.臨界區(qū)(使用資源)
3.解除控制(臨界區(qū)閑置)
總結(jié)
- 上一篇: 同步和互斥在进程并发执行相互间会有什么影
- 下一篇: 操作系统-信号量的使用