互斥电路
百科名片互斥电路就是两个进程不能同时访问同一临界资源的临界区的现象。这种制约关系又可分为直接相互制约和间接相互制约。
相关内容直接相互制约源于多个进程相互合作完成某一项任务,一组在异步环境下的并发进程,各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程称为并发进程的直接制约。直接制约的并发进程相互合作的制约关系称为同步关系。间接相互制约源于资源共享,由于共享某一公有资源而引起的在临界区内不允许并发进程交叉执行的现象,称为由共享公有资源而造成的对并发进程执行速度的间接制约。这种制约关系称为互斥(MutualExclusion)。
为了实现进程互斥的同步,操作系统的进程同步机制必须遵循如下准则:空闲让进,忙则等待,有限等待,让权等待。互斥同步的本质就是合理地为互斥进程分配临界资源。在软件领域内,实现互斥编程的算法有银行家算法,生产者-消费者算法等,而在硬件设计中,软件的方法可以借鉴和参考。需要对硬件互斥象进行分析和转换,进行一些抽象化和具体化的过程。
通过规定输入信号的优先级别和逻辑功能的真值表,按优先级别分配临界资源,然后用卡诺图来设计其实现电路。如优先编码器,对输出同为0的两种输入状态选用其中一个由各输入信号组合输出信号作为输出使能信号实现互斥同步。然而,多数互斥具有时序关系,其状态的转换与时间有关,必须通过时序电路来实现,通过增加时钟信号、使能信号、片选信号或其他指令信号作为输入信号,实现临界资源的加锁-解锁,使之协调各级与门或三态门的动作,实现互斥同步:对于CPU的内部数据总线通过软件的指令来完成,对于内存单元,互斥通过读与控制线和地址总线来实现。