outqueue4disk.m

来自「3个CPU调度算法的simulation. 分别是Short Job First」· M 代码 · 共 43 行

M
43
字号
%
%Suppose always move the head out of the queue, and when it is moved out,
%we have the last element available(set it to be 0 for the QReady and EndTime for the QDisk)!
%flag 'D'-diskqueue, 'R'-readyqueue
%ONLY for QDisk-4-D
%Move the first p out of the Diskqueue

function [Q,Head,rmTime,newStartFlag]=OutQueue4Disk(Q,Qlen,default,flag)
%disp('=========in OutQueue3================');   

Head=-1; %Empty Queue or Error

if Q(1,1)~=0 
   Head=Q(1,1); %Head is only the head process
   rmTime=Q(1,3);
   newStartFlag=Q(1,4);
   %---------------------------------
%    if flag=='D'
%       fprintf('out the p%d from QDisk\n',Head);
%    elseif flag=='R'
%        fprintf('out the p%d from QReady\n',Head);
%    end

else
   fprintf('This is a EMPTY Queue(%c), You can not Pick up anything!\n',flag);
   return;
end
%-----------------shift the data---------------------
i=1;
while i<Qlen
   Q(i,:)=Q(i+1,:);
   i=i+1;
end
Q(Qlen,1)=0; %for the P
Q(Qlen,2)=default; % 0 for the QReady, EndTime for QDisk
Q(Qlen,3)=0;
Q(Qlen,4)=0;





⌨️ 快捷键说明

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