[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: Deceiving IPC Up: 01-l4 Previous: L4 System Calls

Subsections

IPC System Call Overview

One system call, variants accessible via separate C library entry points

Client functions

  • send() send a message (blocking) to a specific thread
  • receive() ``closed'' receive from specific sender (might be interrupt)--
    includes sleeping (if specify invalid sender)
  • wait() ``open'' receive from any thread (incl. interrupt)
  • call() send and wait for reply (usual ``RPC'' operation)
  • reply_and_wait() send message and wait for any new message
    typical server operation
  • send_deceiving() like send() but substituting sender ID
  • reply_deceiving_and_wait() 
    like reply_and_wait() but substituting sender ID

C bindings for chiefs

Alternative bindings which return the ID of the intended destination in the case of redirection:
  • chief_send() 
    identical to send_deceiving
  • chief_wait() 
    like wait() but returns ID of intended destination
  • chief_receive() 
    like receive() but returns ID of intended destination
  • chief_call() 
    like call() but substitutes sender ID and returns ID of intended destination
  • chief_reply_and_wait() 
    like reply_deceiving_and_wait() but returns ID of intended destination
The ID of the intended destination supports transparent forwarding by chief.


next up previous
Next: Deceiving IPC Up: 01-l4 Previous: L4 System Calls
Gernot Heiser 2002-08-07