操作系统ch7
设key[S]=1时表示类名为S的临界区可用,key[S]=0时表示类名为S的临界区不可用。 则,unlock(key[S])只用一条语句 即可实现。即: key[S]←1 问题分析 用加锁法解决进程互斥的问题时,一个进程能否进入临界区是依靠自己的测试。 建立一个信号量步骤: 说明所建信号量所代表的意义 赋初值 建立相应的数据结构以便指向那些 等待使用该临界区的进程。 用信号量实现两并发进程PA,PB互斥的描述如下: 1) 设sem为互斥信号量,其取值范围为(1,0,-1)。 其中sem=1 表示进程PA和PB都未进入类名为S的临界区, sem=0 表示进程PA或PB已进入类名为S的临界区, sem=-1 表示进程PA和PB中,一个进程已进入临界区,而另一个进程等待进入临界区。 同步的消息实现机制 如果对一个消息或事件赋以唯一的消息名,则可用过程: wait (消息名) 表示进程等待合作进程发来的消息,而用过程 signal (消息名) 表示向合作进程发送消息。 几种通信方式都可用于大量数据传送,而且,由于其通信方式不同,需要使用不同的控制方式来达到通信进程之间同步或互斥的目的。
原创力文档

文档评论(0)