操作系统课程设计--进程通信与进程同步机制实践.docx 立即下载
2025-01-15
约7.4千字
约14页
0
157KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统课程设计--进程通信与进程同步机制实践.docx

操作系统课程设计--进程通信与进程同步机制实践.docx

预览

免费试读已结束,剩余 9 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开






《操作系统》课程设计

题目:进程通信与进程同步机制实践


学院名称:计算机科学与通信工程学院
班级学号:
学生姓名:
教师姓名:
教师职称:


2016年1月8日

目录
一课程设计内容

二开发环境

二原理

五主要数据结构和流程

六原语对应的函数及算法

七测试结果与分析

八总结

九源程序清单












一课程设计的内容
【设计内容】
某银行提供6个服务窗口(3个对私服务窗口,2个对公服务窗口,1个理财服务窗口、一台取号机和20个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号;若没有空座位,则在门外等待或离开。取号机每次仅允许一位顾客使用,有对公、对私和理财三类号,每位顾客只能选取其中一个。当营业员空闲时,通过叫号选取一位顾客,并为其服务。
【说明】
(1)可模拟设立一个服务时间区间如9:00-17:00,也可限定最大服务人数;
(2)顾客达到时间随机,办理对私、对公、理财业务随机,每位顾客服务时间可设定在一定范围内。这些都可通过随机数产生。
(3)取号时顾客拿到的号含有号码和等待的人数,例如A、B、C分别代表对私、对公、理财,“号码:A05,有2人等待”表示取的是对私服务号,编号是05,有2人等待办理对私业务。
(4)成绩评定:平时占60%,实验报告占40%;其中平时60%包括考勤和学习态度、学习积极性等占20%,两次检查,每次检查各占20%。
【检查说明】
第一次检查:时间18周周三-四,检查同步与互斥算法与API熟悉情况
第二次检查:时间18周周五上午与晚上,检查最终程序完成情况。
【要求】
说明设置哪些信号量?信号量的含义和初始值是什么?并用信号量和P、V操作写出进程的同步算法。(注:该内容包含在设计报告中,并在第一次检查时检查)
查阅并自学进程、线程的创建与撤销、信号量、P操作、V操作等相关原语的系统调用。(注:该内容包含在设计报告中,并在第一次检查时检查)
在Linux或Windows或Unix环境下,采用系统调用中的进程或线程的创建与撤销、信号量、P操作、V操作,编程解决上述问题,并完成调试与测试工作。(注:该内容包含将并在第二次检查时检查)
打印:(注意:由于多个进程共享一个显示器或文件,需要互斥访问)
各进程的初始状态信息;
中间状态变化信息;
最终状态信息。
例如,顾客到达时的时间状态信息,领取的号码信息,等待时间,接收服务的服务窗口信息、服务时间,离开时间等信息。
目的
通过课程设计模拟银行办理业务的情景,使用pv操作实现互斥与同步。来进一步熟悉课堂上讲授的pv操作原语,掌握进程的互斥与同步的知识。

二开发环境
windows操作系统,
使用Java语言,
在eclipse上实现

三原理及算法
1用一个线程来模拟一位客户,客户到来时间,离开时间,都是通过获取系统的时间来体现。中间等待及办理业务的时间则通过产生的一定范围的随机数对线程进行睡眠来模拟的
2总共分为三个类,
第一个类是包括主函数的类,用来开启程序并创建线程对象。
第二个类是线程类,包括线程的定义和线程的方法run方法,在run方法内对实现主要程序的功能的函数进行调用。
第三个类,就是存储的需要用到的主要变量,计数器,及实现程序功能的三个函数,供所有的线程公用。三个函数。
第一个函数进行座位的检测,有座位则进入银行,没有在在外等待,以及获取此时运行该线程的名字,作为一个客户的标识,并通告该客户到来及此时的时间。
第二个函数实现取号功能,其中包括判断取号机是否有人使用,取号时根据随机数产生三种不同的票号,同时该票号的内容还包括票的序号和此类票号对应的服务窗口现在还有多少人在等待。
第三个函数是服务功能,包括根据票号判断此时该类窗口是否有已满,满了就等待,没满则去办理业务。办理业务通过产生随机数对线程进行休眠,客户离开时,通告客户的服务时间,及离开的时间。

四主要数据结构和流程
六个信号量
一个代表大厅的座位,初值为20。
一个代表取号机,初值为1,。
三个窗口,初值分别为3,2,1。
一个用来实现对记录大厅人数的变量的互斥操作。
四个变量
一个代表办理业务的总人数。
三个分别代表三个窗口的等待人数。
票号的格式为服务+票号+等待人数。例如A-22-3表示办理对私服务,票号为22,该窗口还有3人在等待。
等待时间,服务时间,均是调用函数产生随机数。
流程图

五原语对应函数及pv算法
创建线程:继承Thread类,实现run方法
信号量semaphore
p操作:acquire
v操作:release
SemaphoreZcount,Qcount,counta,countb,countc,countx;
Zcount.value=20;
Qcount.value=1;
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

操作系统课程设计--进程通信与进程同步机制实践

文档大小:157KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用