Get Affordable VMs - excellent virtual server hosting


browse words by letter
a b c d e f g h i j k l m n o p q r s t u v w x y z

multitasking

multitasking


  1  definition  found 
 
  From  The  Free  On-line  Dictionary  of  Computing  (13  Mar  01)  [foldoc]: 
 
  multitasking 
 
    (Or  "multi-tasking",  "multi-processing", 
  "multiprogramming",  "concurrency",  "process  scheduling")  A 
  technique  used  in  an  {operating  system}  for  sharing  a  single 
  processor  between  several  independent  jobs.  The  first 
  multitasking  operating  systems  were  designed  in  the  early 
  1960s. 
 
  Under  "{cooperative  multitasking}"  the  running  task  decides 
  when  to  give  up  the  CPU  and  under  "{pre-emptive  multitasking}" 
  (probably  more  common)  a  system  process  called  the 
  "{scheduler}"  suspends  the  currently  running  task  after  it  has 
  run  for  a  fixed  period  known  as  a  "{time-slice}".  In  both 
  cases  the  scheduler  is  responsible  for  selecting  the  next  task 
  to  run  and  (re)starting  it 
 
  The  running  task  may  relinquish  control  voluntarily  even  in  a 
  pre-emptive  system  if  it  is  waiting  for  some  external  {event}. 
  In  either  system  a  task  may  be  suspended  prematurely  if  a 
  hardware  {interrupt}  occurs,  especially  if  a  higher  priority 
  task  was  waiting  for  this  event  and  has  therefore  become 
  runnable. 
 
  The  scheduling  {algorithm}  used  by  the  scheduler  determines 
  which  task  will  run  next  Some  common  examples  are 
  {round-robin}  scheduling,  {priority  scheduling},  {shortest  job 
  first}  and  {guaranteed  scheduling}. 
 
  Multitasking  introduces  {overheads}  because  the  processor 
  spends  some  time  in  choosing  the  next  job  to  run  and  in  saving 
  and  restoring  tasks'  state,  but  it  reduces  the  worst-case  time 
  from  job  submission  to  completion  compared  with  a  simple 
  {batch}  system  where  each  job  must  finish  before  the  next  one 
  starts.  Multitasking  also  means  that  while  one  task  is 
  waiting  for  some  external  event,  the  {CPU}  to  do  useful  work 
  on  other  tasks. 
 
  A  multitasking  operating  system  should  provide  some  degree  of 
  protection  of  one  task  from  another  to  prevent  tasks  from 
  interacting  in  unexpected  ways  such  as  accidentally  modifying 
  the  contents  of  each  other's  memory  areas. 
 
  The  jobs  in  a  multitasking  system  may  belong  to  one  or  many 
  users.  This  is  distinct  from  {parallel  processing}  where  one 
  user  runs  several  tasks  on  several  processors.  {Time-sharing} 
  is  almost  synonymous  but  implies  that  there  is  more  than  one 
  user. 
 
  {Multithreading}  is  a  kind  of  multitasking  with  low 
  {overheads}  and  no  protection  of  tasks  from  each  other  all 
  threads  share  the  same  memory. 
 
  (1998-04-24)