1 / 25

실기기에 KVM Porting 기술 소개

실기기에 KVM Porting 기술 소개. 5/26/2000 Junbom Pyo ZUVIX technology, Co. Agenda. Overview of Java 2 Platform Introduction to Kjava Profile (I-mode, MIDP, etc.) NTT DoCoMo DoJa VM and MIDP VM Porting Scopes (APIs) of KVM Accessing argument from native methods CDMA Software Architecture

finola
Download Presentation

실기기에 KVM Porting 기술 소개

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 실기기에 KVM Porting 기술 소개 5/26/2000 Junbom Pyo ZUVIX technology, Co.

  2. Agenda • Overview of Java 2 Platform • Introduction to Kjava Profile (I-mode, MIDP, etc.) • NTT DoCoMo DoJa VM and MIDP VM • Porting Scopes (APIs) of KVM • Accessing argument from native methods • CDMA Software Architecture • Where is mapping kvm layer?

  3. Java 2 Platform Java 2 Enterprise Edition Java 2 Standard Edition TV profile Screen Phone/ Commu nicator Profile PDA Profile MID Profile Smart Card Profile Java 2 Micro Edition HotSpot JVM KVM CardVM CDC CLDC

  4. Introduction to Kjava Profile Eg. Yellow pages, train schedules, Games... Applications Profile MIDP Library of Industry Profiles e.g.: TV STB, Wireless Phone, PDA ... JavaPhone Profile JavaTV Profile Set of base Configurations (eg. Supporting Threads, Floats) Core APIs Core APIs “C” VM “K” VM Any Operating System

  5. Activity in MIDP Expert Group • Expert Group • Sun, Motorola, Nokia • Ericsson, Siemens, Telcordia, Symbian, RIM, NEC, Sharp, NTT/Docomo, Samsung, AOL, Matsushita, Fujitsu, Hitachi, Palm • Tentative Schedule for Spec release • March 10, 2000: draft 0.6 (candidate for participant draft) • March 21, 2000: Participant Review start • April 26, 2000: call for vote to move to public draft • May 1, 2000: public review start • June 1, 2000: Spec 1.0 Release

  6. Java in Asia Java enabled subscribers SK Telecom J2ME Standard Version 2001. 5 Shinsegi Telecom 2001. 6 Service Launch LG Telecom 2000.10 Kittyhawk Profile KT F Soon… DoJa Profile NTT-DoCoMo Service Launch 2001. 1 KDDI, JPhone 2001. 6

  7. What is the DoCoMo Java - iApply ?

  8. Overall i-mode network architecture

  9. High Level Architecture MIDP ApplicationIapply Application OEM-Specific Application Native Application Native System Software OEM-Specific Classes MIDP, DoJa CLDC RTOS

  10. Porting Scopes (APIs) of KVM • Application (management) • User interface • Persistent Storage • Networking • Timers • I18N/L10N • Phone number “Dialer”

  11. KVM Application Manager • Application packaging • using JAR • Application Descriptor • set of attributes • Title, version, Vendor, Jar-URL, Jar-Size, Data-Size, Application arguments, etc. • Application Lifecycle • Application interface • initApp(), startApp(), pauseApp(), destroyApp() • Application Context • provides information about the application manager to application • Application Manager • install, de-install, application lifecycle management, etc • mostly written in C (90%)

  12. CLDC Directory Java API Native

  13. MIDP Directory

  14. Features Eliminated from the Java VM • No profile can require that a KVM support any of the following • Java Native Interface (JNI) • User-defined class loaders • Reflection • Thread groups and daemon threads • Finalization

  15. Compiler Requirements You must have a C compiler capable of compiling ANSI – Compliant C files. The code compiles without any warnings using the following compilers Metrowerks C compiler, GNU C compiler, Solaris C compiler, Microsoft Visual Studio C compiler.

  16. Distribution directories api  Contains the Java library class source code that is provided with the release. bin  Contains all the binary executables and compiled Java library classes. build  Contains makefiles for building the KVM. doc  Contains documentation. jam  Contains the source code of the optional Java Application Manager (JAM) component that is provided with the KVM.

  17. Directory kvm/VmCommon StartJVM.c  Virtual machine startup and command line argument reading. cache.c  Inline caching operations for speeding up method lookup. class.c  Runtime data structures and operations for representing Java classes. events.c  Implementation of a stream-based protocol for event handling. fields.c  Runtime data structures and operations for representing fields of objects. frame.c  Stack frame and exception handling operations. ETC…

  18. Example Accessing arguments from native methods Java code: static native void drawRectangle(int x, int y, int width, int height); Native implementation: C code static void Java_com_sun_kjava_Graphics_drawRectangle() { int height = popStack(); int width = popStack(); int y = popStack(); int x = popStack(); windowSystemDrawRectangle(x, y, width, height); }

  19. Example Accessing arguments from native methods const NativeImplementationType com_sun_midp_lcdui_DefaultDeviceCaps_natives] = { { "drawLine", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawLine}, { "drawRect", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawRect}, { "drawArc", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawArc}, { "drawChar", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawChar}, { "drawChars", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawChars}, { "drawString", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawString}, { "drawImage", Java_com_sun_midp_lcdui_DefaultDeviceCaps_drawImage},}

  20. JNI Kauai VM Architecture >javac HelloWorld.java HelloWorld.class Class loader Sub system Class files Runtime data areas Native method libraries, Code Execution engine Native method interface

  21. Where is target?

  22. J2ME for Wireless Carriers Software Architecture

  23. CDMA Software Architecture Diagnostic Task User Interface Task HS Task Diagnostic Monitor Rx Task Layer2 Task Main Control Task Searcher Task MSM Non-Volatile Database Task Tx Task Watchdog Task 80186 EEPROM EPROM (Flash) RAM Watchdog Timer

  24. Where is mapping kvm layer? Application KVM UI HS NV Management Main Control Layer3 Layer2 RxTx MultiplexSublayer Rx Tx Layer 1 Searcher RF VOC

  25. Conclusion Why do you try porting job?  personal career? Skill up? Money? Do not do the porting! But, It is the work for the human beings. Even if don’t like it, you must do it.

More Related