janos-pim-990416

Download Report

Transcript janos-pim-990416

Janos
A Java-oriented Active Network
Operating System
Jay Lepreau, Patrick Tullmann, Kristin Wright
Wilson Hsieh, Godmar Back, many more...
University of Utah
Flux Research Group
www.cs.utah.edu/flux/
April 16, 1999
What is Janos?

Single-address space OS, with some but not much
hardware memory protection

Contains a JVM

Primary target application code is Java byte code

Can also run Posix-like apps
Our Primary Hard Problem
Availability:
Resource Management and Control
Other Hard Problems

Information security

Performance

Tech transfer
Approach

Custom JVM providing inter-AA (inter-applet, interservlet) isolation within the same JVM

Add a policy-free strong security architecture that NSA,
SCC, and we developed in another OS.


Underneath is a highly-modular “embedded” OS
Produce separately useful OS, security, and Java VM
components.
Claim: Broad Relevance
Our custom JVM, and probably the accompanying
security architecture implementation, can run wherever
JVM’s run today.
Resource Control

Leverage experience providing resource control in more
traditional OS’es.

Apply user/kernel mode boundary to a type-safe
environment (Java)

Obvious resources: Cycles / Bandwidth / Memory

Other resources: Caching store, persistent store,
specialized hardware, specialized data

Admission control, prevent denial of service, fair
sharing, perhaps latency constraints, early accounting
Janos Structure
Active Protocols
ANTS-5 EE
Custom Java VM
The OSKit++
Hardware
Janos Structure
Active Protocols
ANTS-5 EE
Custom Java VM
The OSKit++
Hardware
Janos Structure
Active Protocols
ANTS-5 EE
Custom Java VM
Sec. Policy
Engine
The OSKit++
Hardware
Janos Structure
Active Protocols
Other Java EE
ANETD
Non-Java EE
Sec. Policy
Engine
ANTS-5 EE
Custom Java VM
The OSKit++
Hardware
Active Protocols
Other Java EE
ANETD
Non-Java EE
Sec. Policy
Engine
ANTS-5 EE
Custom Java VM
The OSKit++
UNIX
Hardware
Possible Curves in the Road

Neither prototype JVM OS model is the right one

Hardware protection may be included

Flask security architecture may not map well to Java
and Janos

Challenges in GC and cpu interactions.

More surprises undoubtedly await…
Status
Done:
To Do:

Prototype of JVM with
strong OS process model

Eval and unify aspects of
prototypes

Prototype of JVM with
resource controls for
memory,cycles, GC

New OSKit modules

– Security components
– Modular and optimized network
access
Partially modified ANTS to
allow resource control
– Crypto, secure boot, …

Checks in enforcers

Performance, performance

9/99: Team3, support PANDA
and Ninja