通用处理机操作系统课程设计报告.docxVIP

  • 20
  • 0
  • 约2.45万字
  • 约 29页
  • 2021-11-17 发布于江苏
  • 举报
通用处理机操作系统课程设计报告 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 课程设计目的 进程操作系统课程设计,主要是在学习操作系统课程设计的根底上,完成操作系统各局部的要求,对操作系统的一些功能进展一次模拟。 通过本次的课程设计,提高运用操作系统知识解决实际问题的能力,锻炼实际的编程能力,还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。 课程设计内容与要求 设计内容 在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有假设干个,也就是能运行的进程数大于处理机的个数,为了是系统中的进程有条不紊的工作,必须选用某种调度策略,在一定的时机选择一个进程占用处理机。 要求设计一个模拟处理机调度算法,以稳固和加深处理机调度的概念。 设计要求 在多道、单处理机条件下进展模拟。 进程调度算法包括:时间片轮转算法、先来先效劳算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。 每一个进程有一个PCB,其内容可以根据具体情况设定。 进程数、进入内存时间、要求效劳时间、作业大小、优先级等均可以在界面上设定。 可读取样例数据〔要求存放在外部文件中〕进展进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化操作。 可以在运行中显示各进程的状态。 采用可视化界面,可以在进程调度过程中随时暂停调度,查看当前进程的状态及相应的阻塞队列。 有性能比拟功能,可比拟同一组数据在不同调度算法下的平均周转时间。 具有一定的数据容错性。 系统分析与设计 系统分析 本系统是通用处理机调度程序,需要实现的功能有:用户可以输入进程信息,进展调度算法的演示;用户还可以从本系统的文件中读取数据,进展调度算法的演示;在演示的过程中,可以随时暂停、继续或者重新开场执行,查看相应的阻塞队列;在这个程序中,还可以比拟同一组数据在不同调度算法下的平均周转时间。 系统对于用户输入的信息具有一定的检错和提示错误的功能,帮助用户更好的使用本程序,进展通用处理机调度的演示程序。 对于系统的逻辑构造,系统的功能与性能具体分析如下: 信息方面 本程序所处理的信息的来源有两种,磁盘上存储进程信息的外部文件、用户通过界面输入的进程信息。每一个进程的信息,包括进程的名称、进入时间、要求效劳时间、作业大小、优先级。 行为方面 在添加进程的窗体中,根据用户输入的进程数目,依次读入到文件中,进展存储。 在录入信息完成以后,添加窗体向演示窗体传递保存的文件名称。演示窗体中,可以单击开场演示按钮观看调度的演示顺序,单击查看阻塞队列按钮查看当前时间的阻塞队列,以及单击查看平均周转时间的按钮来查看数据在用户选择的算法下的平均周转时间。 表示方面 本演示程序包括三个界面,翻开程序显示的主窗体、添加进程的窗体、演示窗体。 在主窗体中,介绍本程序的主要功能,以及显示用户可以操作的功能按钮; 添加进程的窗体中,可以允许用户填写输入进程的数目、保存的文件名称、每个进程的详细信息; 演示窗体中,根据时间显示进程的执行顺序以及进程处于的状态〔阻塞、执行、完成〕。 系统设计 2.1、模块设计: 〔1〕主程序流程: N N 显示阻塞队列 N Y Y 继续执行 暂停演示 查看阻塞队列 执行演示 继续演示 Y Y 完毕 退出 Y N 选择相应的调度算法 开场 开场执行 N 〔2〕模块之间的关系: Y Y N Y N N 选择相应的操作 开场 样例数据演示 录入调度数据 添加数据 完毕 进展演示 翻开演示窗体进展演示 Y 〔3〕界面之间的关系: 添加进程模块 添加进程模块 调度演示模块 演示主界面 添加完成 2.2、数据构造说明: 〔1〕Process类 将每一个进程的信息抽象成一个进程的类用来存储进程的信息,其中包括进程的全部的PCB信息。 〔2〕对于不同的调度算法,在进展选择的时候,通过枚举类型来实现 2.3、算法流程图: 〔1〕主程序函数过程的调用关系图 N N btn_selectBlockQueue_Click〔〕 N Y Y btn_suspend_Click〔〕 暂停演示 查看阻塞队列 btn_startShow_Click〔〕 继续演示 Y Y 完毕 btn_exit_Click〔〕 Y N 选择相应的调度算法 开场 开场执行 N 〔2〕演示〔RunProc函数〕的主要绘图代码: Start Start ShowUsed.Drawing.drawImge〔〕 getBlock〔〕 System.Threading.Thread.Sleep() End getProcessFromFile〔〕 getExeScheduling〔〕 getX〔〕、getY〔〕 RunStat

文档评论(0)

1亿VIP精品文档

相关文档