免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计专用纸 No1 1 目目 录录 一 课程设计目的及要求 1 1 二 相关知识 1 1 三 题目分析 2 2 四 概要设计 5 5 五 代码及流程 5 5 六 运行结果 5 5 七 设计心得 9 9 八 参考文献 9 9 沈阳理工大学课程设计专用纸 No1 1 一 课程设计目的及要求一 课程设计目的及要求 收银员与顾客 信号量操作 收银员与顾客 信号量操作 设计目的设计目的 加深对操作系统原理的进一步认识 加强实践动手能力和程序开发能力的 培养 提高分析问题解决问题的能力 培养合作精神 以巩固和加深磁盘调度的概念 操 作系统是一门工程性很强的课程 它不仅要求学生掌握操作系统的工作原理和理论知识 也要求学生的实际动手能力 以加深对所学习内容的理解 使学生熟练地掌握计算机的操 作方法 使用各种软件工具 加强对课程内容的理解 要求 要求 在某超市里有一个收银员 且同时最多允许有 n 个顾客购物 我们可以将顾客 和收银员看成是两类不同的进程 且工作流程如下图所示 为了利用 PV 操作正确地协调这 两类进程之间的工作 设置了三个信号量 S1 S2 和 Sn 且初值分别为 0 0 和 n 二 相关知识二 相关知识 Windows API 在本实验中涉及的 API 有 1 1 ExitThread 用于结束当前线程 VOID ExitThread DWORD dwExitCode exit code for this thread 2 2 信号量控制 WaitForSingleObject 可在指定的时间内等待指定对象为可用状态 DWORD WaitForSingleObject HANDLE hHandle handle to object DWORD dwMilliseconds time out interval hHandle 为等待的对象 也就是实现同步或者互斥的对象 该函数一执行 相应的信 号量就减去 1 如果信号量小于等于 0 那么他一直在循环 3 3 实现信号量互斥和同步 CreateSemaphore 用于创建信号量 根据参数的不同可以利用它实现互斥和同步 ReleaseSemaphore 用于释放信号量 使用后相应的信号量加 1 HANDLE CreateSemaphore LPSECURITY ATTRIBUTES lpSemaphoreAttributes SD LONG lInitialCount initial count LONG lMaximumCount maximum count LPCTSTR lpName object name ReleaseSemaphore HANDLE hSemaphore handle to semaphore LONG lRelseaseCount cont increment amount LPLONG lpPreviousCount previous count 沈阳理工大学课程设计专用纸 No1 2 三 题目分析三 题目分析 1 构筑收银员与顾客的队列 构造两个队列用来分别存放收银员与顾客的 P V 信息 typedef struct LNode typedef struct a 2 判定顾客处于哪个操作 void enque linklist int xin guke int guke shouyin typedef struct LNode char name LNode next Llist typedef struct a LNode front Llist last linklist linklist dengdai jiuxu void init linklist l front l last NULL void enque linklist p name name p next l front 沈阳理工大学课程设计专用纸 No1 6 l front p cout front name char deque linklist if l front NULL name l front name l front l front next cout del name front NULL cout front name front l front next void p xin guke if xin guke 0 if dengdai front NULL cout 顾客 front name 到就绪队列 endl enque jiuxu deque dengdai else cout 收银员忙 调度顾客到等待队列 0 if jiuxu front NULL enque dengdai deque jiuxu 沈阳理工大学课程设计专用纸 No1 7 void sy for int j shouyin j 0 j if jiuxu front NULL cout front name 收钱完毕 0 i p sy for i j i 0 i v int main cout 请输入顾客数 guke cout 请输入收银员数 shouyin xin guke shouyin guke 8 shouyin xin guke init dengdai init jiuxu for int i guke i 0 i enque dengdai char i 97 while dengdai front NULL jiuxu front NULL gk 沈阳理工大学课程设计专用纸 No1 8 return 0 六 运行结果六 运行结果 图 6 1 输入顾客数 图 6 2 输入收银员数 图 6 3 运行结果 如图所示 可以输入任意数量的顾客数和收银员数 当顾客数大于收银员数时 后面 的顾客将到等待队列中等待前面的顾客付完款 当前面的顾客将款付完后 后面的顾客进入就绪队列付款 付款后进入等待队列 表 示付款完毕 沈阳理工大学课程设计专用纸 No1 9 七 设计心得七 设计心得 此次操作系统的课程设计 从理论到实践 在两个星期的日子里 可以说是苦多于甜 但是可以学到很多很多的的东西 同时不仅可以巩固了以前所学过的知识 而且学到了很 多在书本上所没有学到过的知识 通过这次课程设计使我懂得了理论与实际相结合是很重 要的 只有理论知识是远远不够的 只有把所学的理论知识与实践相结合起来 从理论中 得出结论 才能真正为社会服务 从而提高自己的实际动手能力和独立思考的能力 通过这次操作系统的课程设计 我研究了收银员与顾客的问题 进一步深入了解了同 步与互斥机制 比如什么是同步 什么是互斥 什么是信号量等等 课程设计和平时的实验课比较起来有很大的差距 实验课只是将这一章的一部分内容 练习操作一遍 而课程设计需要的是他们综合起来的东西 这要更难一些 总体来说我认为操作系统这门学科在计算机科学当是中非常重要的 他将我们学过的 编程语言联系起来 可以说是第一次利用 C 语言利用 windows 的 API 与系统进行 沟通 同时在设计的过程中发现了自己的不足之处 对以前所学过的知识理解得不够深刻 掌握得不够牢固 自身知识的很多漏洞 看到了自己的实践经验还是比较缺乏 理论联系 实际的能力还急需提高 比如说编语言掌握得不好 应用程序编写不太会 通过这次课 程设计之后 一定把以前所学过的知识重新温故 在此 也感谢在课程设计过程中帮我解 惑的老师和同学 总而言之 这次操作系统的课程设计收获颇丰 复习了许多东西 也从新学会了许多 东西 我想这也许就是课程设计的最终目的吧 八 参考文献八 参考文献 1 刘振安
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年云南工程职业学院马克思主义基本原理概论期末考试真题汇编
- 基于云计算的数字化教学管理绩效评估指标体系在高校教学管理信息化中的应用研究教学研究课题报告
- 2025年西南交通大学马克思主义基本原理概论期末考试真题汇编
- 2025年华北电业联合职工大学马克思主义基本原理概论期末考试笔试真题汇编
- 2025年中南林业科技大学涉外学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年桂林医学院马克思主义基本原理概论期末考试真题汇编
- 2025年鹤岗师范高等专科学校马克思主义基本原理概论期末考试参考题库
- 2025年山西传媒学院马克思主义基本原理概论期末考试真题汇编
- 2024年景德镇学院马克思主义基本原理概论期末考试笔试题库
- 2024年四川现代职业学院马克思主义基本原理概论期末考试真题汇编
- 《毛泽东思想概论》与《中国特色社会主义理论体系概论》核心知识点梳理及100个自测题(含答案)
- 成人术后疼痛管理临床实践指南(2025版)
- 论语子张篇课件
- 扶梯咬人应急预案(3篇)
- 2025秋人教版(新教材)初中信息科技七年级(全一册)第一学期知识点及期末测试卷及答案
- 2025 医学急危重症重症重症剥脱性皮炎护理课件
- 医风医德培训课件
- 党的二十届四中全会精神题库
- 3D打印技术合同
- 注塑拌料作业指引 配料作业指导书全套
- 地基钎探记录(示范表格)
评论
0/150
提交评论