So it's "kind of but not quite" an OS providing a minimum environment for application level development. Kind of like MS-DOS on steroids for RPi
Well of course, "what is an OS" has been a subject of debate ever since MS released their "DOS" which became the immediate butt of jokes from the UNIX crowd.
Is something still an OS if all its application code is preloaded into the same binary image? I think that some of the early Windows versions did that, and more to the point there's a whole lot of embedded OSes from people like Wind River (or were they bought up? I forget) which similarly came as binary modules to which application code was linked.
For that matter, is a hypervisor an OS? After all, in cases like IBM's CP it very often came prebuilt with a small number of CMS VMs and the fact that they could load programs is not directly relevant.
Does an OS have to be preemptive? Is being preemptive a sufficient condition (clearly not, since most embedded hardware uses interrupts).
Does an OS have to have memory protection? No, because- as particular examples- early IBM mainframes didn't have memory protection, and there have been cut-down unix clones which ran without an MMU (e.g. CTOS/BTOS plus things like Coherent).
Is "Arduino" an OS? The water is obviously muddied there because "Arduino" describes lots of different things: the development framework (which includes GCC), the libraries and APIs, the hardware definitions, and a number of actual physical "deliverables".
The important point though is that Ultibo itself is not a compiler, and is of limited direct help when considering porting a compiler to a new target.
MarkMLl