⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcfs.java

📁 操作系统中的调度先来先服务及短作业优先
💻 JAVA
字号:

class fcfs 
{
	public static void main(String args[])
	{
	int f=0;
	int  s1=0;
	int  s2=0;
	int a_1[]=new int[4];
	int a_2[]=new int[4];
    int a_3[]=new int[4];
	   runtime a1 = new runtime("进程1", 0,4);//到达时间及服务时间
	   runtime a2 = new runtime("进程2", 1,3);
	   runtime a3 = new runtime("进程3", 2,5);
	   runtime a4 = new runtime("进程4", 3,2);
	   runtime a[] = {a1,a2,a3,a4};
	   sort(a);
	   for(int i=0;i<a.length;i++)
	          
	              {  
	              if(i==0)
	                 a_1[i]= a[i].starttime()+a[i].run_time();//完成时间
	                 else  
	                 a_1[i]=f+a[i].run_time(); 
	                 f=a_1[i];
	                 a_2[i]=a_1[i]-a[i].starttime();
	                 a_3[i]= a_2[i]/a[i].run_time();
	                 s1+= a_2[i];
	                  s2+= a_3[i];
	                 System.out.print(a[i].getname()+"\n"+"完成时间:"+a_1[i]+"\n");
	                 System.out.print("周转时间:"+a_2[i]+"\n");
	                 System.out.print("带权周转时间:"+a_3[i]+"\n");
	                 System.out.println();
	               
	              }   
	               s1=s1/4;
	                s2=s2/4;
	    System.out.print("平均周转时间:"+s1+"\n");
	    
	      System.out.print("带权平均周转时间:"+s2+"\n");
     }
	    
 public static void sort(runtime[] a)   //到达时间越短,优先级越高
	{	runtime temp;
		for (int i = 0; i < a.length - 1; i++)
			for (int j = i + 1; j < a.length; j++)
			{	if (a[i].starttime()>a[j].starttime())
				{	temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
			}
	}


}
class runtime
  {  
   String name;
     int  sta_time;
  	 int  get_time;
   runtime(String n,int s,int r)
    { 
        name=n;
    	sta_time=s;
        get_time=r;
        
    }
   
   public int starttime()
   { 
   return sta_time;
   }
   public int run_time()
	{ 
	 return get_time;
	}
 	public String getname()
	{
			return name;
	}
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -