系统中countp表示空闲打印机的台数,进程 P1释放打印机会执行由“Rßcountp”、“RßR+1”和“countpßR”三条指令组成的程序段A(对应于 “countp + +;” 语句,R为寄存器),而进程P2分配打印机会执行由“Rßcountp”、“RßR-1”和“countpßR”三条指令组成的程序段B(对应于 “countp --;” 语句,R为寄存器),所以countp为共享变量。设当前countp=3。如果P1和P2依次执行程序段A和B,则countp等于【】,结果正确;如果P1先进入程序段A,执行完第1条指令“Rßcountp”后发生中断,中断处理后恢复中断现场前调用进程调度程序保护P1的调度现场,P1的调度现场中保存的R的值为【 】;调度选中P2,P2执行B的第1条指令后R的值为【】;P2执行 B的第3条指令”后寄存器R的值为【】、countp的值为【】;‘之后再调度选中P1恢复P1的调度现场后寄存器R的值为【】、countp的值为【】;P1接着执行A的第【】条指令后寄存器R的值为【】;P1执行完A的第3条指令后countp的值为【】。
查看答案
系统中countp表示空闲打印机的台数,进程 P1释放打印机会执行由“Rßcountp”、“RßR+1”和“countp ßR”三条指令组成的程序段A(对应于 “countp + +;” 语句,R为寄存器),而进程P2分配打印机会执行由“Rßcountp”、“RßR-1”和“countp ßR”三条指令组成的程序段B(对应于 “countp --;” 语句,R为寄存器),所以countp为共享变量。设当前countp=3。如果P1和P2依次执行程序段A和B,则countp等于【】,结果正确;如果P2先进入程序段B,执行完第1条指令“Rßcountp”后发生中断,中断处理后恢复中断现场前调用进程调度程序保护P2的调度现场,P2的调度现场中保存的R的值为【】;调度选中P1,P1执行A的第1条指令后R的值为【】;P1执行 A的第3条指令”后寄存器R的值为【】、countp的值为【】;之后再调度选中P2,恢复P2的调度现场后寄存器R的值为【】,countp的值为【】;P2接着执行B的第【】条指令后寄存器R的值为【】;P2执行完B的第3条指令后countp的值为【】。
一个可放n个产品的仓库有两个门,一个生产者进程Pp从一个门送入产品,一个消费者进程Pc从另一个门取走产品,若用信号量e和f分别表示仓库的剩余位置和剩余产品,则e的初值为【 】、f的初值为【 】,Pp放置产品前要对信号量【 】进行【 】操作,Pp放置产品后要对信号量【 】进行【 】操作,Pc取走产品前要对信号量【 】进行【 】操作,,Pc取走产品后要对信号量【 】进行【 】操作,
一组读者进程和一组写者进程共享一个数据区,写者进程之间不能同时操作,读者进程和写者进程不能同时操作,而读者进程之间可以同时操作,如果用信号量w表示可进入数据区写者进程数,则w的初值为【 】,写者进程进入数据区前要对m进行【 】操作、退出数据区后要对w进行【 】操作;如果用变量rc表示在数据区中的读者进程数,则rc的初始值为【 】,每次读者进程进入数据区前rc的值要加【 】,然后判断rc的值要等于【 】时对w进行【 】操作;每次读者进程退出数据区时rc的值要减【 】,然后判断rc的值要等于【 】时对w进行【 】操作
系统中某类资源有10个,有P、Q、R三个进程需要这类资源分别为8、3、9个,目前已经分别获得了4、2、2个资源。不会产生死锁的资源分配顺序为先分配给进程【】然后分配给进程【】最后分配给进程【】。