Required by who and how was that requirement tested for and enforced?
I've already explained this so I'll walk you through it again in more detail.
Under Microware's OS-9 task scheduling and the assignment data areas (which are separate from program areas and will be multiple IF more then one process calls another program) are some of the kernal's primary activities.
Could you create non-reentrant code? Of course you could if you had a module that would never be called by more than one process.
And that would probably fall back to loading a second copy of that module if two processes called it.
But since the compilers were already designed for reentrancy AND the core of the operating system was optimized for it, you wouldn't have seen it very often.
You guys need to look at how a microkernel based OS is designed to work. It encourages specific programing habits.
I don't know if MorphOS relies as heavily on this, but I would not be surprised to see that it had been implemented.
You see, again, by separating program modules and data modules, you're optimized to implement reentrancy.
Now, short of loaning you a Pascal09 or Basic09 manual, or walking you through how you would set this up under C, I can't see how to explain this to you further.