Operating Systems 2019W Lecture 16: Difference between revisions
Line 8: | Line 8: | ||
If you wish to learn more about scheduling, see the textbook chapters on [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf CPU Scheduling], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf Multi-level Feedback Scheduling], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-lottery.pdf Lottery Scheduling], and [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-multi.pdf Multi-CPU Scheduling]. Note that while you should understand the concept of scheduling, we will not be discussing scheduling algorithms in this course (thus these are not listed on the main course page). | If you wish to learn more about scheduling, see the textbook chapters on [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf CPU Scheduling], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf Multi-level Feedback Scheduling], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-lottery.pdf Lottery Scheduling], and [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-multi.pdf Multi-CPU Scheduling]. Note that while you should understand the concept of scheduling, we will not be discussing scheduling algorithms in this course (thus these are not listed on the main course page). | ||
If you want to learn about the history of UNIX, see this old [https://www.youtube.com/watch?v=tc4ROCJYbm0 AT&T video on the history of UNIX] and [https://www.youtube.com/watch?v=_2NI6t2r_Hs&t=225 Ken Thompson's talk on UNIX history] (talk really starts about 3:45 in). | If you want to learn about the history of UNIX, see this old [https://www.youtube.com/watch?v=tc4ROCJYbm0 AT&T video on the history of UNIX] and [https://www.youtube.com/watch?v=_2NI6t2r_Hs&t=225 Ken Thompson's talk on UNIX history] (talk really starts about 3:45 in, note it is more of his history than UNIX's history, but it is still very interesting). | ||
==Notes== | ==Notes== |
Latest revision as of 14:15, 14 March 2019
Video
The video for the lecture given on March 13, 2019 is now available.
Readings/Outside resources
If you wish to learn more about scheduling, see the textbook chapters on CPU Scheduling, Multi-level Feedback Scheduling, Lottery Scheduling, and Multi-CPU Scheduling. Note that while you should understand the concept of scheduling, we will not be discussing scheduling algorithms in this course (thus these are not listed on the main course page).
If you want to learn about the history of UNIX, see this old AT&T video on the history of UNIX and Ken Thompson's talk on UNIX history (talk really starts about 3:45 in, note it is more of his history than UNIX's history, but it is still very interesting).
Notes
Lecture 16 ---------- Scheduling When a process is interrupted or makes a system call, the kernel takes over the CPU core (and the core switches to supervisor mode) Scheduling is what happens when the kernel finishes its work and wants to run a process The kernel must choose what process (task) to run next, quickly and efficiently What criteria to use? - fairness: every process gets an equal share - but really, we want the kernel to run the "important" programs when they need to, an "unimportant" programs should take a back seat - so, we set priorities But static priorities aren't enough - so the kernel dynamically adjusts priorities based on heuristics