进程调度算法设计实验报告

上传人:第*** 文档编号:32829073 上传时间:2018-02-12 格式:DOC 页数:4 大小:63KB
返回 下载 相关 举报
进程调度算法设计实验报告_第1页
第1页 / 共4页
进程调度算法设计实验报告_第2页
第2页 / 共4页
进程调度算法设计实验报告_第3页
第3页 / 共4页
进程调度算法设计实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《进程调度算法设计实验报告》由会员分享,可在线阅读,更多相关《进程调度算法设计实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、进程调度算法的设计一、 实验题目:实现先来先服务调度算法(FCFS)实现时间片轮转调度算法(RR )二、 实验目的:通过对进程调度算法的设计,深入理解进程调度的原理。进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程调度分配处理机,是控制协调进程对 CPU 的竞争,即按一定的调度算法从就绪队列中选中一个进程,把 CPU 的使用权交给被选中的进程。三、 实验原理:1.先来先服务(FCFS)调度算法每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,

2、才退出处理器。将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,CPU繁忙型作业,不利于短进程,排队时间相对过长2.时间片轮转调度算法 RR时间片轮转法主要用于进程调度。采用此算法的系统,其程序就绪队列往往按进程到达的时间来排序。进程调度按一定时间片(q)轮番运行各个进程.进程按到达时间在就绪队列中排队,调度程序每次把 CPU 分配给就绪队列首进程使用一个时间片,运行完一个时间片释放 CPU,

3、排到就绪队列末尾参加下一轮调度,CPU 分配给就绪队列的首进程。四、 数据结构:数组五、 程序代码:package sufa;import java.util.Arrays;import java.util.Scanner;public class Dispatch public static void main(String args)int slice = 1; /时间片System.out.println(请输入要创建的进程数目: );Scanner reader = new Scanner(System.in);int num = reader.nextInt(); /用户要输入的进程

4、数Process1 arr = new Process1num; /创建多个进程System.out.println(请分别输入进程的名称、到达时间以及区间时间 );for(int i=0; i0)for(int i=0; i0) /如果剩余区间还有时间arri.bursttime=arri.bursttime-slice; /每循环运行一次就减去时间片,并打印下面语句System.out.println(进程 +arri.id+开始运行 +t+arri.bursttime);if(arri.bursttime=0) count -; /当有某个进程的剩余时间为0 的时候,count进行减1

5、,当count减到等于0时,即每个进程都没有剩余时间了,就不再运行了 class Process1 implements Comparableint id; /进程名称int arrtime; /到达时间int bursttime; /区间时间int overtime; /结束时间double turnovertime; /周转时间public Process1() /读取用户输入的各个值Scanner reader = new Scanner(System.in);this.id = reader.nextInt();this.arrtime = reader.nextInt();this.

6、bursttime = reader.nextInt();Overridepublic int compareTo(Object o) / TODO Auto-generated method stubProcess1 pcb = (Process1)o;if(this.arrtime = pcb.arrtime) /重写方法实现 Comparable接口,按照到达时间的大小进行排序return 1;elsereturn -1;六、 运行结果: 七、 实验心得:这次的实验实现 FCFS 算法和 RR 算法虽然用程序算法实现了模拟进程调度的整个过程,但是并未能考虑深入到操作系统的根本上用不同的队列存储不同状态下的进程来实现算法调度,但通过这次对进程调度算法设计的实现,还是对进程调度有了更深入更清楚的了解,以后的程序编写不论是实验还是项目开发,无论大小,都应该把程序的整体框架构建好,提高重用性。

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

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

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