欢迎来到天天文库
浏览记录
ID:6282819
大小:456.83 KB
页数:27页
时间:2018-01-08
《通用处理机 操作系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、课程设计目的进程操作系统课程设计,主要是在学习操作系统课程设计的基础上,完成操作系统各部分的要求,对操作系统的一些功能进行一次模拟。通过本次的课程设计,提高运用操作系统知识解决实际问题的能力,锻炼实际的编程能力,还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。二、课程设计内容与要求1.设计内容在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机的个数,为了是系统中的进程有条不紊的工作,必须选用某种调度策略,在一定的时机选择一个进程占用处理机。要求设
2、计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。2.设计要求①在多道、单处理机条件下进行模拟。②进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。③每一个进程有一个PCB,其内容可以根据具体情况设定。④进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定。⑤可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化操作。⑥可以在运行中显示各进程的状态。⑦采用可视化界面,可以在进程调度
3、过程中随时暂停调度,查看当前进程的状态及相应的阻塞队列。⑧有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。⑨具有一定的数据容错性。三、系统分析与设计1.系统分析本系统是通用处理机调度程序,需要实现的功能有:用户可以输入进程信息,进行调度算法的演示;用户还可以从本系统的文件中读取数据,进行调度算法的演示;在演示的过程中,可以随时暂停、继续或者重新开始执行,查看相应的阻塞队列;在这个程序中,还可以比较同一组数据在不同调度算法下的平均周转时间。系统对于用户输入的信息具有一定的检错和提示错误的功能,帮助用
4、户更好的使用本程序,进行通用处理机调度的演示程序。对于系统的逻辑结构,系统的功能与性能具体分析如下:(1)信息方面本程序所处理的信息的来源有两种,磁盘上存储进程信息的外部文件、用户通过界面输入的进程信息。每一个进程的信息,包括进程的名称、进入时间、要求服务时间、作业大小、优先级。(2)行为方面在添加进程的窗体中,根据用户输入的进程数目,依次读入到文件中,进行存储。在录入信息完成以后,添加窗体向演示窗体传递保存的文件名称。演示窗体-27-中,可以单击开始演示按钮观看调度的演示顺序,单击查看阻塞队列按钮查看当前时间的
5、阻塞队列,以及单击查看平均周转时间的按钮来查看数据在用户选择的算法下的平均周转时间。(1)表示方面本演示程序包括三个界面,打开程序显示的主窗体、添加进程的窗体、演示窗体。在主窗体中,介绍本程序的主要功能,以及显示用户可以操作的功能按钮;添加进程的窗体中,可以允许用户填写输入进程的数目、保存的文件名称、每个进程的详细信息;演示窗体中,根据时间显示进程的执行顺序以及进程处于的状态(阻塞、执行、完成)。1.系统设计2.1、模块设计:(1)主程序流程:-27-N显示阻塞队列NYY继续执行暂停演示查看阻塞队列执行演示继续演
6、示YY结束退出YN选择相应的调度算法开始开始执行N(2)模块之间的关系:-27-YNYNN选择相应的操作开始样例数据演示录入调度数据添加数据结束进行演示打开演示窗体进行演示Y(3)界面之间的关系:添加进程模块调度演示模块演示主界面添加完成-27-2.2、数据结构说明:(1)Process类将每一个进程的信息抽象成一个进程的类用来存储进程的信息,其中包括进程的全部的PCB信息。(2)对于不同的调度算法,在进行选择的时候,通过枚举类型来实现2.3、算法流程图:(1)主程序函数过程的调用关系图-27-Nbtn_sele
7、ctBlockQueue_Click()NYYbtn_suspend_Click()暂停演示查看阻塞队列btn_startShow_Click()继续演示YY结束btn_exit_Click()YN选择相应的调度算法开始开始执行N-27-(2)演示(RunProc函数)的主要绘图代码:StartShowUsed.Drawing.drawImge()getBlock()System.Threading.Thread.Sleep()EndgetProcessFromFile()getExeScheduling()ge
8、tX()、getY()RunState.runningNY一、系统测试与调试分析1.系统测试:测试说明测试名称通用处理机调度演示程序测试目的验证系统对数据的处理功能测试技术功能测试测试方法黑盒测试测试用例测试内容测试先来先服务调度算法正确性测试步骤测试者提供测试数据,进行测试测试数据0
9、A
10、0
11、3
12、3
13、21
14、B
15、2
16、6
17、6
18、12
19、C
20、4
21、4
22、8
23、13
24、D
25、6
26、5
27、5
28、34
此文档下载收益归作者所有