实验一循环首次适应算法

本文详细探讨了循环首次适应算法在操作系统内存管理中的应用,阐述了其工作原理及优缺点。通过对实例的分析,揭示了该算法如何有效地分配和回收内存块,以适应不同大小的进程需求。
摘要由CSDN通过智能技术生成
package Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;




public class adapt {
   

	public static void main(String[] args) {
   
	
		  
		Txt txt = new Txt();
		txt.request();
		  
	}
		  
	}
class init{
   
ArrayList<Area> area = new ArrayList<Area>();
public init(){
   
	// TODO 自动生成的构造函数存根

  area.add(new Area( 0,0,40,"空闲"));
  area.add(new Area( 1,40,20,"空闲"));
  area.add(new Area( 2,60,50,"空闲"));
  area.add(new Area( 3,110,100,"空闲"));
 
 
}
}
	class Txt{
   
		
	public  void request() {
   
		init t1 = new init();
		init t2 = new init();
		init t3 = new init();
		System.out.println("分区号        起始地址         分区大小       状态          ");
		  for (int i = 0; i < t1.area.size() ;i++) {
   
			  
		      System.out.println(i+"\t"+t1.area.get(i).toString());
		} 
		
		while (true) {
   
			Scanner scanner = new Scanner(System.in);
			System.out.println("请选择  1.分配(A)      2.回收(B)       3.退出登陆(C)");
			String select = scanner.next();
			switch(select) {
   
				case "A":
					System.out.println("请输入分配的大小:");
					int number = scanner.nextInt();
					firstAdapt(number,t1.area);
					bestAdapt(number, t2.area);
					 badAdapt(number,t3.area);
					 break;
				case "B":
					System.out.println("请输入回收的大小:");
					int number1 = scanner.nextInt();
					System.out.println("首次适应算法的回收————————————————————————————————————————");
				   reUse(number1,t1.area);
					System.out.println("最佳适应算法的回收————————————————————————————————————————");
					reUse(number1,t2.area);
					System.out.println("最坏适应算法的回收————————————————————————————————————————");
					reUse(number1,t3.area);
					break;
				case "C":
					System.out.println("程序结束");
					 System.exit(-1);
					 break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值