Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduction Comparison of scheduling based on some parameters On Uniprocessor system most of it On Multiprocessor system Problems addressed by the schedulers
Introduction
Objectives OSs analyzed FreeBSD 4.4 pre SMPng Linux 2.4.18 pre Preemtible kernel support Windows 2000 Convention Unit of work scheduled is Process
Win2k
Kernel level priorities 16 31 Kernel level priorities
FreeBSD
50 127 Real-time priorities
Linux
>= 1000
1 - 15
0 - 49
0 to 999
Real-time
Non real-time
FreeBSD picks a process with lowest priority value Scheduler data structure Win2k, FreeBSD uses multilevel priority queue Linux uses linked list of runnable processes Wait queue
Low priority process will never get to run in Win2k and FreeBSD but not the case in Linux Same priority processes share the quantum in FreeBSD and Linux but will for quantum each in Win2k
20 10 0
0:00
0:01
0:02
0:03
0:04
0:05
0:06
0:07
0:08
0:09
0:10
0:11
0:12
0:13
Time
0: 00 0: 01 0: 02 0: 03 0: 04 0: 05 0: 06 0: 07 0: 09 0: 11 0: 13 0: 00
Time
0:00
0:01
0:02
0:03
0:04
0:05
0:06
0:08
0:09
0:10
0:11
0:12
0:13
0:14
Time
0:15
0:14
Boosts priority by 15 if the process was last running on the processor Scheduling based on Cache Flush Time
Problems addressed by the schedulers Win2k priority inversion FreeBSD thrashing, solved by high-level scheduler Linux Quantum sharing between parent and child processes during forking