[Prev][Next][Index][Thread]

Java OS



I'm trying to write a Java OS. 
What the JDK needs to run is what follows:

The host system must provide at least some primitive
support for context-switching in order to support the
Java run-time's multi-threading. 

Abstract Windowing Toolkit relies on a particular host
operating system to implement the windowing and
graphics primitives; one needs to map the AWT classes
to the window and graphics subsystem. 

Networking classes rely on the host system to provide
an implementation of a suite of standard network
protocols; one needs to map the networking classes to
the native networking code on the system. 

The file-related I/O classes assume that there is an
underlying file system which requires a map between
the I/O classes and the host file system, and
indirectly Java applets assume that a computer has
drivers for devices like a keyboard, a mouse, and a
display. 

One also need to port the platform-dependent part of
virtual machine to the particular system calls for
memory allocation and thread management. 

In order to meet the goal of providing Java Platform
without a host operating system, one has to perform
the following tasks:

implement just enough kernel features to support the
Java Virtual Machine. The Java kernel contains the
low-level functions that are required by the Java
Virtual Machine: booting, traps interrupts, threads,
and the others. 

leverage those kernel features and the Java Virtual
machine so that we could write just enough Java code
to support AWT, and the networking and file-related IO
classes. Note that the Java Virtual Machine is not
only used to interpret Java bytecodes but also used to
handle exceptions, manage almost all of the RAM in the
computer, and handle the simultaneous execution of
multiple threads. 

provide the drivers needed to control a display,
network interface, mouse, and keyboard. All device
drivers in JavaOS are written in the Java programming
language. Those tasks that must be done by every
drivers but cannot be done in pure Java code have been
abstracted into two small support classes written in
C. The methods of these two classes are not made
available to any Java application. 

ensure that we still support the full Java API. 

Can the OSKit help me with this? Is there anything I
would need to write my self that does not come with
the OSKit? Anything I leave out? Thanks!


__________________________________________________
Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.
http://im.yahoo.com/

Follow-Ups: