Operating Systems 2019W Lecture 16

From Soma-notes
Revision as of 13:33, 14 March 2019 by Soma (talk | contribs)

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 following textbook chapters: 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.


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