Advanced Operating Systems
COMP9242 2002/S2
UNSW
Printer-Friendly Version
Administration
-
Notices
-
Course Intro
-
Consultations
# On-line Survey (closed)
-
Survey Results
Work
-
Lectures
-
Milestone 0
-
Project Admin
-
Project Spec
-
Project FAQ
-
Exam
Documentation
-
ASysT Lab
-
L4 source browser
-
Sulima ISA Simulator
-
R4x00 ISA Summary
-
MIPS R4700 Reference
-
MIPS R4000 User Manual
-
Network Driver
-
GT64111
Related Info
-
Aurema OS Prize
-
OS Hall of Fame
History
-
2000
-
1999
-
1998
Staff
-
Gernot Heiser
(LiC)
Next:
The L4 Microkernel
The L4 Microkernel
Features
L4 Implementations
L4 Implementation Example: MIPS
History
Statistics (Kernel version 79)
Main L4 Abstractions
L4 Threads
Tasks
IPC
Flexpages
Properties
Address Spaces
This is done with the help of three mapping primitives
Granting
Clans & Chiefs
Inter-Clan IPC
Page Faults and Pagers
Exceptions and Excepters
L4/MIPS exception handling
L4/ix86 exception handling
Preemptions and Preempters
Interrupts and Interrupt Handlers
Device Interfaces
Device Driver
L4 device driver
Top half handler
Bottom half handler
L4 device driver...
L4-Based OS Design
OS Structure
The L4 Interface
L4 System Calls
IPC System Call Overview
Client functions
C bindings for chiefs
Deceiving IPC
Example: Send Call
Example: Receive Call
L4 IPC Messages
Register message format
Send message descriptor format
Receive message descriptor format (MIPS)
Memory message format
Message format: Logical
Message format: Physical
Message header format
String dope format
IPC Result Status
IPC Result Condition Code
IPC Timeout Specifications
Timeouts...
Specification of Mappings
fpage representation (MIPS)
Fpage Mapping
Send fpage information
Fpage Mapping Rules
Fpage Mapping Examples
Formal Fpage Mapping Rules
Fpage Notes
Revoke Mappings: fpage_unmap System Call
Obtain Thread IDs: id_nearest System Call
Task Creation and Deletion: task_new System Call
Details of task_new Operation
Thread Manipulation: lthread_ex_regs System Call
Release CPU: thread_switch System Call
Manipulate Scheduling Parameters: thread_schedule System Call
Task and thread management
L4 Scheduling
User-level scheduling in L4
The Root Pager
Kernel information page
DIT header page (MIPS)
Devices (MIPS)
Bootstrap (MIPS Specific)
OS Startup Code
Device drivers
Implication of server architecture
What to run first?
Where's the OS?
References
Bibliography
About this document ...
Gernot Heiser 2002-08-07