操作系统习题(F.L)答案

2026/4/26 0:19:54

main ( ) {

cobegin

prog1 ( );

prog2 ( ); prog3 ( ); prog4 ( ); prog5 ( prog6 ( prog7 ( coend }

prog1 ( ) {

… v ( f1 ); v ( f1 ); v ( f1 ); }

prog2 ( ) {

… v ( f2 ); v ( f2 ); v ( f2 ); }

prog 3 ( ) {

p ( f1 ); p ( f2 );

… v ( f3 ); }

prog 4 ( ) {

p ( f1 ); ); ); ); p ( f2 );

v ( f4 );

}

prog 5 ( ) {

p ( f1 ); p ( f2 );

v ( f5 ); }

prog 6 ( ) {

p ( f3 );

v ( f6 ); }

prog 7 ( ) {

p ( f5 );

v ( f7 ); }

prog8 ( ) {

p ( f4 ); p ( f6 ); p ( f7 ); }

15.在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。初始时,sa为M – 1,sb为N

… … … … … – 1。当往库中存放一个A产品时,则允许存入B产品的数量也增加1;当往库中存放一个B产品时,则允许存入A产品的数量也增加1。 产品A、B的入库过程描述如下: int mutex=1; int sa= M – 1; int sb= N – 1; main ( ) {

while ( 1 ) {

取一个产品; if ( 取的是A产品) {

P ( sa ) ;

P ( mutex ) ; 将产品入库; v ( mutex ) ;

v ( sb ) ; }

else /*取的产品是B*/ {

P ( sb ) ;

P ( mutex ) ; 将产品入库; v ( mutex ) ;

v ( pa ) ; } } }

16.在本题中,应设置一个信号量mutex实现诸进程对缓冲区的互斥访问;两个信号量数组empty[n2]和full [n2]描述n2组缓冲区的使用情况。Mutex的初值为1;数组empty中的元素初值为m;数组full中的元素初值为0。其同步关系描述如下: int mutex , empty[n2] , full [n2] ; int i ;


操作系统习题(F.L)答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 操作系统习题(F.L)答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219