In case people are suspicious/wondering about this story, it is credible to me. I worked with Bill Yundt and he told the story back in 1996. I've also seen the absolute lowest layers of Cisco IOS for 68000's and it certainly appears to come from that era of computing. One especially surprising and interesting thing to me is that it uses cooperative multitasking, not preemptive. This is how systems were written in those days, based on the limitations of early microprocessors. (At the same time in the industry, protected mode multiprocessing existed. But it was in big iron, controlled by IBM, Cray, Unisys and CDC. And those are all of the has-beens now: because technologies like microprocessors, even with their limitations, took over the industry.)
I still remember when preemptive multitasking became big in the X86 world in the late 80s/early 90s. It was a real sea change in OS stability. DESQView was fantastic but real preemptive multitasking was amazing. It was why I stayed on OS/2 until 1996 or 1997.
I still like it to this day for microcontroller projects.
It's not that difficult to write code that iterates in chunks and yields now and then. Of course you want to avoid non-finite I/O calls (make use of timeout parameters where available).
Things that need low latency (eg. counting encoder ticks) are still interrupt driven (or handled by dedicated peripherals).
The only thing you need to achieve pre-emptive multitasking is interrupts and the ability to cleanly save the current CPU state.
The 68k lacked the ability to resume with full state intact after a bus fault, which made an off-chip MMU painful (but there was one - the MC68451[1]), but this doesn't affect the ability to do pre-emptive multitasking at all.
AmigaOS famously did have preemptive multitasking - we used it to mock PC and Mac users with for years.
[1] https://en.wikipedia.org/wiki/Motorola_68451
Note that to do full virtual memory with a 68k, Motorola proposed using a second 68k to handle page faults due to a design flaw:
You can preemptively schedule without an MMU just fine, just like there's nothing stopping multiple threads in the same address space from being preemptively scheduled.
Microware OS9 implemented preemptive multitasking on the motorola 6809 without an MMU back in 1980. You don't have memory protection without an MMU, but you can have preemptive multitasking.
As another commenter pointed out, you can do pre-emptive multitasking just fine without an MMU. And as it turns out AmigaOS had just that. All you need for pre-emptive multitasking is a suitable interrupt source to use for task switching.
What it did not have was memory protection or virtual memory. You do need an MMU for those.