3 ms·
Well, for one thing, I didn't have access to the Unix source code. The CEO handed me a drive and said "Here's Unix." Also, ROS worked within a flat address spa
by jeffbarr 12y ago
Well, for one thing, I didn't have access to the Unix source code. The CEO handed me a drive and said "Here's Unix."
Also, ROS worked within a flat address space and had no awareness of the memory management features of the SUN board. Unix, on the other hand, took full advantage of the MMU and I had no way to control what it did.
- vidarh 12y agoI'm curious about the hardware. The 68000 is impossible to fully virtualize directly - e.g. if you tried to write to memory the current process shouldn't be able to access, there'd be no way to signal it without triggering an exception/trap that didn't leave you with enough information to restart or continue the instruction. I think the 68010 fixed this. I also seem to remember that there were 68000 boards that "solved" this by actually including two 68000's on the board and running them in lock-step 2 cycles apart, or something, and then triggering a trap on both of them if the leading one triggered the MMU - that way the trailing CPU would be halted at a point where sufficient state was available to reset state on both of them.. Do you remember if you had to deal with anything like this? Or did it have simple enough requirements to get away without it (or actually run a 68010)? I love the 68k family - after my C64, I got into Amiga's, and I'm still disappointed Motorola didn't manage to keep up. It was so much cleaner to work with than the x86...
- jeffbarr 12y agoThere was no virtual memory and hence no page faults and no need to recover from them. Each OS ran in a fixed portion of the available RAM (I want to say 512K per OS). The 68K ISA was a joy to program. With some prior experience on the 6502, I was productive on the 68K within days.