Information Technology Reference
In-Depth Information
Currently it will only run a few operating systems such as DOS, some simple Linux
distributions and Windows 3.0. One advantage of JPC is its use over the network and
through browsers. Because it runs on the SUN JVM it inherits a number of security
features that allow software running under it to be executed relatively securely. JPCs
memory and CPU emulation are used in the Dioscuri emulator (see below).
7.9.5.5 Dioscuri
Dioscuri [ 96 ] is an emulation technology that was designed for digital preserva-
tion in mind. The main focus is to make the emulator modular such that various
components can be substituted, i.e. substitute the emulation of one CPU for another
emulated CPU. The other feature is that the emulator sits on top of a Universal
Virtual Machine, and in this case that machine is Java. So in this case the CPU etc
of the target system will be implemented in Java. But here we have to remember
that Java is not just the virtual machine but a set of software libraries too that are
implemented for the host system directly. This implies that they will require porting
to any new host system in the future.
Dioscuri does provided a “metadata” specification of the emulator [ 97 , 98 ] which
can be associated with the software being preserved to provide a set of depen-
dences (CPU type, Graphics type and resolution) required to run the software. It
also provides a Java API that serves as high-level abstraction of a computer sys-
tem, i.e. it allows the creation of hardware modules such as the CPU etc. Currently
the capabilities of Dioscuri are similar to JPC as it uses the JPC CPU and memory
emulation.
7.9.5.6 Java
Java was developed by SUN initially to work on embedded devices but it soon
became popular on desktop and server system. It consists of a Java Virtual Machine
(JVM) specification [ 99 ] which provides a hardware and operating system indepen-
dent instruction set. It also provides a specification for a high level object orientated
programming language called Java [ 100 ]. The Java compiler, unlike other native
compilers, compiles Java source code to Java bytecode which can then be executed
on the JVM. The JVM acts as a dynamic compiler and compiles the bytecode to the
native instruction set of the hardware. The JVM itself is implemented in C and com-
piled using a native compiler to binary software. This means that the JVM has to be
ported to any new hardware/operating system environment. The JVM does not itself
act as a full system emulator, other hardware functions such as graphics and I/O are
provided through specified Java APIs [ 101 ]. Some of the Java API is implemented
in C and compiled using a native compiler, and hence, like the JVM, they need
porting to new hardware/operating systems. Together, the JVM, Java Programming
language and the Java API (Java platform) provide all the necessary components to
develop complex graphical applications.
Java applications are portable in a sense that they will run on a system to which
the Java platform has been ported. If there is no Java platform for a system then
Search WWH ::




Custom Search