Is it possible a unix or linux for 80286 machine (or any machine without memory page mechanism)

2.8k views Asked by At

Is it possible to have a Unix OS for 80286 machine (or any machine without paged memory mechanism but with segmented memory)?

80286 is a CPU without TLB, Page tables; only with segmented virtual memory and segmented protection of memory.

Is it possible to have a Linux on such machine?

UPD: the processor is very old, so I only ask about historic versions, not the ultra modern linux 2.6.42.11 or Solaris 13 or FreeBSD 10 or ...

5

There are 5 answers

0
osgx On BEST ANSWER

User Zack says that Xenix (based on original UNIX) was capable of running on 80286:

There certainly were Unixes that ran on the 80286 -- Xenix comes to mind -- but I don't know if there's anything that implements what you would call a modern programming environment.

I'd checked, the Xenix FAQ http://www.uni-giessen.de/faq/archiv/sco-xenix/msg00000.html says

QA1 ... The PC/AT offered hardware memory protection, and SCO Xenix/286 took advantage of it.

So it was a PC/AT (80286) unix, which did used a memory protection using segmented memory (unlike modern unixes which use page based memory protection).

According to http://www.deinmeister.de/x86modes.htm 80286 have memory protection only in terms of segments, not a pages (pages was added in 80386).

1
Bill Lynch On

Today's Linux will only compile for a 486 or higher. So it's unlikely. I do remember 386s being somewhat supported in the 2.4.x era, but I don't remember anything about 286s.

1
Mauricio On

I doubt so. From the very beginning, Linux was designed for the 386, using 386-specific features. MINIX, on the other hand, predates the 386 (and 286), so there should be a 286-compatible version out there.

2
ephemient On

The Linux/Microcontroller project (µClinux) is a port of Linux to systems without a Memory Management Unit (MMU).

There's the older ELKS project too.

However, due to the lack of MMU, many standard UNIX features (like fork and mmap) are not supported.

0
toby On

Not sure how interested you are in the programming of it (if at all), but I was playing around with OpenCourseWare class from MIT awhile ago and they had a version of Minix they ported to x86 (not sure if it was just for 386+ or not and can't seem to find the link anymore). Anyway, if you're interested you can check it out here: MIT OpenCourseWare Operating System Engineering