[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: Mungi Component Model Up: 12-mungi Previous: Mandatory Access Control in

Subsections

OS Extensibility

  • Linux loadable kernel modules:
    • Run as part of the kernel ==> no protection.
    • Unsuitable for OS extension/customisation by users.
  • User-level servers (Mach, Windows-NT):
    • based on message-based communication with servers,
    • performance problems ==> migrate extensions into kernel.
    • newer systems try to do better (e.g. SawMill)

Existing approaches to OS extensibility (cont'd)

  • Safe kernel extensions by trusted code (e.g. SPIN[BSP$^+$95]):
    • extensions must be programmed in type-safe language (Modula-3),
    • restrictive programming model,
    • large trusted computing base,
    • unconvincing performance.
  • Safety by sandboxing kernel extensions (e.g. Vino[SESS96]):
    • poor performance.

What's wrong?

  • Kernel extensions create huge security problems.
    • Kernel code is inherently unrestricted.
    • Imposition of restrictions results in cost and complexity.
  • User-level extensions can be secure but:
    • have potential performance problems, and
    • need to be supported by an appropriate framework.

What's needed?

User-level extensibility can be made to work if[EH01b]:

  • Performance can be ensured.
    • Requires fast inter-process communication.
    • Has been demonstrated (L4, Pebble, Mungi).
  • Security can be guaranteed.
    • Extensions operate within ``normal'' OS protection system.
    • Will work if OS protection is strong and flexible enough.
  • A framework for extensions is provided which supports:
    • transparent invocation of extended services,
    • low overhead extension and customisation of extensions,
    • software technology to minimise complexity.


next up previous
Next: Mungi Component Model Up: 12-mungi Previous: Mandatory Access Control in
Gernot Heiser 2002-10-24