Architecture of OpenPalm

OpenPalm system is roughly divided into five layers and a tool.

Jedi Virtual Machine(JediVM): The m68K emulator which is responsible for translating m68K machine codes into real CPU's machine codes, adjusting API parameters in calling stacks, and route API calls into OpenPalm's kernel. This layer is only used by native Palm applications. If  running binary Palm applications seamlessly is not an issue, ignore this layer.
Anakin: This is the Palm API compatible layer. It is quite thin and provide only API signatures translations to OpenPalm's kernel. From another point of view, OpenPalm can be extended to support other APIs by changing this layer,
Jedi: This is the kernel layer of the OpenPalm system. It is composed of four major subsystems: Thread and application manager, graphic engine, UI manager, and database manager.
OS layer(OSL): This is the OS abstraction layer and the OpenPalm's porting layer to different kernel OSes.
Thumb Virtual Machine (TVM): A virtual kernel OS for platform developers. With this layer, the OpenPalm allows both system and application developers to develop programs on the desktop (e.g. PC running Win NT or X-window).
Jedi Development Kit (JDK): JDK is used to compile Palm application source codes to native codes that can be executed efficiently on Jedi. Currently, JDK supports GNU C/C++ and Microsoft VC.

Copyright © 2000 Infoshock Corporation. All rights reserved.
October 20, 2000