• 2022-06-08
    什么是进程的互斥?为什么会有进程的互斥要求?
  • 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥.在多道程序环境下,存在着临界资源,它是指多进程存在时必须互斥访问的资源.也就是某一时刻不允许多个进程同时访问,只能单个进程的访问.我们把这些程序的片段称作临界区或临界段,它存在的目的是有效的防止竞争条件又能保证最大化使用共享数据.而这些并发进程必须有好的解决方案,才能防止出现以下情况:多个进程同时处于临界区,临界区外的进程阻塞其他的进程,有些进程在临界区外无休止的等待.除此以外,这些方案还不能对CPU的速度和数目做出任何的假设.只有满足了这些条件,才是一个好的解决方案.访问临界资源的循环进程可以这样来描述:RepeatentrysectionCriticalsections;exitsectionRemaindersectioni;Untilfalse编辑本段实现进程互斥为实现进程互斥,可以利用软件的方法,也可以在系统中设置专门的同步机制来协调多个进程,但是所有的同步机制应该遵循四大准则:1.空闲让进当临界资源处于空闲状态,允许一个请求进入临界区的进程立即进入临界区,从而有效的利用资源.2.忙则等待已经有进程进入临界区时,意味着相应的临界资源正在被访问,所以其他准备进入临界区的进程必须等待,来保证多进程互斥.3.有限等待对要求访问临界资源的进程,应该保证该进程能在有效的时间内进入临界区,防止死等状态.4.让权等待当进程不能进入临界区,应该立即释放处理机,防止进程忙等待.早期解决进程互斥问题有软件的方法和硬件的方法,如:严格轮换法,Peterson的解决方案,TSL指令,Swap指令都可以实现进程的互斥,不过它们都有一定的缺陷,这里就不一一详细说明,而后来Dijkstra提出的信号量机制则更好的解决了互斥问题.解决进程互斥还有管程,进程消息通信等方式.希望可以解决你的疑惑!

    内容

    • 0

      进程互斥机制应遵循哪些基本准则?为什么?

    • 1

      进程A、B共享资源X,需要互斥执行,进程B、C共享资源Y,也需要互斥执行,因此进程A、C必须互斥执行。

    • 2

      进程的互斥是关于进程怎样使用共享资源的问题,因此只要系统中有空闲的共享资源,系统就不会有阻塞的进程。

    • 3

      进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程A、C必须互斥执行

    • 4

      设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为____