进程调度算法java代码
“进程调度算法java代码”相关的资料有哪些?“进程调度算法java代码”相关的范文有哪些?怎么写?下面是小编为您精心整理的“进程调度算法java代码”相关范文大全或资料大全,欢迎大家分享。
实验三 进程调度(Java)
实验三 进程调度
(一)教学要求
了解单处理器情况下进程调度的过程。 (二)知识点提示
各种进程调度算法。 (三)教学内容
运行下面的程序,回答问题。 public class ProgressData { public int arrived; //进程到达时间 public int server; //进程服务时间 public int finished; //进程完成时间 public int working; //进程周转时间 public float powerWorking; //带权周转时间 public ProgressData(){}; public ProgressData(int arr,int ser){ arrived=arr; server=ser; } public String toString(){ return arrived+\+server+\+\ +working+\+String.format(\ }
进程调度算法课程设计报告
进程调度算法课程设计
东莞理工学院操作系统课程设计报告
设计时间: 2011-1-9 至 2011-1-13 专业年级: 2008 级计算机科学与技术 4 班 一.设计目的:通过课程设计, 加深对操作系统各资源管理模块的理解,掌握操作系统的基本原理及功能, 具有初步 分析实际操作系统、设计、构造和开发现代操作系统的基本能力。
二.设计内容:2.题目:进程调度算法的设计 设计要求: ①设计进程控制块 PCB 表结构,分别适用于优先数调度算法和循环轮转调度算法。 ②建立进程就绪队列。对两种不同算法编制入链子程序。 ③编制两种进程调度算法:1)优先数调度;2)循环轮转调度开发环境:VC++6.0
设计技术参数: ①本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。 ②为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
③在优先数算法中,优先数的值为 50 与运行时间的差值,即 P_TIME-process->needtime。进程每执行一次,优先数减 3,CPU 时间片数加 1,进程还需要的时间片数减 1。在轮转算法中,采用固定时 间片(即:每执行
进程调度算法模拟 实验报告
实 验 报 告
课程名称
实验名称 专业班级 学生姓名 指导教师
实验一 进程调度算法模拟,
1.内容:设计一个简单的进程调度算法,模拟OS中的进程调度过程;
2.要求:
① 进程数不少于5个;
② 进程调度算法任选;
可以用动态优先数加时间片轮转法实现进程调度,每运行一个时间片优先数减3; ③ 用C语言编程;
④ 程序运行时显示进程调度过程。
3.步骤:
① 设计PCB及其数据结构:
进程标识数:ID
进程优先数:PRIORITY(优先数越大,优先级越高)
进程已占用时间片:CPUTIME,每得到一次调度,值加1;
进程还需占用时间片:ALLTIME,每得到一次调度,该值减1,一旦运行完毕,
ALLTIME为0)
进程队列指针:NEXT,用来将PCB排成队列
进程状态:STATE(一般为就绪,可以不用)
② 设计进程就绪队列及数据结构;
③ 设计进程调度算法,并画出程序流程图;
④ 设计输入数据和输出格式;
结构格式:当前正运行的进程:0
当前就绪队列:2,1,3,4
⑤ 编程上机,验证结果。
4.提示:
假设调度前,系统中有5个进程,其初始状态如下:
ID 0 1 2 3 4 PRIORITY 9 38 30 29 0 可否考虑用CPUTIME 0
流水作业调度Java代码
import javax.swing.*;
import ng.*;
import java.io.*;
public class FlowS{
static class Elememt
{
int key;
int index;
boolean job;
private Elememt(int kk,int ii,boolean jj)
{
key=kk;
index=ii;
job=jj;
}
}
public static int flowShop(int []a,int []b,int []c) //a[]放的是N1 b[]放的是N2
{ //c[]放的是作业排好序列的顺序
int n=a.length;
Elememt []d=new Elememt[n];
for(int i=0;i<n;i++){
int key=a[i]>=b[i]? b[i]:a[i]; //按johnson 法则分别取对应的b[i]或 a[i]值作为关键字
boolean job=a[i]
流水作业调度Java代码
import javax.swing.*;
import ng.*;
import java.io.*;
public class FlowS{
static class Elememt
{
int key;
int index;
boolean job;
private Elememt(int kk,int ii,boolean jj)
{
key=kk;
index=ii;
job=jj;
}
}
public static int flowShop(int []a,int []b,int []c) //a[]放的是N1 b[]放的是N2
{ //c[]放的是作业排好序列的顺序
int n=a.length;
Elememt []d=new Elememt[n];
for(int i=0;i<n;i++){
int key=a[i]>=b[i]? b[i]:a[i]; //按johnson 法则分别取对应的b[i]或 a[i]值作为关键字
boolean job=a[i]
进程模拟调度算法课程设计
一.课程概述
1.1.设计构想
程序能够完成以下操作:创建进程:先输入进程的数目,再一次输入每个进程的进程名、运行总时间和优先级,先到达的先输入;进程调度:进程创建完成后就选择进程调度算法,并单步执行,每次执行的结果都从屏幕上输出来。
1.2.需求分析
在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目,要使这多个进程能够并发地执行,这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统必(吞吐量、响应时间),在很大程度上取决于处理机调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之一。本次实验在VC++6.0环境下实现先来先服务调度算法,短作业优先调度算法,高优先权调度算法,时间片轮转调度算法和多级反馈队列调度算法。
1.3.理论依据
为了描述和管制进程的运行,系统为每个进程定义了一个数据结构——进程控制块PCB(Process Control Block),PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息,系统总是通过PCB对进程进行控制,
java 排序算法代码大全
java 排序算法代码大全
2012-04-17 14:58:02| 分类: JAVA 知识积累 |字号订阅 /**
* 插入排序:直接插入排序、折半插入排序和系尔排序 * 交换排序:冒泡排序和快速排序 * 选择排序:简单选择排序和堆排序 * 归并排序:归并排序 *
* 基本思想
* 插入排序:将第N个记录插入到前面(N-1)个有序的记录当中。 * 交换排序:按照某种顺序比较两个记录的关键字大小,然后根据需要交换两个记录的位置。 * 选择排序:根据某种方法选择一个关键字最大的记录或者关键字最小的记录,放到适当的位置。 *
* 排序方法比较
* 排序方法平均时间最坏时间辅助存储
* 直接插入排序 O(N2) O(N2) O(1) * 起泡排序 O(N2) O(N2) O(1)
* 快速排序 O(Nlog2N) O(N2) O(Nlog2N) * 简单选择排序 O(N2) O(N2) O(1
进程模拟调度算法课程设计
一.课程概述
1.1.设计构想
程序能够完成以下操作:创建进程:先输入进程的数目,再一次输入每个进程的进程名、运行总时间和优先级,先到达的先输入;进程调度:进程创建完成后就选择进程调度算法,并单步执行,每次执行的结果都从屏幕上输出来。
1.2.需求分析
在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目,要使这多个进程能够并发地执行,这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统必(吞吐量、响应时间),在很大程度上取决于处理机调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之一。本次实验在VC++6.0环境下实现先来先服务调度算法,短作业优先调度算法,高优先权调度算法,时间片轮转调度算法和多级反馈队列调度算法。
1.3.理论依据
为了描述和管制进程的运行,系统为每个进程定义了一个数据结构——进程控制块PCB(Process Control Block),PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息,系统总是通过PCB对进程进行控制,
进程调度程序设计报告(源代码)剖析
成绩
课程设计报告
题 目 进程调度程序设计
课 程 名 称 操作系统课程设计 院 部 名 称 计算机工程学院 专 业 计算机科学与技术 班 级 13计算机科学与技术(单)(1) 学 生 姓 名 周敏健 学 号 1305201013 课程设计地点 A104 课程设计学时 20学时 指 导 教 师 何 健
金陵科技学院教务处制
目 录
摘 要 .................................................... 3 一、课程设计的目的和要求 ................................. 4 二、系统需求分析 ..
操作系统进程调度算法模拟实验报告
进程调度算法模拟
专业:XXXXX 学号:XXXXX 姓名:XXX
实验日期:20XX年XX月XX日
一、实验目的
通过对进程调度算法的模拟加深对进程概念和进程调度算法的理解。
二、实验要求
编写程序实现对5个进程的调度模拟,要求至少采用两种不同的调度算
法分别进行模拟调度。
三、实验方法内容
1. 算法设计思路
将每个进程抽象成一个控制块PCB, PCB用一个结构体描述。
构建一个进程调度类。将进程调度的各种算法分装在一个类中。类中存
在三个容器,一个保存正在或未进入就绪队列的进程,一个保存就绪的进程,另一个保存已完成的进程。还有一个PCB实例。主要保存正在运行的进程。类中其他方法都是围绕这三个容器可以这个运行中的PCB展开。
主要用到的技术是STL中的vector以维护和保存进程容器、就绪容器、
完成容器。
当程序启动时,用户可以选择不同的调度算法。然后用户从控制台输入
各个进程的信息,这些信息保存到进程容器中。进程信息输入完毕后,就开始了进程调度,每调度一次判断就绪队列是否为空,若为空则系统时间加一个时间片。判断进程容器中是否有新的进程可以加入就绪队列。 2. 算法流程图 主程序的框架:
();//先来先服务
();//最短进程优先调度//简单时间片轮转//最高优先数优先