同步练习答案

发布 2022-06-25 12:49:28 阅读 6925

1、如果有三个进程r、w1、w2共享一个缓冲器b,而b中每次只能存放一个数。当缓冲器中无数时,进程r可以将从输入设备上读入的数存放到缓冲器中。若存放到缓冲器中的是奇数,则允许进程w1将其取出打印;若存放到缓冲器中的是偶数,则允许进程w2将其取出打印。

同时规定:进程r必须等缓冲区中的数被取出打印后才能再存放一个数;进程w1或w2对每次存入缓冲器的数只能打印一次;w1和w2都不能从空缓冲中取数。写出这三个并发进程能正确工作的程序。

semaphore s=1,so=se=0;

buffer b;

void r1()

int x;

while(1)

从输入设备上读一个数;

x=接收的数;

wait(s);

b=x;if b是奇数 then signal(so);

else signal(se);

void w1()

int y;

while(1)

wait(so);

y=b;signal(s);

打印y中数};

void w2()

int z;

while(1)

wait(so);

z=b;signal(s);

打印z中数 ;

main()

cobegin

process puta()

while(1)

main()

cobegin

void receiver(int i)

while (1)

wait(full);

wait(mutex);

mail=buffer[out];

out=(out+1) mod n;

signal(mutex);

signal(empty);

deal with the mail;

main()

cobegin

4、考虑三个吸烟者进程和一个经销商进程的系统。每个吸烟者连续不断地做烟卷并抽他做好的烟卷,做一支烟卷需要烟草、纸和火柴三种原料。这三个吸烟者分别掌握有烟草、纸和火柴。

经销商源源不断地提供上述三种原料,但他只将其中的两种原料放在桌上,具有另一种原料的吸烟者就可以做烟卷并抽烟,且在做完后给经销商发信号,然后经销商再拿出两种原料放在桌上,如此反复。试设计一个同步算法来描述他们的活动。

semaphore sa=sb=sc=0,sd=1;

i:integer;

void smokera()

while (1)

wait(sa);

制烟;signal(sd);吸烟;

void smokerb()

while (1)

wait(sb);

制烟;signal(sd);吸烟;

void smokerc()

while (1)

wait(sc);

制烟;signal(sd);吸烟;

void provider( )

while(1)

void r2()

int y;

while(1)

void w1()

int k;

while(1)

void w2()

int j;

while(1)

wait(s2);

j=b;signal(s);

打印j中数;

main()

cobegin

process cusotmeri( )顾客进程ielse

main( )

cobegin

operator( )

cusotmeri( )

8. 某寺庙有小和尚和老和尚各若干人,水缸一只,由小和尚提水入缸给老和尚饮用。水缸可容水10桶,水取自同一口水井中。

水井径窄,每次仅能容一只水桶取水,水桶总数为3个。若每次入、取水仅为1桶,而且不可同时进行。试用一种同步工具写出小和尚和老和尚入水、取水的活动过程。

互斥资源有水缸和水井,分别用mutex1和mutex2来互斥。水桶总数仅3只,由信号量count控制,信号量empty和full控制入水和出水量。

semaphore mutex1,mutex2,empty,full,count;

同步练习答案

第一章。1 1 c 2 b 3 a 4 a 2 a.胆固醇甾体化合物 b.维生素b1,b2,b6,b12 杂环化合物 c.维生素pp 杂环化合物 d.咖啡因杂环化合物 e.四氢呋喃醚类f.杂环化合物。第二章。1 命名下列有机物。1 4 丙基 6 异丙基壬烷2 3 甲基 5 氨基苯甲酸。3 3 甲基 ...

同步练习答案

召公谏厉王弭谤。一 单项选择。1c 2a 3c 4b 5d 6b 7b 8a 9a 10c 二 翻译 1 周厉王暴虐无道,老百姓都指责他的 2 召公告诉厉王说 人民忍受不了这样的 了!3 老百姓都不敢说话了,在路上遇见,也只是以眼神示意。4 我能制止老百姓的指责议论了,老百姓再也不敢说我坏话了。5 ...

同步练习 含答案

4.1从问题到方程。一 选择题。1 根据下列条件,能列出方程的是 a 一个数的2倍比小3b 与1的差的。c 甲数的3倍与乙数的的和 d 与的和的。2 一个长方形的周长是16cm,长比宽多2cm,那么长是。a.9cmb.5cmc.7cm d.10cm 3 在一次美化校园活动中,先安排32人去拔草,18...