操作系统进程管理演示系统的设计设计.doc
《操作系统进程管理演示系统的设计设计.doc》由会员分享,可在线阅读,更多相关《操作系统进程管理演示系统的设计设计.doc(86页珍藏版)》请在三一办公上搜索。
1、防灾科技学院毕业设计防 灾 科 技 学 院毕 业 设 计题目操作系统进程管理演示系统的设计学生姓名学号系 别灾害信息工程专 业计算机科学与技术班级开题时间答辩时间指导教师职 称1操作系统进程管理演示系统的设计作 者: xxxxx指导教师: xxxxx摘要 操作系统的实际教学中很难用ppt等来直观可视化地演示进程管理各部分的工作原理。所以,开发一个操作系统进程管理演示系统来辅助操作系统教学是很有必要的。本系统采用Microsoft Visual Studio2013和cocos code ide编译器,以c#和lua语言为开发工具,主要实现了进程控制、进程调度、进程同步、进程通信、死锁避免五大模
2、块的功能。本系统具有可视性,简单,直观,便于老师教学,易于学生理解等优势。关键词:操作系统 ; c#; lua; cocos code ide Design of Operating System Process Management Demonstration SystemAuthor: xxxxInstructor: xxxxAbstract In practical teaching operating system hard to use PPT to visually demonstrate the principle of process management section. T
3、herefore, development of teaching management system to support operating system an operating system process when necessary.The system uses Microsoft Visual Studio 2013 and Cocos code IDE compiler, and LUA languages in c # as the development tool, the main achievement of the process control, process
4、scheduling, interprocess communication, process synchronization, deadlock avoidance of five modules of functionality.This system has visibility, simple, intuitive, convenient for the teacher teaching, easily understood student and so on.Keywords: Operating system;C#; lua; cocos code ide目 录1引言11.1 课题
5、背景11.2 国内外研究现状11.3本课题研究的意义11.4本课题的研究内容和目标12系统分析12.1可行性分析12.2需求分析22.3系统的主要技术分析32.4系统开发平台52.5系统运行环境63系统总体设计73.1系统结构设计73.2系统各功能模块介绍84 系统详细设计14.1系统进入选择界面的设计与实现14.2实际操作界面的设计与实现44.2.1进程控制模块44.2.2进程调度模块94.2.3进程同步模块144.2.4进程通信模块204.2.5死锁避免模块215 系统测试245.1测试目的245.2测试方法245.3测试实例24结论34致谢35参考文献36附录1防灾科技学院毕业设计1引言
6、1.1 课题背景随着科技的不断进步,人类生活中的各个方面都在走向简单,科技能帮助人类更加轻松的完成想要完成的事情。这涉及到整个人类社会的各个方面,课堂教学就是其中之一。现如今的课堂教学相较以前,变得更加“形象”。随着教学理念的改变,以前传统教学模式中,“知识加工”和“问题解决”的思考过程等不可见的环节已经被改变。教师们开始利用科技技术与相关设备,引入ppt,视频,flash等手段,将不可见的,枯燥的理论加以转换,变为可视的画面1。让学生从关注问题的“答案”,变为理解“答案的生成过程”。从而增加教学的质量,减少学生的学习压力。其中,针对教学内容制作的教学辅助演示系统,更是能帮助老师和学生的一种方
7、法。1.2 国内外研究现状目前在欧美等发达国家,针对教学内容制作的教学辅助演示系统有很多。如在计算机方面,化学方面,物理方面等。老师使用相当普及。在国内,这种专门针对教学内容的辅助演示系统还不是特别多。如果能加以推广,会更加方便课堂教学2。1.3本课题研究的意义在高校教学中常常会遇到许多生涩抽象的课程,这些课程的学习往往让学生难以理解,加大教师的教学难度,这种现象在计算机专业尤为明显。目前在高校教学中往往采用ppt,视频,flash等手段来增加授课效果,使教学过程更加生动形象,但这些并不能完全满足于日常教学,这在操作系统这门学科中尤为突出。所以开发一个操作系统进程管理演示系统来辅助操作系统教学
8、是很有必要的。1.4本课题的研究内容和目标 设计一个针对操作系统学科的操作系统进程管理演示系统,以Microsoft Visual Studio2013和cocos code ide为编译器,采用c#和lua语言来进行编译。系统由5个模块组成,功能如下:(1)进程控制模块:进程的创建(可以分为自动创建、手动创建)、进程的撤销、进程状态的变化、进程间的祖先关系、进程对各类资源的使用情况等。(2)进程调度模块:需要实现先来先服务、短作业优先、高响应比调度算法。(3)进程同步模块:生产者-消费者问题,哲学家进餐问题。(4)进程通信模块:实现共享内存、消息队列和管道通信三种通信方式。(5)死锁避免模块
9、:实现银行家算法。系统的特点要求操作界面清晰美观。使用者操作起来简单,容易上手。系统的功能要求实用,不繁琐。702系统分析2.1可行性分析对于可行性分析4,我从技术、经济、使用和法律4个方面着手。用最小的代价,最短的时间,确定操作系统进程管理演示系统的目标和规模是否可行,是否能解决问题。2.1.1技术可行性本系统选择的编译语言是c#和lua。因为该系统为可视化的界面系统。所以用c#和lua来编译会比较简单,适合。这两种语言均为时下最流行的高级程序设计语言之一。拥有编译简单,方便,可靠,安全,可移植性,灵活等优点。所以该系统在技术上是可行的。2.1.2经济可行性本系统的开发编译器软件是Visua
10、l Studio 2013和cocos code ide。这两个软件在微软的官方网站能够下载到免费的试用版本。而编译语言也是开放的。因此,该系统的开发成本基本为零,投入的只有人力成本和硬件成本。这两者也基本可以忽略不计。因为本系统没有了平台的限制,所以系统的独立性很高,与其他的系统相比,前期投入的资金和精力较少,让开发变得简单。能用较小的成本,达到预期中的要求。而系统对于运行环境没有要求,不会因为软硬件的限制了增加成本,只需要利用现有的计算机设备即可。所以该系统在经济上是可行的。2.1.3操作可行性本系统在操作难易程度上并不复杂,可以说相当简单。操作界面简洁明了,附有专门的使用说明,使用者能轻
11、松上手,无需专门训练了解。所以该系统在使用上是可行的。2.1.4法律可行性本系统全部采用的是开源软件,可以在网络上轻松获得认证,不管被用于任何用途都不会出现法律问题。所以该系统在法律上是可行的。综上所述,操作系统进程管理演示系统在技术、经济、使用、法律4个方面均为可行。目标和规模已经明确。该系统的开发是可行的。2.2需求分析在系统的可行性分析阶段,已经证明了系统开发平台和系统本身的可行性。接下来为了明确系统设计的目标,我将对系统进行需求分析。2.2.1用户需求高校教学中常常会遇到许多生涩抽象的课程。这些课程的学习往往让学生难以理解,加大教师的教学难度,这种现象在计算机专业尤为明显。目前在高校教
12、学中往往采用ppt,视频,flash等手段来增加授课效果,使教学过程更加生动形象,但这些并不能完全满足于日常教学。操作系统的实际教学中很难用ppt等来直观可视化地演示进程管理各部分的工作原理。所以,开发一个操作系统进程管理演示系统,通过可视化教学的方式来辅助操作系统教学是很有必要的。2.2.2性能需求(1) 实用性:系统要符合用户制定的需求,功能要符合用户的使用习惯和使用要求。系统界面要简洁,方便,直观。(2) 可维护性:使用者对系统的功能可以清晰的了解,并简单的使用该系统。根据需求,在系统上能轻松的进行维护。并且在功能的设计上还将考虑系统的可扩展性,根据需求的改变增加功能。(3) 安全性:制
13、作完成的系统要保证系统运行时所用到的各类信息的使用安全。防止使用人信息泄露。(4) 可移植性:系统开发结束后,需要能够在时下主流的所有操作系统所构成的环境中正常使用。2.2.3功能需求本系统的设计的目的是方便教师的课堂教学,提高课堂的教学效果。同时,也可以让学生能更好的理解教学内容,帮助学生建立进程管理部分的整体概念,提高学习效率。具体来说,本系统将会实现以下目标:(1)进程控制模块:进程的创建(可以分为自动创建、手动创建)、进程的撤销、进程状态的变化、进程间的祖先关系、进程对各类资源的使用情况等。(2)进程调度模块:需要实现先来先服务、短作业优先、多级反馈队列、时间片轮转、高响应比调度算法。
14、(3)进程同步模块:利用多线程技术编写生产者-消费者问题,哲学家进餐问题、读者-写者问题。(4)进程通信模块:实现共享内存、消息队列和管道通信三种通信方式。(5)死锁避免模块:实现银行家算法,能够计算银行家算法。2.3系统的主要技术分析2.3.1 Lua语言1993年,巴西里约热内卢天主教大学的三名教授在多日的努力后创造了一门新的编程语言。这门语言就是时下最为火热的编程语言之一Lua语言5。Lua是西班牙语里的单词,意思是美丽的月亮。这正是创造者们对它的期望,希望它成为一门简单,美妙,有趣不乏味的编程语言。Lua语言设计者的初衷是制作一门大多数人都能使用的脚本语言,它具有良好的嵌入性,方便切入
15、到其他应用程序中。所以它的设计原则就是四点:简单,小巧,具有可移植性、编译快速。语言的实现是运用ANSIC编写的,是将整个C程序库嵌入到所需要的程序中。Lua语言发展到今天,已经更新了多个版本,版本一直遵循着开源的传统原则,方便了广大的程序员。Lua语言在多个领域都有着广泛的应用,例如游戏开发、智能机器人、图像图形的处理等等。其中以游戏开发是最多的一个。许多著名的游戏,比如魔兽世界的插件、仙剑奇侠传五、愤怒的小鸟、部落冲突等都是使用Lua语言来进行编写的。配合着相应的游戏引擎,实现所需要的命令。Lua是一个轻量级脚本语言,也是一种便于嵌入目标程序的语言。Lua让C/C+编写的代码调用Lua脚本
16、,同时C/C+函数也能够在 Lua 脚本中调用。与 C/C+代码的交互性,让 Lua在应用程序开发中有着广泛的应用基础。很多应用程序使用 Lua 作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。2.3.2 Microsoft Visual Studio 简介Microsoft Visual Studio6(简称VS)是由美国Microsoft公司开发并发布的整合了多种编译语言的编译器。Microsoft Visual Studio是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持
17、的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework。Visual Studio是时下最流行的基于Windows平台的集成开发环境。随着版本更新,VS已经拥有了多个版本,最新版本为2015版。Microsoft Visual Studio 2013是Microsoft公司于2013年发布的Microsoft Visual Studio版本。新增了许多功能,如下:(1)代码信息的指示;(2)团队工作室(Team Room);(3)身份识别;(4).NET内存转储分析仪;(5)敏捷开发项目模板;(6)Git支持单元测试
18、,也支持单元测试之上的测试;2.3.3 进程调度问题 简介进程调度7是进程管理中最基本的功能。它的功能是创建一个新的进程,当一个进程完成工作后将其停止。或者当一个进程因为某种事件无法运行时将其停止。还可以负责进程运行时的状态转换。例如,当一个正在执行的进程因为某个事件导致无法继续运行,则需要将它的状态转换为阻塞状态;而当合适的事件出现,导致该进程能够运行时,又将该进程的状态转换为就绪状态。2.3.4 生产者-消费者问题 简介生产者-消费者问题8 (producer-consumer)属于进程同步问题。它描述的问题是:现有许多生产者(producer)进程正在生产所需要的产品。又有许多消费者(c
19、onsumer)进程,它们会去消费掉生产者生产的产品。如果生产者进程和消费者进程想要同时进行的话,那么在两者之间就必须设置一个拥有许多缓冲区的缓冲池。生产者进程会将它生产的产品放入其中一个缓冲区中。而消费者进程会从这个缓冲区拿走它所需要的产品。尽管所有的生产者进程和消费者进程都是在执行各自的任务。但是两者之间也有着相对的联系。因为如果缓冲区是空的,那么消费者进程是无法从中取得产品的;同时如果缓冲区满了,那么生产者进程也无法向其中投放产品。2.3.5 哲学家进餐问题 简介哲学家进餐问题问题9(The Dinning Philosophers Problem)属于进程同步问题,它的发明者叫做Dij
20、kstra。它描述的问题是:现有5个哲学家,他们有着一张圆形桌子,并且均匀的坐在桌子边。他们的生活就是思考和吃饭。他们两两之间都有一支筷子,当他们拿起身边的两支筷子时,他们就可以吃饭了。但是,当有一人吃饭时,这人旁边两位就不能吃饭了,因为他们没有筷子。吃饭完成后,筷子会放回原处。2.3.6 读者-先写问题 简介读者-先写问题10(Reader-Writer Problem)是指保证一个Writer进程必须与其他进程互斥地访问共享对象的同步问题。一个数据文件或者记录,可以被多个进程共享。我们把只要求读这个文件的进程叫做“Reader进程”,其他进程则称为“Writer”。允许多个进程同时读一个共
21、享对象,因为读操作不会使数据文件变得混乱。但是不允许一个Writer进程和其他Reader进程或Writer进程同时访问共享对象,因为这种访问会引起混乱。2.3.7 死锁问题 简介死锁11(Deadlock)是指当有多个进程同时在运行时,进程之间会进行资源的争夺,呈现分庭对峙的情形。当发生这种对峙时,如果没有其他的外力对其进行干预,进程们将无法继续运行,程序卡死。引起死锁的原因:(1)竞争资源。系统中拥有多种资源,如打印机,公用队列,运行内存,CPU等。当进程所需要的资源量超出了系统所提供的资源量,就会引起进程争夺资源,产生死锁。(2)进程间推进顺序非法。进程在运行的时需要有正确的请求和释放资
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理 演示 系统 设计
链接地址:https://www.31ppt.com/p-4821899.html