- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程调度算法设计实验报告
进程调度算法的设计
实验题目:
实现时间片轮转调度算法(RR)
实验目的:
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。
实验原理:
每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。
将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短
按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,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 Process1[num]; //创建多个进程
System.out.println(请分别输入进程的名称、到达时间以及区间时间);
for(int i=0; iarr.length; i++){
arr[i] = new Process1(); //得到用户输入的各值
}
Arrays.sort(arr); //根据到达时间对进程数组排序
int time =arr[0].arrtime; //赋值为最先到达的进程的到达时间
System.out.println(-----开始进入FCFS算法-----);
System.out.println( +arrtime+ +burstime+ +overtime+ +周转时间);
for(int i =0; iarr.length; i++){
arr[i].overtime = arr[i].bursttime+time; //计算进程的结束时间
time = time +arr[i].bursttime;
arr[i].turnovertime = arr[i].overtime - arr[i].arrtime; //计算进程的周转时间
System.out.println(进程+arr[i].id+开始运行+\t+arr[i].arrtime+\t+arr[i].bursttime+\t+arr[i].overtime+\t+arr[i].turnovertime);
}
int count = arr.length;
System.out.println(-----开始进入RR算法-----);
System.out.println( +lasttime);
while(count0){
for(int i=0; iarr.length; i++)
{
if(arr[i].bursttime0){ //如果剩余区间还有时间
arr[i].bursttime=arr[i].bursttime-slice; //每循环运行一次就减去时间片,并打印下面语句
System.out.println(进程+
您可能关注的文档
- 2014新版九年级unit1How-can-we-become-good-learners课文重难点全面讲解练习.doc
- 共享媒介英语词汇.docx
- 学点传媒界必须知道的英文.doc
- 七下Unit 11.12 知识点.doc
- 新闻毕业论文应涉及的英语专业词汇.doc
- 传媒英文单词.doc
- 法语专有名词翻译.docx
- book4_unit3__V-ing做表语_定语_宾语补足语_语法答案.doc
- 人教版初二英语词组默写.doc
- 八年级上册U3知识点.docx
- DB14_T 3033-2024 自动扶梯和自动人行道安全评估规范.docx
- 供应链管理前沿理论中的几个关键问题探讨(上).pdf
- 高新产业用户负荷接入关键要素辨识与预测.pdf
- DB14_T 3120-2024 村庄规划编制技术规范.docx
- DB1408_T039-2022 大盐康养服务规范.docx
- DB14_T 2831-2023 商务诚信公共服务平台 信息交换接口规范.docx
- DB14_T 2923-2023 高速公路运营作业安全操作规程.docx
- DB14_T 1206-2024 乡村景观绿化技术规范.docx
- 职业教育数字化转型的制度赋能:内容、特征及问题反思.pdf
- DB14_T 3056-2024 电子政务标准体系.docx
文档评论(0)