From f53494c28e362fb7752bbc83417b9ba47cff0bf5 Mon Sep 17 00:00:00 2001 From: rsc Date: Wed, 3 Sep 2008 04:50:04 +0000 Subject: DO NOT MAIL: xv6 web pages --- web/l-schedule.html | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 340 insertions(+) create mode 100644 web/l-schedule.html (limited to 'web/l-schedule.html') diff --git a/web/l-schedule.html b/web/l-schedule.html new file mode 100644 index 0000000..d87d7da --- /dev/null +++ b/web/l-schedule.html @@ -0,0 +1,340 @@ +Scheduling + + + + + +

Scheduling

+ +

Required reading: Eliminating receive livelock + +

Notes based on prof. Morris's lecture on scheduling (6.824, fall'02). + +

Overview

+ + + +

In short, scheduling is a system problem. There are many +schedulers; they interact. The CPU scheduler is usually the easy +part. The hardest part is system structure. For example, the +existence of interrupts is bad for scheduling. Conflicting +goals may limit effectiveness. + +

Case study: modern UNIX

+ +

Goals: +

+ +

UNIX has a number of execution environments. We care about +scheduling transitions among them. Some transitions aren't possible, +some can't be be controlled. The execution environments are: + +

+ +

The rules are: +

+ + + +

Rules are implemented as follows: + +

+ +

Is this good software structure? Let's talk about receive +livelock. + +

Paper discussion

+ + -- cgit v1.2.3