X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2F44bsd.texi;h=3bbce0d572c2a6b3cc051920fa7caa7906b439ae;hb=ffd63f8d7e284c6d49889666953b581db8a8d0cd;hp=4d61c17afb995b8daf753c6a57ad42f4d1419bf8;hpb=9018e28b2292aef7055eff62d48aa814ad180b12;p=pintos-anon diff --git a/doc/44bsd.texi b/doc/44bsd.texi index 4d61c17..3bbce0d 100644 --- a/doc/44bsd.texi +++ b/doc/44bsd.texi @@ -52,6 +52,12 @@ time, the scheduler chooses a thread from the highest-priority non-empty queue. If the highest-priority queue contains multiple threads, then they run in ``round robin'' order. +Multiple facets of the scheduler require data to be updated after a +certain number of timer ticks. In every case, these updates should +occur before any ordinary kernel thread has a chance to run, so that +there is no chance that a kernel thread could see a newly increased +@func{timer_ticks} value but old scheduler data values. + @menu * Thread Niceness:: * Calculating Priority:: @@ -75,9 +81,9 @@ time from other threads. The initial thread starts with a @var{nice} value of zero. Other threads start with a @var{nice} value inherited from their parent -thread. You -must implement these functions, for which we have provided skeleton -definitions in @file{threads/thread.c}. +thread. You must implement the functions described below, which are for +use by test programs. We have provided skeleton definitions for them in +@file{threads/thread.c}. by test programs @deftypefun int thread_get_nice (void) Returns the current thread's @var{nice} value.