Entries  on  the  dispatch  list  are  the  VKBLOKs   for  those  virtual  
machines in states 1, 2, 5, and 6, and represent the virtual machines
that can be run at any giventime.   (States   2  and  6  remain  in  the  
dispatch list even though they are not dispatchable.) The dispatch list
is sortedby   dispatching  priority,  which  is  the  ratio  of  processor  tille  
to waittille   over  the  length  of  the  current  virtual  machine  task.  A   task  is  defined  as  that  execution  that  takes  place  between  terminal  
reads or entry to enabled wait (that is,lIovement   from   state  4   or  8  to  
state 1) and is re-projected for a virtualmachine   each  time  it  is  
droppedfroll   a  queue.   Virtual   machines  entering  state  1  always  have  a  priority-   o-f9-.   The  eligible  list  contains  virtual  machines   in  states  3  and  7:  these  
virtuallIachines   are  potentially  executable,  but  due  to  the  current  load  
on thesystem   they  are  not  allowed  to  compete   for  the  processor.  Is   soon  as  a  virtual  machine  in  the  dispatch  list  is  dropped  froll   queue,  
the highest-priority virtual machine(s) in the eligible list is added to
the dispatch list. Conditions can arise where the virtualmachine   that  
is added to the dispatch list has a prOjected working set size that far
exceeds theremaining   system  capacity.  The  eligible  list  has  two  cOllponents;   a  section  composed  of  those  virtual  machines  waiting  for  Q1  
(interactive) and a section composed of those virtual machines waiting
for02   (non-interactive).  Each  section  of  the  list  is  sorted  by  
scheduling priority, which is determined at the time the virtualmachine   is  added  to  the  eligible  list,  as  follows:  
1. The virtual machine's prOjected working set size, calculated the
lasttime   it  was  dropped  from   a  queue,  is  expressed  as  a  percentage  
of the amount ofmain   storage'-   available  for  paging.  This  
percentage, usually between0   and  100,   is  multiplied   by  the  paging  
bias factor (stored atDKKSCHPB).   2.  The  virtual  machine's   priority  (the  priority  set  by  the  directory  
or the classA   SET   PRIORITY   command)  is  multiplied  by  the  user  bias  
factor (stored atDftKSCHUB).   and  is  added  to  the  paging  bias  
calculated in step 1.
3. Thesum   of  paging  and  user  bias  is  divided  by  the  sum   of  the  bias  
factors to obtain a weighted average.4.   1  base   priority  is   obtained  by  storing   the  TOO   clock  and  using  the  leftmost   word,  which  increases  by  1  approximately   once  per  second.  
This word is then modified by shifting it left or right based on
the priority delay factor (stored atDBKSCHPDj.   If  DBKSCHPD   is   positive,  it  indicates  a  right  shift,  thereby  increasing  the  delay  
interval of the base priority.A   negative  value  indicates  a  left  
shift.
5. The weighted average obtained in step 3 is then logically added to
the adjusted base obtained in step4.   6.  If  the  virtual  machine   is  entering  02   for  the  first  time   after  
being droppedfrom   Q1,  the  interactive  bias  factor  (stored  at  DKKSCHIB)   is  subtracted  froll   the  priority  obtained  in  step  5.  If  
the virtualmachine   is  entering  Q1,  or  if  it  was   last  dropped  from   02,   the  interactive  bias  is  not  applied.  
7. The result of steps 1 through 6 is the scheduling or eligible list
priority, and is stored in theVKEPRIOR   field  of  the  VKBLOK.   The  V!BLOK   is  then  sorted  into  the  appropriate  section  of  the  
eligible list in ascending value ofVKEPRIOR.   The  effects  of  the  
various biases and the delay factor are illustratedby   the  following  examples.   CP  Introduction  1-129  
machines in states 1, 2, 5, and 6, and represent the virtual machines
that can be run at any given
dispatch list even though they are not dispatchable.) The dispatch list
is sorted
to wait
reads or entry to enabled wait (that is,
state 1) and is re-projected for a virtual
dropped
virtual
on the
the highest-priority virtual machine(s) in the eligible list is added to
the dispatch list. Conditions can arise where the virtual
is added to the dispatch list has a prOjected working set size that far
exceeds the
(interactive) and a section composed of those virtual machines waiting
for
scheduling priority, which is determined at the time the virtual
1. The virtual machine's prOjected working set size, calculated the
last
of the amount of
percentage, usually between
bias factor (stored at
or the class
factor (stored at
calculated in step 1.
3. The
factors to obtain a weighted average.
This word is then modified by shifting it left or right based on
the priority delay factor (stored at
interval of the base priority.
shift.
5. The weighted average obtained in step 3 is then logically added to
the adjusted base obtained in step
being dropped
the virtual
7. The result of steps 1 through 6 is the scheduling or eligible list
priority, and is stored in the
eligible list in ascending value of
various biases and the delay factor are illustrated
            
            





































































































































































































































































































































































































































































