- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要
在计算机网络高速发展的今天,计算机技术不断地更新与完善,无论是硬件
还是软件的变更都会在计算机操作 统的设计技术与使用风格上得到体现。
操作 统是计算机 统配置的所有软件中使用最广泛的基础软件,它在整
个计算机 统软件中处于中心地位,也是计算机专业课教学中做重要的环节之
一。从操作 统自身角度讲,它不仅很好地体现了计算机日益发展中的软件研究
成果,而且也较好地体现了计算机的硬件技术发展及计算机 统结构的用户界
面环境。
我们团队共同开发一个简单的操作 统程序,实现了课本所讲解的计算机
的P操作和V操作的原理,利用C程序设计,能在Linux环境下平 运行。
1 / 19
目录
摘要2
概述4
课程设计任务及要求4
2.1、设计任务4
2.2、设计要求4
算法及数据结构5
3.1、算法的总体思想(流程)5
3.2、P模块6
3.3、V模块7
程序设计与实现10
4.1 程序流程图10
4.2 程序代码10
4.3 实验结果10
结论14
收获、体会和建议14
参考文献15
2 / 19
概述
本实验利用P、V操作进行设计。
信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,
但S小于零时则表示正在等待使用临界区的进程数。
P原语操作的动作是:
(1)S减1 ;
(2)若S减1后仍大于或等于零,则进程继续执行;
(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然
后转进程调度。
V原语操作的动作是:
(1)S加1 ;
(2)若相加结果大于零,则进程继续执行;
(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然
后再返回原进程继续执行或转进程调度。
PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原
语行期间不允许有中断的发生。
本课题利用P操作和V操作来模拟车辆的出发和到达。
课程设计任务及要求
2.1、设计任务
2.1、设计任务
3 / 19
了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利
用信号量实现对共享资源的控制。
分工:
胡海斌:主要代码编码,文档初步版本编写,画部分程序流程图
鲍春晓:画部分程序流程图,检测程序健壮性,对代码进行改进,文档修改
改善
2.2、设计要求
2.2、设计要求
编程模拟交通信号灯的控制。
1) 问题描述:一个十字路口,共有四组红绿灯,每个路口的车辆都遵循“红灯
停,绿灯行”的原则,假设将每一台汽车都作为一个进程,请设计良好的机
制,展示出合理的“十字路口交通管理”情况。
2) 车辆通行设定:路口宽度不限,对一个路口而言,只有当一辆车通过路口(
越过对面路口的交通灯后),其后续车辆才能继续通过交通灯,车辆通过
路口的时间可以固定,可以自行计算。
3) 进程的互斥:交通灯进程实际上是互斥的,即不能同时为红或者同时为绿
。
4) 进程的消息通信或其通信方式:对车辆进程而言,每一个车辆在通过路口
前,必须确认前面的车辆已经通过了路口。
5) 进程的调度:停留在一个路口的车辆,决定其前进或等候的因素是交通灯
和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆
的通行。
4 / 19
算法及数据结构
3.1、算法的总体思想(流程)
3.1、算法的总体思想
文档评论(0)