- 15
- 0
- 约8.47千字
- 约 12页
- 2017-12-10 发布于河南
- 举报
1-网络操作系统课程设计题目
网络操作系统课程设计题目
从题目一到五中选择一个题目实现操作系统原理的程序设计,从题目六到八选择一个完成网络程序设计,两个题目交一份课程设计报告,要求附程序流程图及源代码!
题目选择规则:1、操作系统原理题目:学号除以6,余数为题目号,余数为0选题目一。2、网络程序设计题目:学号除以3,余数为1选题目六、余数为2选题目七、余数为0选题目八。
三、P、V操作及进程同步的实现
掌握信号量通信方式的一般方法,了解系统实现“阻塞”和“唤醒”功能的方法和技巧。同时掌握进程同步和互斥的概念及实现技术。
题目内容
(1)用C语言或C++语言编程实现P、V原语并用P、V原语描述如下生产者-消费者问题:
有一个理发师,一把理发椅和n把提供给等候理发的顾客座的椅子。如果没有顾客,则理发师便在理发椅子上睡觉;当第一个顾客到来时,必须唤醒该理发师进行理发;如果理发师正在理发时又有顾客到来,则如果有空椅子可坐,他就坐下来等待,如果没有空椅子,他就离开理发店。
为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件,试用P、V操作实现。
(2)分析
此题可看作是n个生产者和1个消费者问题。
顾客作为生产者,每到来一个就使计数器rc增加1,以便让理发师理发(相当于消费)至最后一个顾客(相当于产品)。并且,第1个到来的顾客应负责唤醒理发师;如果不是第1个到达的顾客,则在有空椅子的情况下坐下等待,否则离开理发店(该消息可由计数器rc获得)。
(3)理发师(barber)与顾客(customer)的并发程序的描述
begin
mutex:=1;
wakeup:=0;
wait:=0;
cobegin
customer I(I=1,2,3,…n)
begin
P(mutex);
rc:=rc+1;
if rc=1 then V(wakeup)
else
if rc=n then P(wait) /*顾客人数小于等于n时在椅子上等待*/
else
begin
rc:=rc-1; /*第n+1个顾客离开理发店*/
该顾客离开理发店;
end;
V(mutex);
end;
barber:
begin
P(wakeup);/*没有顾客时理发师睡觉(阻塞),直到第1个顾客来时唤醒*/
repeat
理发;
P(mutex);
rc:=rc-1;
if rc0 then V(mutex); /*让等待中的一个顾客理发*/
V(mutex);
until rc=0;
end
coend
end;
题目要求:
(1)定义信号量并将P、V操作定义为带参数
(2)以输出字符串的形式表示理发师和顾客的行为。
(3)设计适当的数据结构和函数描述顾客等待队列和“唤醒”理发师理发过程,以及没有顾客时的“阻塞”理发师过程。
(4)编程时需考虑理发师和顾客对应的程序是并发操作的。
提示:可利用随机函数模拟并发操作。
(5)理发师和顾客两个进程各自调用一个函数模拟生产及消费的操作。
消费者进程开始时首先测试生产者是否存在,若不存在,则循环测试直到生产者出现为止。消费者如果是第一次执行即转为睡眠状态,则直到生产者完成产品后再唤醒消费者,然后两者协调地工作下去。
#include iostream
using namespace std;
//模拟理发店问题
class HaircutShop{
//理发师的两种状态
enum BarberType{
BUSY,
SHEEP
};
public:
//构造函数n代表椅子数目
HaircutShop(int n){
MAXnum = n;
num = 0;
Barber = SHEEP;
}
//进入一个客户
void InputCustomer();
//服务一个客户
void ServiceCustomer();
private:
//理发师处理
BarberType Barber;
//理发店座位情况
int num; //当前使用数目
int MAXnum;//最大使用数目
};
void HaircutShop::ServiceCustomer(){
if(num==0){
cout没有客户在,理发师继续睡觉endl;
coutendl;
return;
}
cout一个客户来到理发椅endl;
//如果理发师在休息
if(Barber == SHEEP){
cout^^叫醒在睡眠的理发师endl;
Barber = BUSY;
}
num--;
cout^^完成一个客户理发工作endl;
if(num==0){
c
您可能关注的文档
最近下载
- 勿忘国殇吾辈自强纪念九·一八事变90周年心得体会多篇.docx VIP
- 新造船检验案例分析.pdf VIP
- 储能电站系统基础全面解析培训(68页 PPT).pptx VIP
- 初三家长会第二学期课件.pptx VIP
- 2025年滁州城市职业学院单招(计算机)测试备考题库附答案.docx VIP
- 高压脉冲方波下聚酰亚胺薄膜电老化寿命模型-材料工程.pdf VIP
- 2026高照资料分析-理论实战3+2学习.docx VIP
- 连续方波脉冲电压下温度对聚酰亚胺薄膜局部放电特性的影响.pdf VIP
- FIDIC菲迪克红皮书__(中文版).doc VIP
- 2026 新版教材七年级全一册英语单词表.docx VIP
原创力文档

文档评论(0)