进程调度算法设计实验报告.doc_第1页
进程调度算法设计实验报告.doc_第2页
进程调度算法设计实验报告.doc_第3页
进程调度算法设计实验报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

进程调度算法的设计一、 实验题目:实现先来先服务调度算法(FCFS)实现时间片轮转调度算法(RR)二、 实验目的:通过对进程调度算法的设计,深入理解进程调度的原理。进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。三、 实验原理:1.先来先服务(FCFS)调度算法 每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。 将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短 按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,CPU繁忙型作业,不利于短进程,排队时间相对过长2.时间片轮转调度算法RR时间片轮转法主要用于进程调度。采用此算法的系统,其程序就绪队列往往按进程到达的时间来排序。进程调度按一定时间片(q)轮番运行各个进程.进程按到达时间在就绪队列中排队,调度程序每次把CPU分配给就绪队列首进程使用一个时间片,运行完一个时间片释放CPU,排到就绪队列末尾参加下一轮调度,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(); /用户要输入的进程数Process1 arr = new Process1num; /创建多个进程System.out.println(请分别输入进程的名称、到达时间以及区间时间);for(int i=0; iarr.length; i+)arri = new Process1(); /得到用户输入的各值Arrays.sort(arr); /根据到达时间对进程数组排序int time =arr0.arrtime; /赋值为最先到达的进程的到达时间System.out.println(-开始进入FCFS算法-);System.out.println( +arrtime+ +burstime+ +overtime+ +周转时间);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,当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.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算法虽然用程序算法实现了模拟进程调度的整个过程,但是并未能考虑深入到操作系统的根本上用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论