Operating Systems 2019W Lecture 16: Difference between revisions

From Soma-notes
Created page with "==Video== The video for the lecture given on March 13, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019w/lectures/comp3000-2019w-lec16-20190313.m4v is now available]...."
 
No edit summary
Line 2: Line 2:


The video for the lecture given on March 13, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019w/lectures/comp3000-2019w-lec16-20190313.m4v is now available].
The video for the lecture given on March 13, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019w/lectures/comp3000-2019w-lec16-20190313.m4v is now available].
==Readings/Outside resources==
If you wish to learn more about scheduling, see the following textbook chapters: [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.





Revision as of 13:33, 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 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