北京理工大学-操作系统原理 第3章作业1

  1. 某寺庙中有若干个老和尚和小和尚,并有一个水缸能储存10桶水,小和尚每天从寺庙的水井中打水入缸供老和尚饮用。寺庙中有3个水桶,小和尚从井中打水时,由于水井口窄,每次只能使用1个水桶;每次打水入缸和从缸中取水仅为1桶,且不可同时进行。试用信号量和P、V操作,给出小和尚从井中打水和老和尚从缸中取水的算法描述。
/* 互斥信号量mutex1代表互斥使用水井,
互斥信号量mutex2代表互斥使用水缸,
Count 代表水桶的使用情况
Empty代表可提水入缸的桶数,
Full代表可从水缸提水的桶数。
*/
Var mutex1, mutex2, empty, full, count: semaphore;
mutex1:=1; mutex2:=1;
empty:=10; full:=0; count:=3;


Process 小和尚:
begin
While(1):
	P(empty);/是否需要打水
	P(count);/是否有桶
	P(mutex1);/水井是否可用
从水井打水
	V(mutex1);/离开水井
	P(mutex2);/水缸是否可用
将水倒入缸中
	V(mutex2);/离开水缸
	V(full);/增加水缸中的水的信号量值
	V(count);/释放水桶
end
	
Process 老和尚:
begin
While(老和尚渴的时候):
	P(full);/水缸是否有水
	P(count);/是否有桶
	P(mutex2);/水缸是否可用
从水缸中取水喝
	V(mutex2);/离开水缸
	P(empty);/增加水缸中的可入缸的桶数的信号量值
	V(count);/释放水桶
end
  1. 一个主修动物行为学、辅修计算机科学的学生参加了一个课题,调查花果山的猴子是否能被教会理解死锁。他找了一处峡谷,横跨峡谷拉了一条南北方向的绳索,这样猴子就可以攀着绳索越过峡谷。只要它们朝着同样的方向,同一时刻可以有多只猴子通过。但是如果在相反的方向上同时有猴子通过,则会发生死锁(这些猴子将被卡在绳索中间,假设这些猴子无法在绳索上从另一只猴子身上翻过去)。如果一只猴子想越过峡谷,它必须看当前是否有其他猴子在逆向通行。请使用信号量机制解决该问题。
/* 互斥信号量mutex1代表互斥使用绳索,
互斥信号量mutex2代表往南走的猴子使用时的保护临界区,
互斥信号量mutex3代表往北走的猴子使用时的保护临界区,
scount,ncount分别代表往南往北走的猴子的个数。
*/
Var mutex1, mutex2, mutex3, scount, ncount: semaphore;
mutex1:=1; mutex2:=1; mutex3 = 1;scount:=ncount:=0;



Process 南行猴子:
begin
While(有猴子想南行的时候):
	P(mutex2);/保护临界区
	if(scount == 0)
			P(mutex1);/等待绳索资源
scount++;
V(mutex2);/ 保护临界区
猴子通过绳索过桥
P(mutex2);/保护临界区
scount—
if(scount == 0)
		V(mutex1);/释放绳索资源
V(mutex2); /保护临界区
end
Process 北猴子:
begin
While(有猴子想北行的时候):
	P(mutex3);/保护临界区
	if(ncount == 0)
			P(mutex1);/等待绳索资源
ncount++;
V(mutex3);/ 保护临界区
猴子通过绳索过桥
P(mutex3);/保护临界区
ncount—
if(ncount == 0)
		V(mutex1);/释放绳索资源
V(mutex3); /保护临界区
end
  1. 有A、B两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题。将答案和向对方提出的新问题组成一个邮件放入对方的邮箱中。假设A的信箱最多放M个邮件,B的信箱最多放N个邮件。初始时A的信箱中有x个邮件(0<x<M),B的信箱中有y个邮件(0<y<N)。辩论者每取出一个邮件,邮件数减1。A和B两人的操作过程描述如下:
CoBegin
A{
   while(TRUE) {
      从A的信箱中取出一个邮件;
      回答问题并提出一个新问题;
      将新邮件放入B的信箱;
   }
}	B{
   while(TRUE) {
      从B的信箱中取出一个邮件;
      回答问题并提出一个新问题;
      将新邮件放入A的信箱;
   }
}
CoEnd

当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。当信箱不满时,辩论者才能将新邮件放入信箱,否则等待。请添加必要的信号量和P、V(或wait、signal)操作,以实现上述过程的同步。要求写出完整过程,并说明信号量的含义和初值。

/* 互斥信号量mutex1代表互斥使用A信箱,
互斥信号量mutex2代表互斥使用B信箱,
full1,full2分别代表往A、B信箱中有多少封信。
empty1,empty2分别代表往A、B信箱中还可放多少封信。
*/
Var mutex1, mutex2, full1,full2, empty1,empty2: semaphore;
mutex1:=1; mutex2:=1; full1:=x,full2:=y, empty1: =M-x,
empty2:= N-y;





Process A信箱:
begin
while(true)
{
	P(full1);/信箱A中是否有信
	P(mutex1);/信箱A是否被占用
	读取信件;
V(mutex1);/ 释放信箱
V(empty1); /A信箱可多放一封信	

回答问题并提问后;
P(empty2);/信箱B是否可放信件
P(mutex2);/信箱B是否被占用
将信件放入B中
V(mutex2);/释放B信箱
V(full2);/信箱B中多了一封信
end
}



Process B信箱:
begin
while(true)
{
	P(full2);/信箱B中是否有信
	P(mutex2);/信箱B是否被占用
	读取信件;
V(mutex2);/ 释放信箱
V(empty2); /B信箱可多放一封信	

回答问题并提问后;
P(empty1);/信箱A是否可放信件
P(mutex1);/信箱A是否被占用
将信件放入A中
V(mutex1);/释放A信箱
V(full1);/信箱A中多了一封信
end
}
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
山东理工大学计算机学院 课 程 设 计 (数据库系统原理) 网上书店管理信息系统 "班 级 " " "姓 名 " " "学 号 " " "指导教师 " " 二 一一年一月十三日 课程设计任务书及成绩评定 "课题名称 "网上书店管理信息系统 " 、题目的目的和要求 通过数据库系统原理课程设计的操作与实践,使学生了解关系数据库的相关理论知 识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识 、创新能力,具体掌握的基本能力有以下几方面: 1、学习和巩固《数据库系统原理》的基本知识。 2、关系数据库管理系统的基本使用方法。 3、熟悉SQL语言的主要功能及SQL语句的使用操作。 4、熟悉数据库管理系统的设计过程,培养解决实际问题的能力。 5、小型数据库应用系统的设计方法。 要求独立完成该课题设计。 、设计进度及完成情况 "日 期 "内 容 " "2011.1.4 "对系统进行总体分析与设计 " "2011.1.5 "进行总体系统概括描述分析 " "2011.1.6 "系统性能分析 " "2011.1.7 "逻辑结构设计,画出E-R图并转化为关系模式图 " "2011.1.8 "数据字典与相关数据定义 " "2011.1.9 "编写各个功能模块代码与总代码 " "2011.1.10 "代码测试与修改 " "2011.1.11 "系统各部分功能实现 " "2011.1.12 "整理文档与封面设计 " 、主要参考文献及资料 [1]王珊,萨师煊主编.数据库系统概论(第四版).北京:高等教育出版社,2006.5 [2]何志丹 著 深入浅出 Visual c++入门、进阶与应用实例 人民邮电出版社 [3] 维埃拉 著,董明 译 SQL Server 2005 高级程序设计 人民邮电出版社 [4] 李俊民著 精通 SQL——结构化查询语言详解 人民邮电出版社 学科部主任___________ 、成绩评定 设计成绩: 指导老师: 二 一一年 月 日 目 录 第一 系统概述…………………………………………………2 第二 系统分析…………………………………………………2 第三 功能分析…………………………………………………7 第四 系统实现…………………………………………………8 第五 调试过程中的问题及系统测试情况……………………15 第六 结束语……………………………………………………20 第一 概述 目前社会上信息管理系统发展飞速,越来越多的企事业单位都引入了信息管理软件来 管理自己日益增长的各种信息。各种网店也相继采用了不同的管理系统来管理商品信息 ,取得了很大的成效,网上书店管理系统也在功能上不但完善和加强,为了使书店管理 更 加规范化,程序化,科学化,我们研发了这次的网上书店管理系统。 本系统的功能是为管理者提供方便的管理、为顾客提供快捷的购买。系统的主要子模 块有图书管理,顾客管理等,可实现日常图书进货、发货业务,最终达到提高工作效率 的目的。顾客可以进入图书查询界面通过图书类别、图书名称、图书编号、折扣额度等 四种方式查询图书,查到满意的图书后可点击购买。管理者可以通过登录管理界面实现 对图书的添加、修改、删除操作以及发货和查看顾客信息, 管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售 书。 第二 系统分析 §2.1需求分析 2.1.1系统需求 书店管理系统需要满足来自三个方面需求:第一,书店工作人员通过计算机来管理各 类图书,进行图书分类编号,调整图书结构,增加图书库存,适应读者的需求。第二, 工作人员对读者的需求情况能作好全面的掌握,及时得到历史销售记录。第三,也是书 店的核心工作,对图书的销售管理。 2.1.1功能需求 基于系统需求分析,该系统需要实现以下基本功能: 1、主界面管理 本系统的使用用户分两种:管理员和顾客。管理员具有使用本系统的所有功能,而顾 客需要具有日常书店的管理功能即可。主界面中需要顾客注册、顾客登录和管理员登录 和三个功能,可以分别进入各自功能界面。 2、添加功能 新顾客可以通过此模块填写自己的各项信息。顾客可以通过此模块完成购卖书籍等操 作。管理员可以管理界面中输入书籍的各项信息。 3、修改功能 管理员可以通过次模块来管理各类图书信息,包括图书信息的修改。在进行图书的修 改时,根据用户选定的书进行修改,即列出所有用户选定的信息,在这个基础上进行图 书信息的修改。 4、删除功能 管理员可以通过此模块完成对图书信息的删除等操作 5、查询功能 通过查询功能,顾客可以对书籍按不同方式进行查询。管理员可以查询书籍的信息和 销售情况。 6、显示功能 通过此功能,可以将所需信息显示的列表框中。便于顾客和管理员观察使用数据库。 根据功能分析的结果,网上书店

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值