Printer-Friendly
Version
|
Next: LLinux Performance
Up: 05-uk
Previous: -kernel Design Principles
Subsections
- 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
- 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
|