Lecture 24: Javaos Key Concepts Java Application on a Host OS Java
Total Page:16
File Type:pdf, Size:1020Kb
Lecture 24: JavaOS Key concepts ■ Java - an object oriented language (a safer/simpler) modification of C++; ■ JavaOS adheres to the following design goals: ■ Java program is usually interpreted - translated and executed at the ◆ ease the development same time; ◆ portability of the OS ■ Java is usually translated into bytecode; a computer capable of ◆ ease of configuration executing bytecode is called Java-machine; there are no physical ■ JavaOS was designed to run software written in Java Java-machine. The Java machine is usually emulated (like programming language on a variety of platforms from Nachos emulates MIPS architecture) on some other platform. The embedded platforms to network computers program capable of executing Java bytecodes is called Java ◆ embedded system - a computer that facilitates the Virtual Machine (JVM). Thus to make a Java program execute on work of the machine whose purpose is not related to any platform - only JVM has to be designed to execute on this information processing. Example: household platform appliances - microwave, industrial robots ■ Java Development Toolkit (JDK) - a collection of Java classes to ◆ network computer (NC or thin clients) - a computer designed to run only several applications loaded over be used by Java programmers - they declare system functions the network - computers designed to run web- (threading, process creation I/O), windowing functions, graphics, browsers only networking, etc. 1 ■ JavaOS implements JVM and JDK in a portable way 2 Java Java application applicat on a host ion on OS JavaOS JavaOS attempts ■ Java application to minimize the does not have to amount of native be run on JavaOS: code and thus JVM and JDK can improve be implemented on portability a host OS ■ in the case of host OS a lot of code (native code) has to be written separately for every platform 3 4 JavaOS design features NC with JavaOS ■ object oriented ■ Software on ■ microkernel-based NCs don’t ■ portions of the OS (classes) can be loaded (or used) dynamically over need to be the network administered, ■ everything (OS and user programs) runs in protected mode - no managed, protection upgraded ■ no address space separation - every process uses the same virtual individually address space - all memory shared ■ everything ■ provides thread support (every process is a thread!), thread is downloaded synchronization is done using monitors on demand ■ no interprocess communication - can communicate through shared from a cent- memory ralized location ■ real-time - through sophisticated hierarchy of interrupt handling and process scheduling ■ upon boot-up the main portions of JavaOS are loaded and the NC is ready to be used 5 6 JavaOS micro- kernel ■ JavaOS mikro- kernel consists of a number of platform-inde- pendent managers performing a specialized function and a platform adaptor ■ platform adaptor does context switching and registering (binding) of the interrupts ■ managers - other microkernel functions 7.