Minix: 8088 vs. 68000 implementations

GFA, ASM, STOS, ...

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

rabindranath72
Captain Atari
Captain Atari
Posts: 244
Joined: Tue Feb 15, 2011 3:59 pm

Minix: 8088 vs. 68000 implementations

Postby rabindranath72 » Mon Nov 05, 2012 6:02 pm

Dear all,
I have been studying Minix, had it running on an Atari 1040STe 4Mb, and it works very well. Then I realised that apparently the 68k version of Minix has a sort of "hack" (shadowing) in the kernel core, since the processor doesn't implement protection nor relocation. In particular, shadowing resolves the problem of relocation but with some overhead, which is particularly heavy in some cases (e.g. Kermit is almost unusable, I suppose because the two processes which read the serial and read the keyboard do almost continuous swapping.) My question: is it really possible that an 8088 can run Minix better than a 68k? The 8088 doesn't have a MMU, and it has segmented memory, which as I recall was more a bug than a feature. Does the 8088 offer better hardware relocation than the 68k?

Thanks,
Antonio

zonky900
Atari User
Atari User
Posts: 34
Joined: Mon Jan 21, 2013 4:24 am

Re: Minix: 8088 vs. 68000 implementations

Postby zonky900 » Tue Jan 22, 2013 5:11 am

Keep in mind that Minix was developed for IBM & IBM compatibles and wasn't ported to other architectures until version 1.5.
Even then, demand for 68000 Minix was so low that they dropped it for 2.0! So, your only options are really the hacks they made to get it working for version 1.5...
I'm sure if they planned to support the 68000 for a while longer, the ports would have been cleaned up a bit.

Hopefully that answers your question, I know it wasn't in development for the 68000 for long unfortunately. I used to run it on a Mac LC III though :lol:

rabindranath72
Captain Atari
Captain Atari
Posts: 244
Joined: Tue Feb 15, 2011 3:59 pm

Re: Minix: 8088 vs. 68000 implementations

Postby rabindranath72 » Tue Jan 22, 2013 11:50 am

Thanks for the reply!
I managed to find a 1.6.25 version (which was the last of the 1.x tree) ported to the Atari ST, which reputedly works on the TT, too (not sure, I haven't tried.)
Digging a bit deeper into the code, MINIX uses the segmentation characteristics of the 8088 processor as a sort of proto-MMU, which the 68000 clearly doesn't have with its linear address space.
BUT I was thinking of replacing the STe's 68000 with a 68010, which implements virtual memory and emulation. So it should in theory be possible to emulate an MMU in software with the 68010 hardware support for emulation. That should provide a much more efficient way to handle memory than the limited 64k segments of the 8088, and the current "shadowing" software hack on the 68000.

The Mac port is really sad; it runs as a program on top of Mac OS, so it's not really a true OS. I suppose they couldn't do much because there is really scarce information about internals of Macintosh systems. I have an SE/30, and one of my projects was to port MINIX properly to it, but I am still looking around for information :(

zonky900
Atari User
Atari User
Posts: 34
Joined: Mon Jan 21, 2013 4:24 am

Re: Minix: 8088 vs. 68000 implementations

Postby zonky900 » Tue Jan 22, 2013 7:22 pm

Very interesting idea, I was considering a pin-compatible upgrade for my STfm! :lol:

I would love to see a good updated Minix to run on the ST though. Would be very fun for when I'm not Cubasing.


Social Media

     

Return to “Coding”

Who is online

Users browsing this forum: No registered users and 4 guests