I feel bad because NetBSD is a stable, mature and well supported OS with a multitude of positives. Do I associate it with any of those things? Absolutely not. The sole thing that NetBSD sticks in my head for is its what you use when you want to port unix to something that has absolutely no business running unix.

NetBSD doesn't have any support for running without a MMU, so by definition you can only port it to things designed to be able to run UNIX.

Didn’t Minix support running without a MMU? And there seems to be an option to disable MMU support in Linux too. Obviously you lose on memory protection… but does that make these setups “not Unix”?

MMU is also responsible for translating between physical and virtual memory addresses. Making virtual memory support optional is a non-trivial design goal; you're not only allowing userspace to peek at (or straight up overwrite) kernel memory, you also need every executable to be a PIE, or to swap it out to disk as a part of a context switch.

Check out RetroBSD <https://github.com/RetroBSD/retrobsd> and LiteBSD <https://github.com/sergev/LiteBSD>; there's a PID 0 (or 1? IIRC) that is called the "swapper" process, which is in charge of implementing the context switching. Fascinating stuff!

Yes, of course, the MMU also does that. But I'm not sure what that has to do with Unix systems requiring an MMU _by definition_ as the post I was replying to claimed. Obviously running a Unix-like system without an MMU will lack certain functionality, but it could feel very much like "a real Unix".

TIL there was a version of UNIX for PDP-7, and PDP-7 did not have MMU, therefore UNIX by definition do not require MMU, and that version of UNIX had been archeologied in a runnable form on GitHub[1]

1: https://github.com/DoctorWkt/pdp7-unix