[CSE]  Advanced Operating Systems 
 COMP9242 2002/S2 
UNSW

PRINTER 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 ReferenceMIPS R4000 User Manual 
- Network Driver
- GT64111
 
Related Info
- Aurema OS Prize
- OS Hall of Fame
 
History
- 2000
- 1999
- 1998
 
Staff
- Gernot Heiser (LiC)

 
Valid HTML 4.0!
next up previous
Next: LLinux Performance Up: 05-uk Previous: -kernel Design Principles

Subsections

Case in Point: L\(\!^4\)Linux [Härtig et al. 97]


  • Port of Linux kernel to L4 (like Mach Unix server)
    • single-threaded (for simplicity, not performance)
    • is pager of all Linux user processes
    • maps emulation library and signal-handling code into AS
    • server AS maps physical memory (& Linux runs within)
    • copying between user and server done on physical memory
      • use software lookup of page tables for address translation
  • Changes to Linux restricted to architecture-dependent part
  • Duplication of page tables (L4 and Linux server)
  • Binary compatible to native Linux via trampoline mechanism
    • but also modified libc with RPC stubs

Signal delivery in L\(\!^4\)Linux

h+_97_f3

  • separate signal-handler thread in each user process
    • server IPCs signal-handler thread
    • handler thread ex_regs main user thread to save state
    • user thread IPCs Linux server
    • server does signal processing
    • server IPCs user thread to resume



Gernot Heiser 2002-08-28