Updated to use Bochs 2.6.11
[pintos-anon] / doc / 44bsd.texi
index ba67ddaa876e6504f2c2b95993b7810415dd0c6c..743dad36fca230323600e4f9add0465fcad742df 100644 (file)
@@ -113,7 +113,9 @@ the formula
 
 @noindent where @var{recent_cpu} is an estimate of the CPU time the
 thread has used recently (see below) and @var{nice} is the thread's
-@var{nice} value.  The coefficients @math{1/4} and 2 on @var{recent_cpu}
+@var{nice} value.  The result should be rounded down to the nearest
+integer (truncated).
+The coefficients @math{1/4} and 2 on @var{recent_cpu}
 and @var{nice}, respectively, have been found to work well in practice
 but lack deeper meaning.  The calculated @var{priority} is always
 adjusted to lie in the valid range @code{PRI_MIN} to @code{PRI_MAX}.
@@ -175,14 +177,14 @@ using this formula:
 threads ready to run (see below).  If @var{load_avg} is 1, indicating
 that a single thread, on average, is competing for the CPU, then the
 current value of @var{recent_cpu} decays to a weight of .1 in
-@am{\log_{2/3}.1 \approx 6, ln(2/3)/ln(.1) = approx. 6} seconds; if
+@am{\log_{2/3}.1 \approx 6, ln(.1)/ln(2/3) = approx. 6} seconds; if
 @var{load_avg} is 2, then decay to a weight of .1 takes @am{\log_{3/4}.1
-\approx 8, ln(3/4)/ln(.1) = approx. 8} seconds.  The effect is that
+\approx 8, ln(.1)/ln(3/4) = approx. 8} seconds.  The effect is that
 @var{recent_cpu} estimates the amount of CPU time the thread has
 received ``recently,'' with the rate of decay inversely proportional to
 the number of threads competing for the CPU.
 
-Assumptions made by some of the tests require that updates to
+Assumptions made by some of the tests require that these recalculations of
 @var{recent_cpu} be made exactly when the system tick counter reaches a
 multiple of a second, that is, when @code{timer_ticks () % TIMER_FREQ ==
 0}, and not at any other time.
@@ -298,8 +300,8 @@ Suppose that we are using a @m{p.q} fixed-point format, and let @am{f =
 2^q, f = 2**q}.  By the definition above, we can convert an integer or
 real number into @m{p.q} format by multiplying with @m{f}.  For example,
 in 17.14 format the fraction 59/60 used in the calculation of
-@var{load_avg}, above, is @am{(59/60)2^{14}, 59/60*(2**14)} = 16,111
-(rounded to nearest).  To convert a fixed-point value back to an
+@var{load_avg}, above, is @am{(59/60)2^{14}, 59/60*(2**14)} = 16,110.
+To convert a fixed-point value back to an
 integer, divide by @m{f}.  (The normal @samp{/} operator in C rounds
 toward zero, that is, it rounds positive numbers down and negative
 numbers up.  To round to nearest, add @m{f / 2} to a positive number, or