Ex Parte 5694604 et al - Page 36


                Appeal 2007-2127                                                                                  
                Reexamination Control No. 90/006,621                                                              









                                                                                                                  
                             There are two ways in which a running thread gives up control                        
                       of the CPU.  It can give up control of the CPU voluntarily, for                            
                       example when it finishes executing, or while waiting for the return of                     
                       a function call or the completion of a device I/O request.  It would not                   
                       be wise, however, to design an operating system under the                                  
                       presumption that all the active threads within the operating system                        
                       will cooperate among themselves to share processor cycles equally.                         
                       OS/2 will automatically preempt a running thread after a certain                           
                       number of clock cycles has passed (this value is called the time slice),                   
                       and go on to execute another.  This makes OS/2 a preemptive                                
                       scheduling system.                                                                         
                       OS/2 utilized both "priority" and "timesliced" preemptive scheduling                       
                in 1988 as described in Young, Programmer's Guide to OS/2, page 180:                              
                       Specifically, a thread is preempted when either of the following                           
                       events occurs:                                                                             
                ♦ Another thread, which has a higher priority, becomes ready to                                   
                             run.  (This can occur, for example, if a system call or hardware                     
                             interrupt routine frees some resource for which the higher-                          
                             priority thread has been waiting.)                                                   
                ♦ The thread's time slice expires.  The system receives control                                   
                             with each clock-tick interrupt, which gives the scheduler                            

                                                       36                                                         

Page:  Previous  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  Next

Last modified: September 9, 2013