Operating Systems 2019W Lecture 16
The video for the lecture given on March 13, 2019 is now available.
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).
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