慶應義塾大学
2012年度 春学期
システム・ソフトウェア
System Software / Operating Systems
第13回 7月13日 リアルタイムOS
Lecture 13, July 13: Real-Time Operating Systems
Outline
- Link of the Day
- Today's Picture
- Scheduling
- Basic priority scheduling (return to Mars)
- Goals of scheduling
- Batch scheduling: FCFS, SJF
- CPU scheduling: round robin, etc.
- I/O priority boost
- Fairness: by user or process?
- Thread scheduling
- Multiprocessor scheduling
- Realtime: deadline scheduling
- Bonus: scheduling in multithreaded architectures
- Current scheduling research
Links of the Day
David Malan's introductory computer science class at Harvard
Launch of the
space shuttle Columbia, April 12, 1981 (I was there.)
Today's Picture
Real-Time Operating Systems
- Real-time operation requires careful control over resources.
- CPU scheduling is perhaps the most important; real-time
scheduling is done by establishing deadlines for certain
tasks, or more generall value functions.
Scheduling
Basic Priority Scheduling
A few weeks ago we saw basic priority scheduling, in the example of
VxWorks on Mars. VxWorks is a good example of an embedded
OS, and also includes real-time operation.
Goals of General-Purpose Scheduling
- Throughput
- Fairness
- Responsiveness
- Effective utilization of all resources
Do those goals still hold in real-time OSes? No!
Real-time: Deadline Scheduling
Airplanes falling from the sky, death and destruction all around. We
don't want that, do we? Then don't play Tetris on your flight
avionics hardware...
- CPU scheduling is perhaps the most important aspect, but the
principles apply to other resources, as well.
- Several mechanisms can be used:
- Shortest job first
- Deadline: Job with the earliest deadline is
chosen
- Slack: Job with the least "slack" (room for
error/time to waste) is chosen
- FIFO: Just what it sounds like, and only good in
certain circumstances
Jensen, Locke and Tokuda talk about the value of completing
a particular task at a particular time:
Once the value reaches zero, there is no point in executing the
task. Question: What might some tasks be that would have each of
those classes of value function?
Here is an example of what a schedule might look like if we had one
of each kind of task, all started at the same time:
Homework
None, just work on your project.
Next Lecture
Next lecture:
第14回 7月19日 Operating Systemsの研究
Lecture 14, July 19: Operating Systems Research
Readings for next week and followup for this week:
Follow-up: You should look up both the real-time and embedded capabilities of
その他 Additional Information