X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fmlfqs.texi;h=b9a31865120fb10f84596c15ccdbee6ac0ca8dc2;hb=2f2b3a9b0e72eb25010d1fa757687fd8a87658ef;hp=253f91b7226ccefd47241e6198548414c0198fae;hpb=51c7b0ba8caf78a6d47b979664b84bcb392e1c5b;p=pintos-anon diff --git a/doc/mlfqs.texi b/doc/mlfqs.texi index 253f91b..b9a3186 100644 --- a/doc/mlfqs.texi +++ b/doc/mlfqs.texi @@ -22,7 +22,7 @@ waiting in higher priority queues are always scheduled over those in lower priority queues. Processes at the same priority are usually scheduled in a round-robin fashion. -Such schedulers tend to be preemptible in order to support interactive +Such schedulers tend to be preemptible to support interactive processes. That is, a higher priority process is immediately scheduled if a lower priority process is running on the CPU. @@ -279,7 +279,7 @@ typedef struct tsproc @{ The @code{kthread_t} structure tracks the necessary information to context-switch to and from this process. This structure is kept -separate from the time-sharing class in order to separate the +separate from the time-sharing class to separate the mechanisms of the dispatcher from the policies of the scheduler. There are seven interesting routines in the TS class: @@ -356,7 +356,12 @@ consumes its timeslice, its priority is lowered about ten levels Since the coarse job runs more frequently, it drops in priority at a faster rate than the other two jobs. +@ifnottex @image{mlfqs1} +@end ifnottex +@iftex +@image{mlfqs1, 3in} +@end iftex The impact of this policy on the relative execution times of the three applications is shown in the next graph below. Because the coarse @@ -364,7 +369,12 @@ application acquires more CPU time, it finishes its work earlier than the other applications, even though all three jobs require the same amount of time in a dedicated environment. +@ifnottex @image{mlfqs2} +@end ifnottex +@iftex +@image{mlfqs2, 3in} +@end iftex @node Project Requirements @section Project Requirements