NFU Specification: Difference between revisions

From ReddNet
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
*** variable/values exchanged directly between nfu client and nfu Op
*** variable/values exchanged directly between nfu client and nfu Op
** 2. IBP Cap handling
** 2. IBP Cap handling
*** NFU Server (not nfuOp) processes IBP Caps
***IBP_REF_[RD, WR, RDWR]
***IBP_REF_[RD, WR, RDWR]
***E.G. _RD: client sends readCap to server, NFU server provides nfuOp a pointer to mmap of the allocation
***E.G. _RD: client sends readCap to server, NFU server provides nfuOp a pointer to mmap of the allocation

Revision as of 07:49, 1 July 2008

Simple overview:

  • NFU server -- "adjacent" to IBP depot.
  • NFU Op -- lightweight program, written in C, or Java, depending on server.
  • NFU client -- launches nfuOps and exchanges data with it.
  • NFU API:
    • Two types of data exchange:
    • 1. variable exchange
      • IBP_VAL_[IN, OUT, INOUT]
      • variable/values exchanged directly between nfu client and nfu Op
    • 2. IBP Cap handling
      • NFU Server (not nfuOp) processes IBP Caps
      • IBP_REF_[RD, WR, RDWR]
      • E.G. _RD: client sends readCap to server, NFU server provides nfuOp a pointer to mmap of the allocation
      • nfuOp does not receive readCap string
  • security issues
    • Java NFU server has VM isolation of nfuOp
    • UTK NFU server has option to run Cap as process to isolate nfuOp from server