X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fmlfqs.texi;h=2e229dc4c2ffd5b87c3511d5942c3f9bb30083c3;hb=2cfc156c39840ce7f1cda6b473de1322691a8a0b;hp=cb64dc448481ddefc6a8dbfc69a932ad208dfcd0;hpb=98c2fc1ab7d395bb92cf4a57233fe432539d26a9;p=pintos-anon diff --git a/doc/mlfqs.texi b/doc/mlfqs.texi index cb64dc4..2e229dc 100644 --- a/doc/mlfqs.texi +++ b/doc/mlfqs.texi @@ -1,10 +1,10 @@ -@node Multilevel Feedback Scheduling, Coding Standards, Project 4--File Systems, Top +@node Multilevel Feedback Scheduling, Coding Standards, References, Top @appendix Multilevel Feedback Scheduling This section gives a brief overview of the behavior of the Solaris 2.6 Time-Sharing (TS) scheduler, an example of a Multilevel Feedback Queue scheduler. The information in this handout, in conjunction with that -given in lecture, should be used to answer Problem 1-4. The end of +given in lecture, should be used to answer Problem 1-3. The end of this document specifies in more detail which aspects of the Solaris scheduler that you should implement. @@ -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