Lecture 9: Operating System Examples and Case Studies - Scheduling Flashcards
Briefly describe Solaris’s history.
Unix operating system developed by Sun, acquired by Oracle. Solaris is Open-Source.
What CPU Scheduling algorithm does the Solaris operating system use?
Priority-based Scheduling among Multi-Level Queues where each Queue is called a “class”
List the classes of Solaris’s queues that processes can be categorized into along with their priority numbers.
1) Interrupt class (160-169)
2) Real time class (100-159)
3) System class (Kernel threads) (60-99)
4) Fair Share (0-59 for 4-7)
5) Fixed Priority
6) Timeshare
7) Interactive
What CPU Scheduling algorithm does Windows utilize?
Multilevel Queues that operate via Priority Scheduling to manage its two queues and Round Robin algorithm to manage scheduling in each queue
What are the classes of processes in Windows MLQ long with their priority number?
1) User Class (1-15)
2) Real Time Class (16-21)
Linux dominates which platforms?
Servers and mobile (Android)
What CPU Scheduling algorithm does Linux utilize?
MLQ with 2 queues:
1) Real-time Class
2) Completely Fair Scheduler (CFS) that tries to guarantee fairness (CPU usage). Uses nice values.
What is the range of nice values?
-20 to 19
What is the affects of assigning a non-zero nice value? a zero nice value?
Non-zero NV: each incremental difference is equivalent to 10% change in processes CPU time in an INVERSE FASHION. Zero: Actual Run Time
Describe how Completely Fair Scheduling works (once Nice Values are assigned to processes).
- Pick processes with the weighted MINIMUM runtime so far (ie. the smallest virtual runtime so far)
High nice values result in:
Less CPU time
Low nice values result in:
More CPU time
Assume a process has an Actual Run Time of 200 ms.
1) Nice value assigned is 0 - what is VRT?
2) Nice value assigned is less than zero - what is VRT?
3) Nice value assigned is greater than 0 - what is VRT?
1) 200ms
2) Less than 200ms
3) More than 200ms