/sys/doc/ Documentation archive

Using Inferno to Execute Java TM on Small Devices

By C. F. Yurkoski, L. R. Rau and B. K. Ellis - {yurkoski, larryr, brucee}@bell-labs, com

                          Bell Labs
                    600 Mountain Avenue
                       Murray Hill, NJ

Abstract. This paper describes an implementation of Java [1] on the Inferno operating system.

There are applications for which object oriented designs are the appropriate solution. Java is an object oriented programming language in which these solutions can be written. But as always there are tradeoffs, and O-O designs in Java are not without theirs. Among the costs of using Java is that the memory and permanent storage required to run applications tends to be large, resulting in them not fitting on devices with limited capacity. Inferno is a network operating system that was created to allow applications to be easily and dynamically distributed across networks. With Inferno, applications can easily take advantage of resources in the network such as persistent storage, memory, devices, cpu, server processes etc. as if they were local.

Here, we describe an implementation of Java on Inferno that minimizes the amount of local storage needed on a small device at the cost of a small increase in Inferno’s text size. This work is explained and its performance characteristics are reported.