Lecture 11 - More on Scheduling

Last time we talked a bit about scheduling algorithms. We keep the discussion going.

Examples of Preemptive Scheduling

Priority Scheduling: Give each job a priority (rank, price, etc.) and choose the most important one. The idea is to break the priorities into classes:

For example, there's CTSS: Compatible Time Sharing System:

But you can grant priority based on:

Another example would be lottery, where you just say "LOL completely random" and be random with the processes.

Minix Scheduling

Minix uses the following structure:

Pasted image 20241030103902.png

Minix 2 uses the following scheduling schema per level:

Pasted image 20241030104044.png

Minix 3 added a 16-level priority scheduling system:

Pasted image 20241030104126.png

Three-Level Scheduling

For any scheduling scheme we schedule at three different locations/types: