好文档 - 专业文书写作范文服务资料分享网站

处理机调度模拟程序-----操作系统课程设计

天下 分享 时间: 加入收藏 我要投稿 点赞

课程设计书

系别:专业:班级:题目: 教师:

姓名: 计 科

计算机科学与技术

处理机调度模拟程序

一. 设计题目

处理机调度模拟程序

选择一个调度算法,实现处理机调度。

二、设计要求

编写一个进程调度程序,允许多个进程共行的进程调度程序。进程调度算法采用最高优先数优先的调度算法(即把处理机分配 给优先数最高的进程)和先来先服务算法。每个进程有一个进程 控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。

进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之一。就绪进程获得 CPU 后都只能运行一个时间片,用已占用 CPU 时间加 1 来表示。如果运行一个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用 CPU 时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减 1(即降低一级), 然后把它插入就绪队列等待 CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。

重复以上过程,直到所要进程都完成为止

1.进程调度算法包括:时间片轮转法,短作业优先算法, 动态优先级算法。

2 可选择进程数量

3 本程序包括三种算法,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。

三.设计目的

在多道程序和多任务系统中,系统内同时处于就绪状态的进

21

程可能有若干个。也就是说能运行的进程数大于处理机个数。为 了使系统中的进程能有条不紊地工作,必须选用某种调度策略, 选择一进程占用处理机。要求学生设计一个模拟处理机调度算法, 以巩固和加深处理机调度的概念。

四.设计分析

1、实现原理

首先,编写一个进程调度类 Main_PCB,一个进程信

PCB_block 可以创建进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。 对应成员变量是 pcb_Name; pcb_ID;int pcb_Pro; PCB_Begintime(); pcb_Needtime; pcb_Spendtime; pcb_Finishtime;String pcb_Statue; 成 员 方法是 pcb_Work ();可以实例化多个包含相同信息的进程,一个线程类 Work 允许多个进程共行的进程调度创建各自的模拟任务, 由 process_Create(int Process_ProcessNum)方法实现创建Process_ProcessNum 个进程。 接着,编写进程调度算法

(1) 最高优先数优先的调度算法 HIGH_method()(这里采用

把处理机分配给优先数最高的进程); (2) 先来先服务算法 FIFS_method()。

以上,两个方法都是 Main_PCB 的成员方法,由 Main_PCB 的主调函数 main()调用 call()方法进行调用。

进程的优先数及需要的运行时间这里由由随机数产生。进程的到达时间为创建进程的时间。进程的运行时间以时间片为单位进行计算。

每个进程的状态可以是就绪 W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之一。这里采用线程的睡眠sleep()方法实现,最后通过进程的开始时间、执行时间和结束时间,观察进程的执行过程。

22

处理机调度模拟程序-----操作系统课程设计

课程设计书系别:专业:班级:题目:教师:姓名:计科系计算机科学与技术处理机调度模拟程序一.
推荐度:
点击下载文档文档为doc格式
0hqcg2ds9y17c19373fh7l7tx29ybm00g6l
领取福利

微信扫码领取福利

微信扫码分享