用java实现操作系统中的动态内存分配,包括最佳,最坏,首次,首次循环等算法

前段时间操作系统实验,网上的都是c的,所以我觉得写个java的比较好,原创,不想搞成资源下载,请看:


这是第一个类:get,set方法设置属性

package Testdemo4;
public class Partation {
    private int startAddress ;
    private int endAddress ;
    private int Id  ;//根据下表获取元素
    private int Size ;//集合长度
    String name;
    String state="未完成";
    int bottom = 1;//bottom=1表示可以加载,而bottom=0表示不能再加载
    public  Partation(){}
    public  Partation(int Id,String name,int Size){
        this.Id=Id;
        this.Size=Size;
        this.name = name;
        this.state = "完成";
    }
    public int getStartAddress() {
        return startAddress;
    }
    public void setStartAddress(int startAddress) {
        this.startAddress = startAddress;
    }
    public int getEndAddress() {
        return endAddress;
    }
    public void setEndAddress(int endAddress) {
        this.endAddress = endAddress;
    }
    public int getId() {
        return Id;
    }
    public void setId(int id) {
        Id = id;
    }
    public int getSize() {
        return Size;
    }
    public void setSize(int size) {
        Size = size;
    }
    public String toString(){

        return "分区"    +this.getId()+""+"分区大小是:"+this.getSize();

    }
}

第二个:实现各种算法,表示的是最佳,最坏,首次,等

package Testdemo4;

import java.util.ArrayList;
import Testdemo4.Partation;

public class ParTest {
    public static int g = 15 ;//默认的
    private static int index = 0 ;
    /***********最佳适应算法**************/    
    public static void 最佳适应(ArrayList<Partation> list, int needSize) {

        sortSmallToLarge(list);//每次分配最小的

        setSize(list,needSize) ;

        sortIDSmallToLarge(list);



    }
    /***********最坏适应算法**************/


    public static void 最坏适应(ArrayList<Partation> list, int needSize) {

        sortLargeToSmall(list);//每次分配最大的

        setSize(list,needSize) ;

        sortIDSmallToLarge(list);
        }
/***********首次适应算法**************/
    public static void 首次适应(ArrayList<Partation> list, int needSize) {
    setSize(list,needSize) ;//找出一个能满足要求的空闲分区给所需要的请求
    sortIDSmallToLarge(list);//地址由低到高
}
/***********循环首次适应算法**************/
    public static void 循环首次(ArrayList<Partation> list, int needSize

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值