武汉工程大学《计算机操作系统课程设计报告》附录源码.docx

上传人:b****4 文档编号:3937437 上传时间:2022-11-26 格式:DOCX 页数:30 大小:313.70KB
下载 相关 举报
武汉工程大学《计算机操作系统课程设计报告》附录源码.docx_第1页
第1页 / 共30页
武汉工程大学《计算机操作系统课程设计报告》附录源码.docx_第2页
第2页 / 共30页
武汉工程大学《计算机操作系统课程设计报告》附录源码.docx_第3页
第3页 / 共30页
武汉工程大学《计算机操作系统课程设计报告》附录源码.docx_第4页
第4页 / 共30页
武汉工程大学《计算机操作系统课程设计报告》附录源码.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

武汉工程大学《计算机操作系统课程设计报告》附录源码.docx

《武汉工程大学《计算机操作系统课程设计报告》附录源码.docx》由会员分享,可在线阅读,更多相关《武汉工程大学《计算机操作系统课程设计报告》附录源码.docx(30页珍藏版)》请在冰豆网上搜索。

武汉工程大学《计算机操作系统课程设计报告》附录源码.docx

武汉工程大学《计算机操作系统课程设计报告》附录源码

武汉工程大学

计算机科学与工程学院

综合设计报告

设计名称:

操作系统综合设计

设计题目:

进程同步与死锁

学生学号:

专业班级:

学生姓名:

学生成绩:

指导教师(职称):

张立(讲师)

完成时间:

14年2月17日至14年2月28日

 

武汉工程大学计算机科学与工程学院制

说明:

1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。

2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。

3、指导教师评语一栏由指导教师就学生在整个综合设计期间的表现、设计完成情况、报告的质量及答辩等方面,给出客观、全面的评价。

4、所有学生必须参加综合设计的答辩环节。

凡不参加答辩者,其成绩一律按不及格处理。

答辩小组成员应由2人及以上教师组成。

5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。

6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。

7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。

答辩记录表

学生姓名:

学号:

班级:

答辩地点:

计算机大楼403机房

答辩内容记录:

 

答辩成绩

合计

分值

各项分值

评分标准

实际得分

合计得分

备注

25

10

在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。

15

在规定时间内能准确、完整、流利地回答教师所提出的问题。

答辩小组成员(签字):

2014年2月28日

成绩评定表

学生姓名:

学号:

班级:

类别

合计

分值

各项分值

评分标准

实际得分

合计得分

备注

平时表现

10

10

按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。

完成情况

30

20

按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。

10

能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。

报告质量

35

10

报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。

5

课题背景介绍清楚,综述分析充分。

5

设计方案合理、可行,论证严谨,逻辑性强,具有说服力。

5

符号统一;图表完备、符合规范要求。

5

能对整个设计过程进行全面的总结,得出有价值的结论或结果。

5

参考文献数量在3篇以上,格式符合要求,在正文中正确引用。

答辩情况

25

10

在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。

15

在规定时间内能准确、完整、流利地回答教师所提出的问题。

总评成绩

指导教师评语

 

指导教师:

(签字)日期:

2014年2月28日

一、综合设计目的、条件、任务和内容要求:

《操作系统》在计算机科学中是一门核心专业基础课,涉及较多硬件和软件知识。

在计算机软、硬件课程的设置上,它起着承上启下的作用。

其特点是概念多、较抽象、涉及的知识面广。

《操作系统综合设计》是计算机科学与技术专业学生的一门实践课程,是学习完操作系统课程后的课程设计,本课程的教学目的是,通过学习,使学生了解计算机操作系统的发展特点;理解操作系统的基本概念、组成和各部分的功能;掌握计算机操作系统设计的基本原理和方法;理解常见操作系统的结构原理并能熟练使用。

《进程同步与死锁》课题,要求学生熟悉Windows中的线程及进程的创建,掌握利用Windows中的同步机制实现线程同步,掌握用银行家算法进行死锁的避免避免亮的____________________________________________________________________________________________________________________________。

培养学生的抽象思维能力、逻辑推理能力和形式化思维方法,增强分析问题和解决问题的能力。

设计任务和内容要求:

实现生产者消费者问题,利用银行家算法实现进程的死锁避免。

 

二、进度安排:

第1周(2.17-2.18):

学生熟悉课题的任务和要求,查阅相关文献和资料,并做好编码准备

第1周(2.19-2.21):

程序编码、调试

第2周(2.24-2.27):

程序编码、调试和测试,书写报告

第2周(2.28):

答辩、检查、验收、递交设计报告

 

三、应收集资料及主要参考文献:

应收集的资料:

面向对象程序设计思想和方法

高级程序设计语言参考手册

操作系统、软件工程方面参考书籍

主要参考文献:

[1]谭浩强著.C程序设计(第四版).北京:

清华大学出版社,2010.6

[2]李春葆主编.数据结构教程.北京:

清华大学出版社,2013.1

[3]汤子瀛等.计算机操作系统.北京:

西安电子科技大学出版社,2004.5

 

四、摘要:

进程同步与死锁是操作系统研究中主要的学习课题,多进程的系统中进程之间的同步关系是进程之间直接的相互作用,是合作进程间有意识的行为。

然而,典型的例子有消费者和生产者之间的同步关系,只有通过生产者生产出产品,消费者才能消费,消费者和生产者之间的行动需要一定的协调。

同样地,两进程之间有时也有这样的依赖关系,因此也要有一定的同步机制保证他们的执行次序。

Dijkstra的银行家算法是最有代表性的避免死锁的算法,该算法由于能用于银行系统现金贷款的发放而得名。

银行家算法是在确保当前系统安全的前提下推进的。

对进程请求先进行安全性检查,来决定资源分配与否,从而确保系统的安全,有效的避免了死锁的发生。

在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。

如果资源分配不得到就会发生进程循环等待资源,则进程都无法继续执行下去的死锁现象。

在理解和分析了进程同步与死锁的核心思想以及状态的本质涵义的前提下,对算法的实现在总体上进行了设计,包括在对算法分模块设计,并对各个模块的算法思想通过流程图表示,分块编写代码,并进行测试,最后进行程序的测试。

本设计是通过编写和调试一个系统动态分配资源的简单模拟程序,观察同步与死锁产生的条件,并采用适当的算法,有效地防止和避免死锁地发生.

 

五、Abstract:

Processsynchronization anddeadlock isthe operationofthemain learningsystemresearch, synchronizationbetweenthe process system process is adirectinteraction betweenprocesses, isacooperative process conscious behavior.However, thereis asyncrelationship betweenconsumersand producersoftypicalexample, onlyby producers toproduceproducts, consumer to consumer,betweenconsumersand producers of action needcertain coordination. Similarly,thetwo processis sometimesalsohave suchadependency, itshouldbe certainthattheir synchronizationmechanism executionorder.

Bankersalgorithm Dijkstraisthemost representativeofthealgorithmtoavoiddeadlock, thisalgorithm canbeusedfor thebankingsystem becauseofits cashloans. Bankersalgorithmis advancinginthe premisetoensure the systemsecurity. Thefirst securitycheck to processrequests, to determinetheallocationofresources ornot, soas toensurethesafetyofthesystem, avoid deadlock.Researchonresourceallocation strategies intheoperatingsystem also havesimilarproblems, thesystem oflimitedresources for multipleprocesses, mustguaranteethe resourcesofthe process toreturnthe resource inlimitedtime, forotherprocesses resources. Ifthe resourceisnotallocated by theprocessofcircular waitingforresources willoccur, theprocess cannotcontinueto executethe deadlock phenomenon.

Ontheunderstandingand analysisofthe essentialmeaningof processsynchronizationand deadlock thecorethoughtaswellasthe stateofthealgorithm, the realizationof design ingeneral, includinginthe design ofalgorithms, andeach algorithmmodule ideasthrough aflowchart, block code,andtest, andfinally programtest. Thedesignisa simplesimulationprogram bycompilinganddebugginga systemdynamicallocationofresources,synchronizationand deadlock observation conditions, andbyusingtheappropriate algorithm, effectivelypreventand avoiddeadlock occurred

 

目录

摘要………………………………………………………………………………………II

Abstract………………………………………………………………………………......III

第一章课题背景………………………………………………...................................…..1

1.1课题背景及目的……………………………………………………………...……...1

1.2课题内容及分析………………………………………..……………………….……1

第二章设计简介及设计方案论述………………………………………………………..2

2.1设计简介..…………………………..............................................................................2

2.2设计方案论述…………………………………………..…………………………..…2

2.3设计流程图……………………..…………………………......................................…3

第三章详细设计…………………………………………………………..…………….....6

3.1算法思想……………………………………………..…………………………......…6

3.1.1基本思想……………………………………………..……..................................…...6

3.2算法描述及数据结构……………………………………………..…….....................…6

3.2.1生产者/消费………………………………..................................……………..….…6

3.2.2银行家算法…………………………………..………………………….…........6

第四章设计结果及分析…………………………………………………..……………….7

4.1生产者/消费者调试界面………………………..……………......................................7

4.1.1主程序界面………………………..……........................................................………7

4.1.2菜单界面………………………............................................................…………......7

4.2银行家算法调试界面………………………..………................................................…9

4.2.1主程序界面………………………............................................................………….9

4.2.2菜单界面………………………..……………...........................................................10

总结…….……………………………………………………..……………………….….12

致谢…….……………………………………………………..…………………………..13

参考文献…….………………..………………………………..…………………………..14

附录主要程序代码………...………………………………..………………………..…15

摘要

进程同步与死锁是操作系统研究中主要的学习课题,多进程的系统中进程之间的同步关系是进程之间直接的相互作用,是合作进程间有意识的行为。

然而,典型的例子有消费者和生产者之间的同步关系,只有通过生产者生产出产品,消费者才能消费,消费者和生产者之间的行动需要一定的协调。

同样地,两进程之间有时也有这样的依赖关系,因此也要有一定的同步机制保证他们的执行次序。

Dijkstra的银行家算法是最有代表性的避免死锁的算法,该算法由于能用于银行系统现金贷款的发放而得名。

银行家算法是在确保当前系统安全的前提下推进的。

对进程请求先进行安全性检查,来决定资源分配与否,从而确保系统的安全,有效的避免了死锁的发生。

在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。

如果资源分配不得到就会发生进程循环等待资源,则进程都无法继续执行下去的死锁现象。

在理解和分析了进程同步与死锁的核心思想以及状态的本质涵义的前提下,对算法的实现在总体上进行了设计,包括在对算法分模块设计,并对各个模块的算法思想通过流程图表示,分块编写代码,并进行测试,最后进行程序的测试。

本设计是通过编写和调试一个系统动态分配资源的简单模拟程序,观察同步与死锁产生的条件,并采用适当的算法,有效地防止和避免死锁地发生.

关键词:

进程同步与死锁;生产者与消费者;银行家算法;安全性序列

 

Abstract

Processsynchronization anddeadlock isthe operationofthemain learningsystemresearch, synchronizationbetweenthe process system process is adirectinteraction betweenprocesses, isacooperative process conscious behavior.However, thereis asyncrelationship betweenconsumersand producersoftypicalexample, onlyby producers toproduceproducts, consumer to consumer,betweenconsumersand producers of action needcertain coordination. Similarly,thetwo processis sometimesalsohave suchadependency, itshouldbe certainthattheir synchronizationmechanism executionorder.

Bankersalgorithm Dijkstraisthemost representativeofthealgorithmtoavoiddeadlock, thisalgorithm canbeusedfor thebankingsystem becauseofits cashloans. Bankersalgorithmis advancinginthe premisetoensure the systemsecurity. Thefirst securitycheck to processrequests, to determinetheallocationofresources ornot, soas toensurethesafetyofthesystem, avoid deadlock.Researchonresourceallocation strategies intheoperatingsystem also havesimilarproblems, thesystem oflimitedresources for multipleprocesses, mustguaranteethe resourcesofthe process toreturnthe resource inlimitedtime, forotherprocesses resources. Ifthe resourceisnotallocated by theprocessofcircular waitingforresources willoccur, theprocess cannotcontinueto executethe deadlock phenomenon.

Ontheunderstandingand analysisofthe essentialmeaningof processsynchronizationand deadlock thecorethoughtaswellasthe stateofthealgorithm, the realizationof design ingeneral, includinginthe design ofalgorithms, andeach algorithmmodule ideasthrough aflowchart, block code,andtest, andfinally programtest. Thedesignisa simplesimulationprogram bycompilinganddebugginga systemdynamicallocationofresources,synchronizationand deadlock observation conditions, andbyusingtheappropriate algorithm, effectivelypreventand avoiddeadlock occurred

Keywords:

Processsynchronization anddeadlock; producersandconsumers; thebankeralgorithm; safety series

Keywords:

Android.Sqlite;Flightinformationmanagement;Effectofthedrawer

 

第一章课题背景

1.1课题背景及目的

《操作系统》这一门课程在计算机科学中是一门核心专业基础课,它涉及的知识面广阔,涵盖的内容丰富,它可以培养学生的抽象思维能力、逻辑推理能力和形式化思维方法,增强分析问题和解决问题的能力。

因此,本门课程设计是一门重要的学科问题。

在多道程序系统中,虽可以借助多个进程的并发执行来改善系统的资源利用率,提高系统吞吐量,但可能发生一种危险——死锁,即多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,将无法再向前推进。

如此,寻求一种避免死锁的方法便显得有为重要。

死锁的产生一般的原因有两点:

竞争资源和进程间推进顺序非法。

因此,我们只需在当前的有限资源下,找到一组合法的执行顺序,便能很好的避免死锁,我们称它为安全序列。

而银行家算法起源于银行系统的发放贷款,和计算机操作系统的资源分配完全符合,因此可以借鉴该算法的思想,设计出一种有效的算法程序,解决该问题。

同时,进程的同步也是多道程序系统中的重要问题,通过对消费者,生产者问题,有助于我们了解和学习操作系统这门课程。

这次课程设计,让我们运用软件工程的方法指导设计和实现,对这学期刚刚学过的软件工程课的复习,从而提高自己的分析问题,解决问题和动手能力,同时,通过整个算法的设计与实现进一步加深了对算法的理解和多道程序下的计算机系统资源分配现状,为以后进一步的学习打下了良好的基础,这样的课程设计对我们来说,是一个演练,也是对我们将来工作的练习和对自己知识的巩固。

1.2课题内容及分析

生产者-消费者设计的应用程序中点“启动

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1