3 ms·
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.
by rjsw 3y ago
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.
- jmmv 3y agoDidn’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”?
- rollcat 3y agoMMU 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 https://github.com/RetroBSD/retrobsd> and LiteBSD <https://github.com/sergev/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!
- jmmv 3y agoYes, 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".
- rollcat 3y agoI agree. My comment was meant to supplement and support yours.
- numpad0 3y agoTIL 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 https://github.com/DoctorWkt/pdp7-unix
- RuggedPineapple 3y agoHave you looked through it's supported platforms list? There's current support for a handheld PDA from 1997, and several flavors of 16 bit Motorola 68k based system. Systems that haven't had an official Unix port in 30+ years if at all, have modern, supported releases from NetBSD.
- rjsw 3y agoI am a NetBSD developer, I know exactly what it runs on. The 68k systems are all 32 bit, the supported PDAs can run Linux as well.
- RuggedPineapple 3y agoYou're not even a little bit tickled that NetBSD runs and supports the VAX, a computer released in the 70s? Get excited about your project, man. I'm sure you're a fantastic developer, but you're an absolutely terrible evangelist.
- liveoneggs 3y agoThat is how NetBSD is and always has been.
- rollcat 3y agoEh RIP OpenBSD/VAX. I do wonder if NetBSD/VAX actually boots on real hardware. The reason why these machines are/were supported for this long is because of how different they are (keeping your software portable is a good way of ensuring high quality/correctness); but they also suck power like mad, and do eventually just die.
- matrix12 3y agoNetBSD devs are like ants in a colony without a queen. As a former dev, I can attest to this.