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]...."
 
 
(8 intermediate revisions by the same user not shown)
Line 3: Line 3:
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 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, 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