ALL > Computer and Education > courses > university courses > undergraduate courses > Operating System > ZSTU-(2020-2021)-1 > online classroom execise >
online exercise -4 Version 0
👤 Author: by writer 2020-11-03 02:25:01 last modified by writer
The Customers and Barbers Problem (real case in a barbershop near a University).
A barbershop consists of n waiting chairs and has a chief barber B0(expensive cost) and two ordinary barbers(B1,B2). The customers are classified into three classes. Class A only asks chief barber's service, Class B only asks ordinary barber's service , Class C asks barber' service no matter the barber is chief or not. When a customer enters the barbershop, if all waiting chairs are occupied, the customer leaves the shop , otherwise the customer sits in one free chair at the end of queue. When any barber is free, he calls a customer in the queue who matches him in the way "first come first serve" and serve this customer. If there are more than one barber who are free, the way which barber calls customer first is according to the order(B0,B1,B2). If a barber is free and there are no customers who match him , he takes a rest. If waiting customers see their matched barbers are taking a rest, they arouse the barbers' attention. Write a program to coordinate the barbers and customers.

Please login to reply. Login

1756894282qqcom • 2020-11-03 15:34:20
The shared data structure is:
var barber,wait:semaphore;{initial value=0}
entry:semaphore;{initial value=A}
couter:integer; {initial value=0}
Code snippet about the barber:
repeat
p(barber);
"share"
until false;
About customer code snippet:
p(entry);
if count=n then exit;
count:=count+A;
if count>A then
begin
v(eatry);
p(wait);
end
else
begin
v(entry);
v(barber);
"share"
p(entry);
count:=count-A;
if count>0 then v(wait);
v(entry);
end PostVer 0

Please login to reply. Login

1079513613qqcom • 2020-11-03 15:40:08
<p class="p1"><span class="s1">var barber,</span></p>
<p class="p1"><span class="s1">wait:semaphore;</span></p>
<p class="p1"><span class="s1">{</span></p>
<p class="p1"><span class="s1">initial value=0</span></p>
<p class="p1"><span class="s1">} </span></p>
<p class="p1"><span class="s1">entry:semaphore;</span></p>
<p class="p1"><span class="s1">{</span></p>
<p class="p1"><span class="s1">initial value=A</span></p>
<p class="p1"><span class="s1">} </span></p>
<p class="p1"><span class="s1">couter:integer;</span></p>
<p class="p1"><span class="s1"> {</span></p>
<p class="p1"><span class="s1">initial value=0</span></p>
<p class="p1"><span class="s1">}</span></p>
<p class="p1"><span class="s1"> Code snippet about the barber: repeat p(barber);</span></p>
<p class="p1"><span class="s1"> "share" until false; </span></p>
<p class="p1"><span class="s1">About customer code snippet: p(entry); </span></p>
<p class="p1"><span class="s1">if count=n </span></p>
<p class="p1"><span class="s1">then exit; </span></p>
<p class="p1"><span class="s1">count:=count+A; </span></p>
<p class="p1"><span class="s1">if count</span><span class="s2">></span><span class="s1">A </span></p>
<p class="p1"><span class="s1">then begin v(eatry); </span></p>
<p class="p1"><span class="s1">p(wait); </span></p>
<p class="p1"><span class="s1">end</span></p>
<p class="p1"><span class="s1">else </span></p>
<p class="p1"><span class="s1">begin v(entry); </span></p>
<p class="p1"><span class="s1">v(barber); </span></p>
<p class="p1"><span class="s1">"share" p(entry); </span></p>
<p class="p1"><span class="s1">count:=count-A; </span></p>
<p class="p1"><span class="s1">if count</span><span class="s2">></span><span class="s1">0 then v(wait); </span></p>
<p class="p1"><span class="s1">v(entry); </span></p>
<p class="p1"><span class="s1">end</span></p> PostVer 0

Please login to reply. Login

804824950qqcom • 2020-11-03 15:47:13
The shared data structure is:
var barber,wait:semaphore;{initial value=0}
entry:semaphore;{initial value=A}
couter:integer; {initial value=0}

Code snippet about the barber:
repeat
p(barber);
"share"
until false;
About customer code snippet:
p(entry);
if count=n then exit;
count:=count+A;
if count>A then
begin
v(eatry);
p(wait);
end
else
begin
v(entry);
v(barber);
"share"
p(entry);
count:=count-A;
if count>0 then v(wait);
v(entry);
end PostVer 0

Please login to reply. Login

1720650158qqcom • 2020-11-03 17:27:44
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Barber.jpg"><img class="alignnone size-medium wp-image-8773" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Barber-300x100.jpg" alt="" width="300" height="100" /></a><a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/customer.jpg"><img class="alignnone size-medium wp-image-8774" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/customer-300x192.jpg" alt="" width="300" height="192" /></a> PostVer 0

Please login to reply. Login

cfeshete97gmailcom • 2020-11-04 01:08:50
Name:<strong> FESHETE CHARLES DE-GAULLE   2018529627022</strong>

&nbsp;

Problem:<strong> Sleeping Barber in Synchr</strong><strong>onization</strong>

<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/code.jpg"><img class="alignnone size-medium wp-image-8781" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/code-300x259.jpg" alt="" width="300" height="259" /></a> PostVer 0

Please login to reply. Login

244766935qqcom • 2020-11-06 20:41:33
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/1.png"><img class="alignnone size-medium wp-image-8811" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/1-250x300.png" alt="" width="250" height="300" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/2.png"><img class="alignnone size-medium wp-image-8812" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/2-209x300.png" alt="" width="209" height="300" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/3.png"><img class="alignnone size-medium wp-image-8813" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/3-239x300.png" alt="" width="239" height="300" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/4-1.png"><img class="alignnone size-medium wp-image-8814" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/4-1-300x67.png" alt="" width="300" height="67" /></a> PostVer 0

Please login to reply. Login

997371991qqcom • 2020-11-06 22:28:17
2018329621069 张时敏

<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/QQ图片20201106222917.png"><img class="alignnone size-medium wp-image-8815" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/QQ图片20201106222917-296x300.png" alt="" width="296" height="300" /></a> PostVer 0

Please login to reply. Login

653968106qqcom • 2020-11-07 18:17:01
2018329621008徐天然

<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获1-2.jpg"><img class="alignnone size-medium wp-image-8822" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获1-2-300x106.jpg" alt="" width="300" height="106" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获2-2.jpg"><img class="alignnone size-medium wp-image-8823" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获2-2-300x165.jpg" alt="" width="300" height="165" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获3-2.jpg"><img class="alignnone size-medium wp-image-8824" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获3-2-300x151.jpg" alt="" width="300" height="151" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获4.jpg"><img class="alignnone size-medium wp-image-8825" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获4-300x166.jpg" alt="" width="300" height="166" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获5.jpg"><img class="alignnone size-medium wp-image-8826" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获5-300x105.jpg" alt="" width="300" height="105" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获6.jpg"><img class="alignnone size-medium wp-image-8827" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获6-300x275.jpg" alt="" width="300" height="275" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获7.jpg"><img class="alignnone size-medium wp-image-8828" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/捕获7-300x222.jpg" alt="" width="300" height="222" /></a> PostVer 0

Please login to reply. Login

1730854984qqcom • 2020-11-08 14:12:56
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/理发师.jpg"><img class="alignnone size-medium wp-image-8844" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/理发师-300x295.jpg" alt="" width="300" height="295" /></a> PostVer 0

Please login to reply. Login

512858048qqcom • 2020-11-09 12:11:15
The program is :


int waiting=0; //等候理发顾客数 int CHAIRS=N; //为顾客准备的椅子数 semaphore customers,barbers,mutex; customers=0;barbers=0;mutex=1; cobegin process barber( ) { while(true) { P(customers); //有顾客吗?若无顾客,理发师睡眠 P(mutex); //若有顾客时,进入临界区 waiting--; //等候顾客数少一个 V(barbers); //理发师准备为顾客理发 V(mutex); //退出临界区 cut_hair(); //理发师正在理发(非临界区) } } process customer_i( ) { P(mutex); //进入临界区 if(waiting<CHAIRS) { //有空椅子吗 waiting++; //等候顾客数加1 V(customers); //唤醒理发师 V(mutex); //退出临界区 P(barbers); //理发师忙,顾客坐下等待 get_haircut(); //否则顾客坐下理发 } else V(mutex); //人满了,离开! } coend PostVer 0

Please login to reply. Login

2470994471qqcom • 2020-11-09 12:43:47
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/online_ex_5_1.jpg"><img class="alignnone size-medium wp-image-8848" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/online_ex_5_1-232x300.jpg" alt="" width="232" height="300" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/online_ex_5_2.jpg"><img class="alignnone size-medium wp-image-8849" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/online_ex_5_2-300x244.jpg" alt="" width="300" height="244" /></a> PostVer 0

Please login to reply. Login

1210775967qqcom • 2020-11-09 19:54:12
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part1.bmp"><img class="alignnone size-full wp-image-8853" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part1.bmp" alt="" width="540" height="689" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part2.bmp"><img class="alignnone size-medium wp-image-8854" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part2.bmp" alt="" width="208" height="300" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part3.bmp"><img class="alignnone size-medium wp-image-8855" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/part3.bmp" alt="" width="169" height="300" /></a> PostVer 0

Please login to reply. Login

hokyeejaufoxmailcom • 2020-11-09 20:52:51
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/1-2.png"><img class="alignnone size-medium wp-image-8858" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/1-2-300x137.png" alt="" width="300" height="137" /></a><a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/2-1.png"><img class="alignnone size-medium wp-image-8859" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/2-1-300x182.png" alt="" width="300" height="182" /></a><a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/3-1.png"><img class="alignnone size-medium wp-image-8860" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/3-1-300x269.png" alt="" width="300" height="269" /></a> PostVer 0

Please login to reply. Login

1403861656qqcom • 2020-11-09 22:37:55
The Shared data structure is:

var barber,wait:semaphore; {initial value =0}

entry:semaphore; {initial value =A}

couter:integer; {initial value =0}

Code snippet about barber:

repeat

p(barber);

"share"

until false;

Code snippet about the customer:

p(entry);

if count=n then exit;

count:=count+A;

If count &gt; A then

begin

v(eatry);

p(wait);

end

else

begin

v(entry);

v(barber);

"share"

p(entry);

count:=count-A;

If count &gt; 0 then v(wait);

v(entry);

en PostVer 0

Please login to reply. Login

454234624qqcom • 2020-11-10 00:21:58
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_01.jpg"><img class="alignnone size-medium wp-image-8862" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_01-300x157.jpg" alt="" width="300" height="157" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_02.jpg"><img class="alignnone size-medium wp-image-8863" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_02-300x149.jpg" alt="" width="300" height="149" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_03.jpg"><img class="alignnone size-medium wp-image-8864" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_03-300x263.jpg" alt="" width="300" height="263" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_04.jpg"><img class="alignnone size-medium wp-image-8865" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Online_Test04_04-292x300.jpg" alt="" width="292" height="300" /></a> PostVer 0

Please login to reply. Login

wx287_oz26ft1wt2_isbggtha4lgepaasa • 2020-11-17 14:34:47
2018529627050-DAVID BUKEDI DIELA

<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Document-53_1.jpg"><img class="alignnone size-medium wp-image-8926" src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/Document-53_1-300x268.jpg" alt="" width="300" height="268" /></a> PostVer 0

Please login to reply. Login

450766287qqcom • 2020-11-17 15:31:19
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/use-1.png"><img src="http://www.yvsou.com/wp-content/uploads/sites/30/2020/11/use-1-150x150.png" alt="" width="150" height="150" class="alignnone size-thumbnail wp-image-8936" /></a> PostVer 0

Please login to reply. Login

439731491qqcom • 2021-01-05 17:11:44
<p style="text-align: center;"><a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/捕获-3.png"><img class="alignnone size-medium wp-image-9298" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/捕获-3-300x230.png" alt="" width="300" height="230" /></a></p> PostVer 0

Please login to reply. Login

1119833189qqcom • 2021-01-06 22:11:24
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/1MS7MWHHAATC@C6_5_V.png"><img class="alignnone size-medium wp-image-9309" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/1MS7MWHHAATC@C6_5_V-231x300.png" alt="" width="231" height="300" /></a> PostVer 0

Please login to reply. Login

1224532347qqcom • 2021-01-07 13:31:58
理发师操作:

Barber(){

while(1){

P(wait);    //唤醒等待的一位顾客

P(mutex);  //顾客被唤醒,准备理发,没有顾客,则睡觉

custNum--;    //当前店里顾客数减1

V(barber);   //有顾客来了,醒来理发

V(mettux):   //释放互斥信号量

}

}

顾客操作:

Customer(){

while(1){

P(mutex);    //顾客想要理发

if(custNum&lt;N){   //店里人没有满

custNum++;

V(wait);     //理发师睡觉的话,唤醒他理发

V(mutex);    //释放互斥量,理发这一动作成功

P(baber);    //理发师进行理发操作

}

else

{

V(metux);    //释放互斥量,打消进店理发的举动

}

}

} PostVer 0

Please login to reply. Login

962305148qqcom • 2021-01-07 22:07:04
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/092Q3YUDRQJ@VZPDI92M.png"><img class="alignnone size-medium wp-image-9330" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/092Q3YUDRQJ@VZPDI92M-184x300.png" alt="" width="184" height="300" /></a> PostVer 0

Please login to reply. Login

1285795916qqcom • 2021-01-07 22:10:46
邱锐鹏  2018329621199

<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.14.39.png"><img class="alignnone size-medium wp-image-9331" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.14.39-300x220.png" alt="" width="300" height="220" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.14.54.png"><img class="alignnone size-medium wp-image-9332" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.14.54-300x215.png" alt="" width="300" height="215" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.15.06.png"><img class="alignnone size-medium wp-image-9333" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.15.06-300x219.png" alt="" width="300" height="219" /></a> <a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.15.14.png"><img class="alignnone size-medium wp-image-9334" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/屏幕快照-2021-01-07-下午10.15.14-300x218.png" alt="" width="300" height="218" /></a> PostVer 0

Please login to reply. Login

2736689890qqcom • 2021-01-08 00:38:26
2018329621239-严宇豪
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/share4.png"><img src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/share4-277x300.png" alt="" width="277" height="300" class="alignnone size-medium wp-image-9352" /></a> PostVer 0

Please login to reply. Login

indigo203outlookcom • 2021-01-08 04:24:59
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/ed.jpg"><img class="alignnone size-medium wp-image-9359" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/ed-300x176.jpg" alt="" width="300" height="176" /></a>

https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2018&amp;gist=740a7de843904a5c0f018d3ab0f7b13e PostVer 0

Please login to reply. Login

shatino94163com • 2021-01-08 19:22:54
<a href="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/Document-53_1.jpg"><img class="alignnone size-medium wp-image-9370" src="http://www.yvsou.com/wp-content/uploads/sites/30/2021/01/Document-53_1-300x268.jpg" alt="" width="300" height="268" /></a> PostVer 0

Please login to reply. Login

Reversion History

Loading...
No reversions found.