3

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 ...

osgx
  • 90,338
  • 53
  • 357
  • 513
  • 2
    Linux, or Unix? Please make your question match your title! – Oliver Charlesworth Feb 18 '11 at 19:48
  • any unix-compatible or unix-like OS. Linux or Unix or BSD or anything unix-like – osgx Feb 18 '11 at 19:57
  • 4
    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. – zwol Feb 18 '11 at 20:03
  • @Zack, please, move your comment as a answer. Also, please, check, if xenix 286 can use a memory protection form http://www.uni-giessen.de/faq/archiv/sco-xenix/msg00000.html (QA1) – osgx Feb 19 '11 at 14:24
  • Why? It's not an answer to the question you asked. (You really, truly do not want to use anything that old, trust me.) And no, I won't read a FAQ for you. – zwol Feb 19 '11 at 17:17
  • 1
    @Zack, it is an example of 286 unix-compatible OS which uses memory protection with segments. I don't want to use this old OS, but I want to know was there any unix on 80286 with memory protection or not. I did read a FAQ and you shall only provide citation of QA1 answer from it. – osgx Feb 19 '11 at 17:20
  • The only things I know about Xenix are that it existed and was for the 286. You want more information about it, you are asking the wrong person. In particular, I have *no idea* if it did anything constructive with segments, and I cannot provide any sort of citation for anything related to it. – zwol Feb 19 '11 at 17:34
  • @Zack, I have a citation. Link to FAQ is above, the QA1 question have this: " The PC/AT offered hardware memory protection, and SCO Xenix/286 took advantage of it.". So I just want to accept your answer. – osgx Feb 19 '11 at 17:35
  • 1
    I do not consider it an answer to your question and I will not move it. – zwol Feb 19 '11 at 17:58

5 Answers5

5

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.

ephemient
  • 198,619
  • 38
  • 280
  • 391
3

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.

Bill Lynch
  • 80,138
  • 16
  • 128
  • 173
  • Linux was written for 386 since version 0.01 (look the first sentences of every linux user's bible: "This is a free minix-like kernel for i386(+) based AT-machines," http://kerneltrap.org/node/14002 ). But there is can be a backporting project. – osgx Feb 18 '11 at 20:01
2

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).

osgx
  • 90,338
  • 53
  • 357
  • 513
1

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

toby
  • 885
  • 3
  • 10
  • 21
0

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.

Mauricio
  • 1,683
  • 12
  • 18
  • 1
    Thanks for link to original message of Linus. But I ask a bit wider that about only linux. – osgx Feb 18 '11 at 20:02