Revision 2 5 September 2000
The course outline below is VERY PRELIMINARY. The only thing that is absolutely definite are the exam and project dates - so that you can plan ahead. Project 1 will be an annotation of L4/MIPS source code not already annotated by Professor Heiser or your instructor. The rules for code selection and annotation will be provided. The Final Exam will be replaced by a programming project if we have a working simulator and development environment in time to do this. >
| WK | DATES | TOPICS | Reading* and Exams |
|---|---|---|---|
| 1 | Aug 22/24 | Introduction to course. Introduction to L4/MIPS. Introduction to MIPS R4x00 assembler and architecture. |
I1 1-2.2.2; P12
Sections1-3; P23; U4 Ch. 1, and Introduction slides |
| 2 | Aug 29/31 | MIPS R4x00 assembler and architecture continued. Introduction to L4 continued. |
R5 Ch. 1-1.1.5, |
| 3 | Sept 5/7 | MIPS R4x00 assembler and architecture continued. L4/MIPS organization and data structures - introduction TLB Miss Handling - first part. |
I 2.2.3-2.2.5; I 3.1-3.2.2 I 4.1; M6 Ch. 1, Ch. 4 pp. 61-65, 95-97 and App. A; C7 kernel.h, types.h, types2.h |
| 4 | Sept 12/14 | General Exception Handling - first part. Introduction to short IPC. |
I 4.2-4.2.5, 5.2-5.2.3; API slides 1-24; M Ch4 (relevant parts), Ch 5 (status register); U Ch. 2-2.2.3 (except long IPC) |
| 5 | Sept 19/21 | Short IPC continued. Clans and Chiefs. |
I 5.3, 5.4; R 1.3 and 2.4 pp. 27-37; Assorted slides 13-21; U 2.3 |
| 6 | Sept 26/28 | Assorted topics that pull L4/MIPS
together. Review for Midterm 1. Midterm 1. |
Midterm 1 Thursday September 28 2000 |
| 7 | Oct 3/5 | Other system calls. L4 overview continued |
TBD P1 Sections 4-7 |
| 8 | Oct 10/12 | User level system call stubs and the C library interface. | TBD |
| 9 | Oct 17/19 | Long IPC and TLB misses during long IPC. | TBD |
| 10 | Oct 24/26 | TLB misses during long IPC continued. Managing a huge address space and guarded page tables. |
TBD
|
| 11 | Oct 31/Nov 2 | Assorted topics that pull L4/MIPS
together. Review for Midterm 2. Midterm 2. |
Midterm 2 Thursday November 2 2000 |
| 12 | Nov 7/9 | Device drivers. L4 Scheduling. |
TBD |
| 13 | Nov 14/16 | L4 Scheduling continued. Programs and OS servers that run on top of L4. |
TBD |
| 14 | Nov 21 | Programs and OS servers that run on top of L4
continued. Initializing and booting L4. |
TBD |
| 15 | Nov 28/30 | Other parts of L4/MIPS. | Project 1 Tuesday November 28 2000 |
| 16 | Dec 5 | Other L4 implementations. | TBD |
| 17 | Dec 12 | Final Exam - Comprehensive. | Final Exam or Project 2 Tuesday December 12 2000 6:40pm |
* Notes:
1. I Inside
L4/MIPS Anatomy of a High-Performance Microkernel, Version 2.14, Gernot
Heiser, July 12, 2000, (Class Notes I).
2. P1 "On µ-Kernel Construction",
Jochen Liedtke, Proceedings of 15th ACM Symposium on Operating System
Principles (SOSP), December 1995.
3. P2 "Towards Real µ-Kernels",
Jochen Liedtke, Communications of the ACM, 39(9), September 1996.
4. U L4 User Manual, Version 1.14,
Alan Au and Gernot Heiser, School of Computer Science and Engineering,
University of New South
Wales, Sydney, Australia, (Class Notes II).
5. R L4 Reference Manual MIPS R4x00
Version 1.11 Kernel Version 79, K. Elphinstone, G. Heiser and J. Liedtke,
School of Computer Science and Engineering, University of New South Wales,
Sydney, Australia, (Class Notes III).
6. M MIPS Microprocessor R4000 User's
Manual, Joe Heinrich, Prentice Hall, 1993.
7. C L4/MIPS Source Code, Kernel Version 79.