Ralph Johnson Questions
  Home  | Phase I | Phase II | Phase III | RJQ | Favorite Links | Contact  | What's New | Photo Page | Guest Book  

Questions from Prof. Ralph Johnson

Phase I Questions


Q. JAVAOS appears to be a product line, since there is one "for business", "for consumers", and "for network computers". What do they have in common?

A. The basic structure of JAVAOS remains the same in all the cases....only for the specific applications they are modified to support the required functions of the system concerned. For example to support the Business model the memory model is extended to provide optimum performance in cases of memory constraint.


All these models have in common the Graphics and window subsystem,the JavaOS platform interface(JPI), the Microkernel and the Java API's common.But in case of the JavaOS for comsumer application the kerenl is that of CHORUSOS...this is integrated with Java threads subsystem.

--Indranil & Dr Sripathy

Q. It is a layered system. It has a microkernel. Is this the same as the patterns in Pattern Oriented Software Architecture?

A. Yes it is the same.

-Indranil & Dr Sripathy




Phase II Questions


Q. How much memory does JavaOS take? It is supposedto be small, so they should brag about it.

A. A smallest possible configuration for JAVAOS will need 128k of RAM and 512k of ROM. But this is for JAVAOS additional memory is needed for applications.


Q.It is a joint project by IBM and SUN. Why does it take two companies? I would think that 10 people could do it in one year. After all, most of the parts are standard. AWT does most of the work.
Writing graphics classes underneath should be easy.

A. It would have been correct to put only Sun there actually the Business product for network computers (NCs) is being done in collaboration with the IBM .
The error will be corrected in the next phase.



Q.I don't know why they are implementing TCP/IP in Java; they should just reuse a C implementation. They could reuse a microkernal from someone. It shouldn't be a big thing. Am I missing something?

A.Whatever material we have found out from that it is obvious that they wanted to build the whole system in JAVA except where it is absolutely not possible to do so hence they did not go for reusing C implementation and all, they wanted their system to be built from scratch in Java.


Q.Your picture of layers doesn't show the microkernal. It must have a different name.


A.The Booting, Interrupt handling, multiple threads and Traps and DMA handling is implemented by the Microkernal but we did not get a different picture which clearly shows these as to be shown in a microkernal.


Q.How can the Memory class be 100% pure Java? Java can't access memory directly.

A. This is what we have found from a publishing material on "Systems Programming in Java" by Stuart Ritchie who used to work with Javasoft and one of the members who developed JAVAOS, he writes ......

"The Memory class implemented is analogous to a C array definition which allows indexed access over a raw block of memory. Every get/set method in Java's Memory class takes an index argument to specify the byte index within the memory region to perform operation. So one Memory object can be used to load/store arbitrary data sizes within the object's address range.

Given the runtime support it would be possible to map a Java object directly onto a raw memory location. This requires a native method that tells the JVM to use the given wired-down address. This allows direct loads and stores at the Java level. The drawback of this approach is that it may offer no control over the way an object's fields are laid out in memory. "


Q.How can the memory architecture be above the JVM?
What does the memory architecture do? It isn't in the picture.
Is it the same as the Memory class?

A. O.K. there is a mistake under the heading " The various layers are as follows: " .....the memory architecture is not above JVM. It is along with the Microkernel layer.


Q.How does the memory management in the JVM interact with the memory architecture?

A. We do not have any particular information on this. We will answer this once we get it.



Q. How does the JVM fix up the thread semantics?

A. Thread support code enables the Java Virtual Machine to switch contexts between the dozens of threads running in the system. The JavaOS kernel provides kernel level thread support to the JVM. This allows the JVM to support user level threads via a user level thread class.



Q.Why is the thread semantics not good enough for JavaOS?

A. Presently we do not have any information available on this.


Q.The server-side administration sounds interesting. Where is it in the layer diagram? Is there more information on it?

A. Neither is there any picture nor is there any information available on it.


Q.In your ABC, who is the architect of JavaOS?

A.It should be Architect's experience---Since we did not have any information regarding this we did not put it. But since it is a standard part of ABC cycle it is shown there.


Q.Do you think that JavaOS is part of a grand strategy of Sun, or did they just stumble on it by accident?

A.It is a grand strategy of the Sun because smaller communication devices with less hardware and memory capacity will be more in use in future. In such devices JavaOS will help a lot as it requires very less space and also needs minimum hardware support.




These were the questions asked by Prof. Ralph Johnson and our answers to them.

You can ask all your questions and doubts regarding Java OS to us while signing up the guest book or send us email.

We will try to answer your questions or clear your doubts ASAP. Please keep a watch on what's new page for latest updates.

Site built and maintained by Dr Sripathy Bhat and Indranil Sanyal