news.volyx.in

PumpkinOS, a Re-Implementation of PalmOS (github.com)

405 points by rickcarlino · 860 days ago · 135 comments on HN

Article summary

PumpkinOS is a re-implementation of PalmOS that runs on modern architectures, allowing it to run m68K PalmOS applications without requiring a PalmOS ROM. The project includes a launcher, preferences, command shell, and four PIM applications, and is licensed under the GPL v3. The project is still experimental and has some quirks, but it provides a glimpse into what to expect from PumpkinOS in the future. PumpkinOS can be built from source and run on various platforms, including Windows, Linux, and WSL2.

Main themes

  • PalmOS re-implementation
  • Memory management
  • Multitasking
  • Operating system design
  • Retro computing
  • Software development

What commenters say

  • The PalmOS memory management system, which uses shared heaps and movable handles, was necessary due to the limited memory available on early devices.
  • The lack of an MMU in early CPUs, such as the 68000, made it difficult to implement proper memory protection and multitasking.
  • Some operating systems, like AmigaOS, used a single shared heap, which led to issues with memory fragmentation and made it hard to add proper MMU support later on.
  • The decision to use a shared heap in some operating systems was driven by the need to conserve memory, rather than a lack of understanding of memory management principles.
  • Implementing preemptive multitasking in classic Mac OS would have required significant changes to the operating system and would have likely broken many existing applications.
  • The use of shared heaps and movable handles is not unique to PalmOS and was also used in other operating systems, such as Mac OS and Windows 16-bit.
  • The development of PumpkinOS is a notable achievement, given the complexity of re-implementing an entire operating system and ensuring compatibility with existing applications.
  • The discussion around memory management and multitasking in the comments highlights the challenges and trade-offs involved in designing and implementing operating systems.