操作系统课程设计并发进程的模拟

上传人:tia****nde 文档编号:36871041 上传时间:2018-04-03 格式:DOC 页数:19 大小:1.88MB
返回 下载 相关 举报
操作系统课程设计并发进程的模拟_第1页
第1页 / 共19页
操作系统课程设计并发进程的模拟_第2页
第2页 / 共19页
操作系统课程设计并发进程的模拟_第3页
第3页 / 共19页
操作系统课程设计并发进程的模拟_第4页
第4页 / 共19页
操作系统课程设计并发进程的模拟_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《操作系统课程设计并发进程的模拟》由会员分享,可在线阅读,更多相关《操作系统课程设计并发进程的模拟(19页珍藏版)》请在金锄头文库上搜索。

1、 课课程程设设计计说说明明书书题目: 并发进程的模拟 院 系: 计算机科学与工程 专业班级: 学 号: 学生姓名: 指导教师: 2014 年 11 月 12 日 安徽理工大学课程设计(论文)任务书计算机科学与工程 院系 计算机 教研室学 号学生姓名专业(班级)设计题目并 发 进 程 的 模 拟设 计 技 术 参 数(1)系统作业或进程的数目;(2)通过 P,V 操作量实现进程同步的目的;(3)同步信号灯 Sb 和 Sc 的值;(4)进程的先后顺序。设 计 要 求(1)编程用信号灯的 p、v 操作实现这三个进程的同步。(2)任务启动后 pa先执行,当它结束后,pb、pc可以开始执行, pb、pc

2、 都执行完毕后,任务终止。(3)设两个同步信号灯 sb、sc分别表示进程 pb和 pc能否开始执行,其初值均为 0。工 作 量要求设计说明书的字数在 3000 字以上。工 作 计 划2014.11.21-2014.11.26 根据课程设计的要求,查找相关资料,完成需求分析;2014.11.27-2014.12.02 进行系统的概要设计;2014.12.03-2014.12.08 进行系统的详细设计和源代码的书写;2014.12.08-2014.12.13 对系统进行调试分析,写出课程设计报告。参 考 资 料1 龚沛曾等编.Java 程序设计教程.北京:高等教育出版社,2004.2 谭浩强编著.

3、Java 程序设计(第二版).北京:清华大学出版社,1999.3 庞丽萍等编著.计算机操作系统教程.北京:清华大学出版社,2011.4 汤晓丹等编. 操作系统. 北京:电子工业出版社,2009.5 刘腾红等编著. 操作系统. 北京:中国铁道出版社,2008.6 王国辉等编著. Java 项目开发.西安:西安电子科技大学出版社,2011指导教师签字教研室主任签字2014 年 11 月 21 日安徽理工大学课程设计(论文)成绩评定表安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩: 指导教师: 年 月 日目录目录1 问题描述.12 需求分析.13 概要设计.21. P 操作.22. V 操

4、作 .33. P,V 操作实现进程同步.44. 功能模块设计.54 详细设计.71.主界面的设计程序.72.进程 Pa 的执行.83.进程 Pb 的执行.94.进程 Pc 的执行.95.按钮的执行.105 调试的分析与运行结果.116 设计体会.13参考文献.141 问题描述问题描述在进程并发执行的过程中,进程之间存在协作的关系,例如,有互斥、同 步的关系。该课程设计的是了解进程同步的概念,理解信号量机制的原理,掌 握运用信号量解决进程并发控制问题的方法,进而学会运用进程的同步,利用信 号灯的 P,V 操作实现三个进程的同步。这三个进程的同步关系如下:从上图中可以看出:任务启动后 pa 先执行

5、,当它结束后,pb、pc 可以开 始执行, pb、pc 都执行完毕后,任务终止;设两个同步信号灯 sb、sc 分别表 示进程 pb 和 pc 能否开始执行,其初值均为 0。 在现代操作系统中,有大量的并发进程在活动,它们都处在不断的申请资 源,使用资源以及其它进程的相互制约的活动中,这些进程什么时候停止运行, 什么时候该继续向前推进,应根据事先的约定来规范它们的行为,这时我们可 以根据同步信号灯来实现进程的同步协调工作。例如本题中,只有 pa 进程顺利 的进行完,Pb,Pc 这两个进程才能正常的进行。如果进程 Pa 在进行中出现停 止或中断,则 Pb 和 Pc 是不会顺利的完成的;而进程 Pb

6、,Pc 这两个进程是并 行执行的,两个进程的进行是互不干扰的,只要进程 Pa 完成后,进程 Pb 和 Pc 才会正常执行,否则只有处在等待就绪中。2 需求分析需求分析进程执行的并发性的意义是关于一组进程的执行在是时间上是重叠的,从 宏观上看,并发性反应的是一个时间段中几个进程都在同一个处理器上,处于 运行还未运行结束状态。从微观上看,任何一个时刻仅有一个进程在处理器上 运行。并发的实质是一个处理器在几个进程之间的多路复用,并发是对有限的 物理资源强制行驶多用户共享,消除计算机部件之间的乎等现象,以提高系统资源利用率。并发进程分为无关的和交往的,无关的并发进程是一组并发进程分别在不 同的变量集合

7、上操作,一个进程的执行与其他并发进程的进展无关。引入进程 是为了更好的解决实际中存在的竞态问题,进程同步的主要任务是对多个相关 的进程在执行次序上进行协调,以便并发执行的诸进程之间能有效的共享资源 和相互合作,从而使执行更具有可再现性。利用进程同步可以更好地解决生活 中有先后执行顺序的问题,进程的交往包括金正与写作,多个进程之间彼此相 关或者是无关,二资源金正的两个控制问题一个是死锁(Deadlock)问题,一 个是饥饿(Starvation)问题,系统中既要解决饥饿问题,又要解决死锁问题。 解决进程间的竞争关系(简介制约关系)的手段是进程互斥,进程互斥指的的 就是资源的共享问题,以往内在同一

8、时刻最多允许一个进程使用,其他进程必 须等待,我们这个任务所需要的就是先执行其中的一个任务,在结束之后进行 另外的进程。所以我们解决这个问题的同时学习并发进程。3 概要设计概要设计1.P 操作对信号灯的 P 操作记为 P(s)。P(s)是一个不可分割的原语操作,即取信号灯 值减一,若相减结果为负,则调用 P(s)的进程被阻,并插入到信号灯的等待队 列中,否则可以继续执行。 P 操作的主要动作: a)s 值减一; b)若相减结果大于或等于 0,则进程继续执行; c)若相减结果小于 0,则进程被封锁,并将它插入到该信号灯的等待队列 中,然后转进进程调度程序。 P 操作的流程图:2.V 操作对信号灯

9、的 V 操作记为 V(s)。V(s)一个不可分割的原语操作,即取信号灯值加 1,若相加 结果大于 0,进程继续执行,否则,唤醒在信号灯等待队列上的一个进程。V 操作的主要动作 a)s 值加一; b)若相减结果大于 0,则进程继续执行; c)若相减结果小于或等于 0,则从该信号灯的等待队列中移出一个进程,解除 它的等待状态,然后返回本进程继续执行。 V 操作的流程图:3.P,V 操作实现进程同步(1)编程用信号灯的 p、v 操作实现这三个进程的同步。(2)任务启动后 pa 先执行,当它结束后,pb、pc 可以开始执行, pb、pc 都执行完毕后,任务终止。 (3)设两个同步信号灯 sb、sc 分

10、别表示进程 pb 和 pc 能否开始执行,其初值均为 0。 其题目的算法描述如下:4.功能模块设计本实验用 JAVA 语言实现(1)在 Frame 工程中新建一个 ThreadProcess 类,定义一些静态变量;主函 数 main()中定义一个 ThreadFrame 类,并构造一个对象 thFrame,通过调用函数将界面,窗口展示出来;创建三个线程 threadPa, threadPb, threadPc。(2)ThreadFrame 类继承 JFrame 类,设置每个界面的长宽,调用类方法ThreadFrame()显示一些信息。(3)threadPanel 类继承 JPanel 类,调用

11、 paintComponent()方法设置进程长宽以及字体等,还有 threadPanel()类方法设置进程前景与背景颜色,从而展示出进程动态变化,重要一点是开始 Start 和暂停 Stop 按钮设置,控制进程开始与暂停效果。(4)在类外分别添加三个进程类 threadPa, threadPb, threadPc,都继承线程 Thread 类,其中各自有的控制函数 run()。 程序执行能够达到实验的要求效果,程序运行后,点击 Start 按钮进程执行, 首先进程 Pa 先执行,Pa 结束后进程 Pb 和进程 Pc 启动开始执行,而且能够达 到系统资源共享的效果,最后所有结束后告知程序结束。如果一开始点击 Stop 按钮,那么进程没响应,等待点击 Start 按钮,这是并发进程的模拟过程并发进程的模拟中定义四个模块,实现界面进程运行过程。程序执行能够达到实验的要求效果,程序运行后,点击 Start 按钮进程执行,首先进程 Pa 先执行,Pa 结束后进程 Pb 和进程 Pc 启动开始执行,而且能够达到系统资

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号