Rumor has it that Palm OS was inspired by Mac OS Classic (creator and type IDs are rather noticeable).
Note that Cobalt (Palm OS 6) is very different and the only known instance of it is the simulator which runs on Windows and uses DLLs for native libraries.
There are two supported architectures in PalmOS:
- All Palm OS versions up to 4.
- Palm OS 5.
- m68k is run on an emulator which integrates quite well, however it has limitations on what it can do.
Palm was under contract to not expose any threading API and make it available to developers. There are no threading headers at all. From what I remember, the limitations were only for the kernel used for the m68k devices since they licensed another company's kernel. The kernel is the AMX kernel by Kadak.
Palm however is no longer around and HP has buried everything pertaining to Palm OS.
Note that Kadak is also dead, they left a note on their website stating "KADAK Products Ltd. regrets to announce that, effective January 29, 2016 it will cease operation world-wide.". I suppose if Palm OS had threading since AMX was a RTOS, it probably could have competed a bit better.
IPC would be the most complex process, it can either be fast or it will be slow.
If the undocumented mailboxes are figured out and if their name makes any sense, they can be used as IPC. Otherwise, IPC would be layered on the feature manager.
The feature manager will be used heavily. New features can be declared and they are not saved in RAM across reboots (well they are wiped). The feature manager will essentially be the only way there can be safe IPC across various threads. That is, unless the undocumented mailboxes are workable. The feature manager is well documented however.
Palm OS does not support daemons at all. With thread creation however, background tasks can be created. These along with IPC would allow the threads to act as virtual machine daemons.
Launch Codes and the Notification Manager
These two important bits will be a way to have system notifications be sent to programs running the JVM, perhaps even URL handling and such.