[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: Downcall vs. upcall Up: 04-uk Previous: Microkernels and Client-Server Architectures

Subsections

Motivation


  • Early operating systems had very little structure.
  • A strictly layered approach was promoted by [Dijkstra 1968].
  • Later OS (more or less) followed that approach (e.g., Unix).

Problems with layered approach

  • Widening range of services and applications
    ==> OS bigger, more complex, slower, more error prone.
  • Need to support same OS on different hardware.
  • Like to support various OS environments.
  • Distribution
    ==> impossible to provide all services from same (local) kernel.

Idea: break up the OS




arch

Monolithic vs. client-server OS structure




sys

Kernel:


 $.$
Contains code which must run in supervisor mode;
 $.$
Isolates hardware dependence from higher levels;
 $.$
Is small and fast
==>
extensible system;
 $.$
Kernel provides mechanisms.

User-level servers:


  • Are hardware independent/portable,
  • Provide ``OS environment''/''OS personality'' (maybe several),
  • May be invoked:
    • from application (via message-passing IPC)
    • from kernel (upcalls);
  • Servers implement policies[BH70].


next up previous
Next: Downcall vs. upcall Up: 04-uk Previous: Microkernels and Client-Server Architectures
Gernot Heiser 2002-08-21