NFU Specification: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
** Java NFU server has VM isolation of nfuOp | ** Java NFU server has VM isolation of nfuOp | ||
** UTK NFU server has option to run Cap as process to isolate nfuOp from server | ** UTK NFU server has option to run Cap as process to isolate nfuOp from server | ||
* compatibility issues: | |||
** Java NFU server currently has no way to run C nfuOps | |||
** if nfu server is not part of the ibp depot, then all IBP_REF_* exchanges need to be changed to IBP_VAL_* exchanges forcing the nfuOp to process IBP caps. |
Revision as of 07:51, 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
- compatibility issues:
- Java NFU server currently has no way to run C nfuOps
- if nfu server is not part of the ibp depot, then all IBP_REF_* exchanges need to be changed to IBP_VAL_* exchanges forcing the nfuOp to process IBP caps.