Operating Systems 2018F Lecture 18: Difference between revisions
Created page with "==To Do== * strace memoryll * uid vs euid * scheduling and __schedule" |
No edit summary |
||
| Line 1: | Line 1: | ||
==To Do | ==Video== | ||
The video from the lecture given on November 14, 2018 [https://homeostasis.scs.carleton.ca/~soma/os-2018f/lectures/comp3000-2018f-lec18-20181114.m4a is now available]. | |||
==Notes== | |||
===In Class=== | |||
<pre> | |||
Lecture 18 | |||
---------- | |||
To Do | |||
----- | |||
strace memoryll | |||
uid vs euid | |||
scheduling and __schedule | |||
Optional reading: | |||
https://utcc.utoronto.ca/~cks/space/blog/unix/RawTtyInputThenAndNow | |||
Scheduling | |||
---------- | |||
System calls => enter supervisor mode (kernel) from user mode (processes) | |||
scheduler => enter user mode (processes) from supervisor mode (kernel) | |||
Scheduling algorithms | |||
Challenges of scheduling | |||
- maximize use of resources (throughput) | |||
- minimize wait time (latency) | |||
- minimal computational complexity | |||
scheduling is pure overhead | |||
- make sure "important" things get done | |||
- obey user preferences | |||
- do important system things | |||
Classic scheduling | |||
Batch scheduling | |||
- shortest job first | |||
- lowers latency for shorter jobs but isn't "fair" | |||
- first in, first out | |||
- fair, but can have bad consequences | |||
"time sharing" - preemptible scheduling | |||
- each process gets a "time slice" | |||
- when process is interupted, what to do next? | |||
key question | |||
- is it waiting for I/O? | |||
</pre> | |||
Revision as of 21:08, 14 November 2018
Video
The video from the lecture given on November 14, 2018 is now available.
Notes
In Class
Lecture 18
----------
To Do
-----
strace memoryll
uid vs euid
scheduling and __schedule
Optional reading:
https://utcc.utoronto.ca/~cks/space/blog/unix/RawTtyInputThenAndNow
Scheduling
----------
System calls => enter supervisor mode (kernel) from user mode (processes)
scheduler => enter user mode (processes) from supervisor mode (kernel)
Scheduling algorithms
Challenges of scheduling
- maximize use of resources (throughput)
- minimize wait time (latency)
- minimal computational complexity
scheduling is pure overhead
- make sure "important" things get done
- obey user preferences
- do important system things
Classic scheduling
Batch scheduling
- shortest job first
- lowers latency for shorter jobs but isn't "fair"
- first in, first out
- fair, but can have bad consequences
"time sharing" - preemptible scheduling
- each process gets a "time slice"
- when process is interupted, what to do next?
key question
- is it waiting for I/O?