February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group...
-
Upload
mabel-farmer -
Category
Documents
-
view
212 -
download
0
Transcript of February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group...
![Page 1: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/1.jpg)
February 24, 1998 Salt Lake Java SIG
Processes In Java
Patrick TullmannFlux Research Group
University of Utah
![Page 2: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/2.jpg)
February 24, 1998 Salt Lake Java SIG
Overview
• Goal: Processes In Java• Foundation:
– Kaffe– Kore– (Fluke Operating System)
• Approach: Add Fluke OS abstractions to Kaffe+Kore
• Status: Kaffe supports multiple processes
![Page 3: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/3.jpg)
February 24, 1998 Salt Lake Java SIG
Processes In Java• Why Processes?
– Java systems can be OS-like.– Processes provide separation and a handle
for: resource control, identity, accounting– Current solutions require multiple JVMs.
• What is a Java Process?– Namespace, memory allocation limit, CPU
allocation limit– More than an applet, ClassLoader or
ThreadGroup
![Page 4: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/4.jpg)
February 24, 1998 Salt Lake Java SIG
Example: Web “servlets”• WWW server allow clients to upload Java
applications (servlets).• Each servlet is a separate process:
– separate, controlled namespace– separate memory limit– separate CPU limit– controlled access to server’s system
• Java provides memory safety and namespace integrity.
• Processes provide accounting and control
![Page 5: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/5.jpg)
February 24, 1998 Salt Lake Java SIG
Foundations: Kaffe, Kore, Fluke
• Kaffe:– Freely available java bytecode compatible
interpreter and JIT compiler. Portable.– Executes Java bytecodes. Written in C.
• Kore:– Free, cleanroom re-implementation of the
core Java libraries, e.g., java.*– small native method interface to VM.
• Kaffe+Kore: Kore integrated with the VM.
![Page 6: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/6.jpg)
February 24, 1998 Salt Lake Java SIG
• Micro-kernel: Small, well defined set of services (Processes, threads, communication, synchronization)
• Process model: Nested Processes
• User-level services
Foundations: Fluke Operating System
ParentProcessState
ChildState
ChildState
ChildState
ChildState
ParentProcessState
![Page 7: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/7.jpg)
February 24, 1998 Salt Lake Java SIG
Approach: Fluke + Kaffe = Java Processes
• Take the defined abstractions from Fluke, and fit them into Java.
• Gain the advantages of processes in Java• Fluke model enables Java processes to
provide services• Nesting of processes enables control
over classes in children:– e.g., replace java.io.RandomAccessFile with
utah.npm.io.NoAccessFile.
![Page 8: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/8.jpg)
February 24, 1998 Salt Lake Java SIG
Status
• Kaffe can run (simple) separate Java applications on the same VM.
• IPC infrastructure in place.• Rudimentary memory controls
developed and tested but not integrated.
![Page 9: February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.](https://reader036.fdocuments.in/reader036/viewer/2022072014/56649eb25503460f94bb8734/html5/thumbnails/9.jpg)
February 24, 1998 Salt Lake Java SIG
Conclusion
• Lots of operating system-like uses for Java.
• Should use tested operating system knowledge and experience.