最高优先数算法
① 优先级时公式的运算顺序,什么是运算符级别最高的
运算符优先级
如果一个公式中有若干个运算符,Excel 将按下表中的次序进行计算。如果一个公式中的若干个运算符具有相同的优先顺序(例如,如果一个公式中既有乘号又有除号),Excel 将从左到右进行计算。
运算符 说明 
:(冒号) 
(单个空格)
,(逗号)
 引用运算符 
- 负数(如 –1) 
% 百分比 
^ 乘方 
* 和 / 乘和除 
+ 和 – 加和减 
& 连接两个文本字符串(串连) 
=
< >
<=
>=
<> 比较运算符 
使用括号
若要更改求值的顺序,请将公式中要先计算的部分用括号括起来。例如,下面公式的结果是 11,因为 Excel 先进行乘法运算后进行加法运算。将 2 与 3 相乘,然后再加上 5,即得到结果。
=5+2*3
但是,如果用括号对该语法进行更改,Excel 将先求出 5 加 2 之和,再用结果乘以 3 得 21。
=(5+2)*3
在以下示例中,公式第一部分的括号强制 Excel 先计算 B4+25,然后再除以单元格 D5、E5 和 F5 中值的和。
=(B4+25)/SUM(D5:F5)
② 操作系统抢占式最高级优先算法为什么A进程开始执行时间不是9:50 还有结束时间为什么是10:10
a最开始来,到9.20才被抢占,总时间是20(运行到b进程来)+30(b需要的时间)+20(a剩余需要时间)
③ 优先最高级运算符
运算符优先级
  如果一个公式中有若干个运算符,Excel 将按下表中的次序进行计算。如果一个公式中的若干个运算符具有相同的优先顺序(例如,如果一个公式中既有乘号又有除号),Excel 将从左到右进行计算。
  运算符 说明 
  :(冒号) 
  (单个空格) ,选择A
④ 将最高优先数优先的调度算法改为时间片轮转调度算法
#include<iostream>
using namespace std;
struct PCB_Type{
	char name;
	int cpu_time;
}; 
struct QueueNode{
	struct PCB_Type PCB;
	struct QueueNode *next;
};
int main(){
	 int m,n,t;
	 int usecpu=0,unusecpu=0;
     cout<<"输入就绪队列中的进程数目m:";
	 cin>>m;
	 cout<<"输入阻塞队列中的进程的数目n:";
	 cin>>n;
	 cout<<"输入唤醒系统资源的相隔时间片个数t:";
	 cin>>t;
	 struct QueueNode *readyhead=new QueueNode ,*readytail=new QueueNode,
		 *blockedhead=new QueueNode,*blockedtail=new QueueNode;
	// readyhead=NULL;readytail=NULL;blockedhead=NULL;blockedtail=NULL;
	 readyhead=readytail;
	 blockedhead=blockedtail;
	 for(int i=1;i<=m;i++){
		 struct QueueNode *t1=new QueueNode;
		 cout<<"输入就绪队列中进程的name和cpu_time:";
         cin>>t1->PCB.name>>t1->PCB.cpu_time;
		 readytail->next=t1;
		 readytail=t1;
	 }
      for(int j=1;j<=n;j++){
         struct QueueNode *t2=new QueueNode;
		 cout<<"输入阻塞队列中进程的name和cpu_time:";
         cin>>t2->PCB.name>>t2->PCB.cpu_time;
		 blockedtail->next=t2;
		 blockedtail=t2;
	 }
     
	 cout<<"输出就绪队列的进程信息:";
     for(struct QueueNode *t3=readyhead->next;t3!=readytail->next;t3=t3->next){
	     cout<<t3->PCB.name<<"、"<<t3->PCB.cpu_time<<"---> ";
	 } 
     cout<<"无进程";
	 cout<<endl;
	 cout<<"输出阻塞队列的进程信息:";
	 struct QueueNode *t4;
	 t4=blockedhead->next;
     while(t4!=blockedtail->next){
         cout<<t4->PCB.name<<"、"<<t4->PCB.cpu_time<<"---> ";
	     t4=t4->next;
	 }
	 cout<<"无进程";
	 cout<<endl<<"进程的运行顺序:";
	 int x=0;
     while(readyhead!=readytail||blockedhead!=blockedtail){
		 if(readyhead!=readytail){
			 struct QueueNode *p=readyhead->next;
			 cout<<p->PCB.name<<",";
			 p->PCB.cpu_time--;
			 usecpu++;
			 if(readyhead->next!=readytail){
			    if(p->PCB.cpu_time>0){
                 readyhead->next=p->next;//出队列
				 readytail->next=p;
				 readytail=p;
				}
			    else{
				 readyhead->next=p->next;
				 delete p;
				}
			 }
			 else//队列中只有两个节点  头结点和尾结点
			 {
				 if(p->PCB.cpu_time<=0){readytail=readyhead;//只有进程为执行完,就继续执行,完成之后,把队列清空,释放指针p;就绪队列无进程
				                       delete p;}
			 }
		 }
	     else 
		  {
			  unusecpu++;
			  cout<<"_,";
		  }  
		 x++;
		 if(x==t){
			 if(blockedhead!=blockedtail){
				 
            struct QueueNode *q=blockedhead->next;
			if(blockedhead->next!=blockedtail)
			{
				blockedhead->next=q->next;
			}
			else
			{
				blockedhead=blockedtail;
			}
		    readytail->next=q;
			readytail=q;
			x=0;
		 }
		 }
	 }
	 cout<<endl;
	 cout<<"cpu的利用率="<<usecpu<<"/"<<usecpu+unusecpu<<endl;
	return 0;
}
⑤ 最高响应比优先作业调度算法
此算法中,优先数=(等待的时间+要求服务的时间)/要求的服务时间,这是一个非抢占的进程,进程一旦得到处理器,他就一直运行下去到进程完成,中间不被强占。
⑥ 大学操作系统:假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间为__小时
最高优先级优先调度,同时到达先运行作业2,运行5个时间单位结束,作业2的周转时间为5,接着运行作业4,运行3个时间单位结束,作业4周转时间为(5+3)=8
再运行作业1,作业1周转时间为(5+3+2)=10,
最后运行作业3,周转时间为(5+3+2+8)=18
 
所以结果为(5+8+10+18)/4=10.25
⑦ 动态优先数高者优先进程调度算法
我也在找这个
⑧ 怎样实现短作业优先和高响应比优先算法
1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。
2.短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实际的运行时间的长短,因此需要用户在提交作业时同时提交作业运行时间的估计值。 
3.最高响应比优先算法(HRN):FCFS可能造成短作业用户不满,SPF可能使得长作业用户不满,于是提出HRN,选择响应比最高的作业运行。响应比=1+作业等待时间/作业处理时间。
4. 基于优先数调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。
5.均衡调度算法,即多级队列调度算法
基本概念:
   作业周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)
   作业平均周转时间(T)=周转时间/作业个数
   作业带权周转时间(Wi)=周转时间/运行时间
   响应比=(等待时间+运行时间)/运行时间
⑨ 在最高优先级算法的系统中,cpu调度方式为不可抢占是,不会发生进程切换的是
A ,BCD三种情况在该前提下均发生进程切换。
