WarpOS was a multi-tasking kernel for the PowerPC architecture developed by Haage & Partner for the Amiga computer platform in the late 1990s and early 2000s. It ran on PowerUP accelerator boards developed by phase5 which contained both a Motorola 68000 family CPU and a PowerPC CPU with shared address space. WarpOS ran alongside the 68k-based AmigaOS, which could use the PowerPC as a coprocessor. Despite its name, it is not an operating system (OS), but a kernel; it supplies a limited set of functions similar to those in AmigaOS for using the PowerPC. When released its original name was WarpUP, but was changed to reflect its greater feature set, and possibly to avoid comparison with its competitor, PowerUP.
It was developed by Sam Jordan using 680x0 and PowerPC assembler. It was distributed free of charge.
In 1997, Phase5, an Amiga hardware manufacturer, launched their range of PowerPC (PPC) accelerators for the Amiga. Because AmigaOS was not yet PowerPC native, as a stopgap measure the PowerUP boards were dual-processor boards, incorporating the PPC and a 68K processor (68LC040, 68040 at 25 MHz or 68060 at 50 MHz). They carried the PowerUP kernel on board in an EPROM, a similar kernel designed to allow AmigaOS applications to use both PPC and 68k applications through an API library called ppc.library. AmigaOS still required a 68K processor, while the PPC was in effect used as an extremely fast coprocessor that carried out specific instructions.
Unfortunately, this caused significant slowdown when the OS task switches between the 68K and PPC (a context switch), because CPU caches had to be flushed to maintain memory integrity. The more CPU switches occur in an application, the more the slowdown, often so seriously that it was pointless to use the PPC processor at all, being slower than the 68k native binary. The main workaround for this was simply to avoid as many 68k OS calls as possible, or to group them together, but it was difficult and time-consuming for developers to do this.