140 likes | 224 Views
Janos is a single-address space OS with JVM, focusing on Java bytecode applications. Developed by University of Utah's Flux Research Group, it aims to tackle resource management, control, and security issues. Janos features custom JVM and a policy-free security architecture. It can run Java apps and Posix-like apps, emphasizing resource control and availability. Further development includes network access optimization and security enhancements.
E N D
JanosA Java-oriented Active NetworkOperating 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, inter-servlet) 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 The OSKit++ Sec. Policy Engine Hardware
Other Java EE Non-Java EE Janos Structure Active Protocols ANTS-5 EE Custom Java VM ANETD The OSKit++ Sec. Policy Engine Hardware
Active Protocols ANTS-5 EE Other Java EE Custom Java VM Non-Java EE ANETD The OSKit++ Sec. Policy Engine 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…
Done: Prototype of JVM with strong OS process model Prototype of JVM with resource controls for memory,cycles, GC Partially modified ANTS to allow resource control To Do: Eval and unify aspects of prototypes New OSKit modules Security components Modular and optimized network access Crypto, secure boot, … Checks in enforcers Performance, performance 9/99: Team3, support PANDA and Ninja Status