Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

UN*X on intel 8088...

309 views
Skip to first unread message

Christopher Pitts

unread,
Apr 5, 1994, 1:00:10 AM4/5/94
to

HELP!

ok actually I just need a pointer...
I know it will be VERY slow etc etc..
but I want to run UNIX on a 8088 (640k 125mb hd hercules monitor etc) but
so far have (go figure..) been unable to find a version that will run on an 8088
I KNOW they are out there, have heard bout them and such from "old timers :)"
can anyone please please (on hands and knees) tell me where I can find a copy?

Christopher C Pitts

ps. email would b great if u can, if not post here, our netnews is very
flaky :( (cpi...@comp.uark.edu)


Michael L. VanLoon

unread,
Apr 5, 1994, 1:28:20 PM4/5/94
to cpi...@comp.uark.edu
In <2nqr8q$m...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:

>ok actually I just need a pointer...
>I know it will be VERY slow etc etc..
>but I want to run UNIX on a 8088 (640k 125mb hd hercules monitor etc) but
>so far have (go figure..) been unable to find a version that will run on an 8088
>I KNOW they are out there, have heard bout them and such from "old timers :)"
>can anyone please please (on hands and knees) tell me where I can find a copy?

I would suggest getting a copy from an old-timer then. :-)

Honestly, no company in its right mind would make a modern unix for an
8088. It just wouldn't be able to run any modern software *at*all*.
All "virtual memory" would have to be emulated, and you could only
access at most 1meg or RAM (probably less). And slow is quite the
understatement. Mark Williams Co. even had problems getting Coherent
to run with anything big on a 286. Trust me, it just wouldn't be
worth it -- any old copy of 8088 unix you find is surely going to be
very crippled by modern standards.

I don't know if Mark Williams still sells it, but they did have a
version of Coherent that ran nicely on 286's (version 3.2 I think it
was). The problem is, even the 286 can only access 64k at a time, so
programs were limited to 64k data and 64k text (object code), and
there was no virtual memory support. To make the system usable,
*lots* of extras were missing that I take for granted on my NetBSD
machine.

Mark Williams' had to make their current version of Coherent 386-based
to get it to do everything people wanted (such as sane shells like
tcsh, zsh, (dunno about ksh), X, sockets, full set of process signals,
programs larger than 128k, virtual memory, etc...).

I would recommend just breaking down and picking up a cheap used 386
if you're really strapped for funds. Then you can install a free unix
on it and get everything to work the way it's supposed to. Currently,
there are three different free unices: NetBSD, FreeBSD, and Linux.
Since they're all free, you could try each to see which you liked
best.

Personally, I run NetBSD. It's an awesomely capable system, and I
wouldn't want anything else on my PC. I highly recommend it, but
understand your tastes may differ.

--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Michael L. VanLoon Iowa State University Computation Center
mich...@iastate.edu Project Vincent Systems Staff
Free your mind and your machine -- NetBSD free Un*x for PC/Mac/Amiga/etc.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Dongxiao Yue

unread,
Apr 7, 1994, 3:08:43 PM4/7/94
to
In <2nqr8q$m...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:

>ok actually I just need a pointer...
>I know it will be VERY slow etc etc..
>but I want to run UNIX on a 8088 (640k 125mb hd hercules monitor etc) but
>so far have (go figure..) been unable to find a version that will run on an 8088
>I KNOW they are out there, have heard bout them and such from "old timers :)"
>can anyone please please (on hands and knees) tell me where I can find a copy?

We must understand that a multitasking OS such as UNIX requires
hardware support.
At least, the processor must be able to run in two modes: user mode, and
system mode. The system runs in system mode(or protected mode?), it
controls the crucial resources and instructions
of the computer, so a single user will not
be able to monopolize the machine(for example, delete the OS from
memory).

As I know such a two mode operation is not implemented in 8088, the major
advance of 286 is that it provides protected-mode operation.

Conclusion: you can run UNIX on 286 but not 8088.


Christopher Pitts

unread,
Apr 7, 1994, 9:37:38 PM4/7/94
to
y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
> We must understand that a multitasking OS such as UNIX requires
> hardware support.
> At least, the processor must be able to run in two modes: user mode, and
> system mode. The system runs in system mode(or protected mode?), it
> controls the crucial resources and instructions
> of the computer, so a single user will not
> be able to monopolize the machine(for example, delete the OS from
> memory).

> As I know such a two mode operation is not implemented in 8088, the major
> advance of 286 is that it provides protected-mode operation.

> Conclusion: you can run UNIX on 286 but not 8088.

hmm given I am not a programmer but I HAVE been using computers in one form

or the other since 1982... so I really hate to tell ya this friend but
if you will go look at the old versions of *NIX ALOT of them would run on
8088 class machines.... now no a current 32 bit virtual memory os is gonna run on my 8088 DTK data 1000 but yea some old verions of *NIX will, I know this because
I was using an old copy of Coherent until a hd crash rid me of my only copy of it
the reason I asked the question is because I cannot find a copy of any of the
older versions of Coherent and know of no one who has a copy...
BTW PC/IX VENIX XENIX COHERENT MINIX ALL run/ran on 8088's... so sorry but
you got this one wrong.

CONCLUSION
some *NIX clones WILL run on 8088's......

Christopher C Pitts

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-TEDDYBEAR_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-

Teddybear -N- Eore Together 4ever Wedding on June 11th Like it or shut up
IRCOP norman.ok.us.undernet.org TRY UNDERNET! A kinder gentler IRC
Email for help with Internet. Newbies included
YOU SHALL KNOW THE TRUTH AND THE TRUTH SHALL SET YOU FREE (John 8:32)
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-God Loves You!-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-

Alex Measday

unread,
Apr 8, 1994, 1:50:19 PM4/8/94
to
In article <2o2ch2$t...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:
>
>CONCLUSION
>some *NIX clones WILL run on 8088's......
>

And on the Commodore 128, too! At the time I last used my C=128 a few
years ago, there was a version of UNIX being developed (by a college
student I think) for the 128, available via FTP. I downloaded it once
and tried it, but it kept crashing. I subsequently got myself a *real*
computer: a Tandy 1000HX! :) (I sure do miss the Paperback/Pocket
software on the C=128!)
--
Alex Measday
Integral Systems, Inc.
al...@milton.gsfc.nasa.gov

D'Arcy J.M. Cain

unread,
Apr 9, 1994, 6:53:19 AM4/9/94
to
cpitts@comp..uark.edu (Christopher Pitts) writes:

>y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>> Conclusion: you can run UNIX on 286 but not 8088.
>if you will go look at the old versions of *NIX ALOT of them would run on
>8088 class machines.... now no a current 32 bit virtual memory os is gonna

I used to run a version of Unix called Micronix which ran on a Z80. This
was even an official port of AT&T Version 7 Unix, not a clone. I still
have the hardware in the basement. It was a Morrow Decision I S100 based
system (they called it a WonderBus I think) with banked memory. It could
run 3 users (they claimed 6) and cam with a CP/M emulator that dragged
the system to its knees.

--
D'Arcy J.M. Cain (da...@druid.com) |
PlanIX, Inc. | There's no government
Toronto, Ontario, Canada | like no government!
+1 416 424 2871 (DoD#0082) (eNTP) |

Dongxiao Yue

unread,
Apr 11, 1994, 11:42:10 AM4/11/94
to
In <2o2ch2$t...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:

>hmm given I am not a programmer but I HAVE been using computers in one form

>the reason I asked the question is because I cannot find a copy of any of the

>older versions of Coherent and know of no one who has a copy...
>BTW PC/IX VENIX XENIX COHERENT MINIX ALL run/ran on 8088's... so sorry but
>you got this one wrong.

>CONCLUSION
>some *NIX clones WILL run on 8088's......

You can write a dos program called *NIX and emulate some of UNIX, but can it
provide the true memory protection needed for multitasking on a 8088?

When I say UNIX, I mean UNIX.


Michael L. VanLoon

unread,
Apr 12, 1994, 12:05:49 AM4/12/94
to

WARNING: UNIX has existed for a very long time in computer years. It
did not always have those features. Certainly you are not proposing
that First Edition Research UNIX in 1969 had anything even remotely
resembling Virtual Memory. You would be hard pressed not to call that
UNIX.

Dongxiao Yue

unread,
Apr 11, 1994, 11:34:51 PM4/11/94
to

Since this group is called *.programmer, I assumed that most people
know how program excutes.

Let's first define what is UNIX, then we can argue whether or not
UNIX can run on 8088.

My description : UNIX is a true multiuser OS, which means
a non-super
user A1's process P1 can not affect arbitarily
user B1's process P2 running under UNIX.

If we agree on this, we can discuss further, if someone insist
that something that does not satisfy the above criterion a UNIX,
since it name ends with NIX, I quit the discussion.

Now suppose some *NIX is running on 8088 ( I am not knowledgeble enough to
know about Z-80, except that it was 8-bit ), A1's process P1 is preempted
by B1's P2, P2 happens to be a bad program,

It does something like

jmp P1_code_seg
or mov P1_address garbage
or mov Some_important_register garbage

Is there anything to stop this? No, because the machine see these
instructions perfectly legal. Can we implement protection in software? No.

What is the result? nobody knows, sometimes we have to reboot the machine,
why? maybe the DOS in memory is damaged, so need to re-fetch from disk.

If on a 286, we can run protected mode, use some of the memory as
segment table, some intructions is priviliged, memory access is
checked against the segment table and so on, then the bad guys
will be stopped.

This contrasts in



Tom Bodine

unread,
Apr 12, 1994, 9:39:15 AM4/12/94
to
I got this from our library's card catalog:
AUTHOR: Tanenbaum, Andrew S., 1944-
TITLE: MINIX for the IBM PC, XT, and AT / Andrew S. Tanenbaum.
PUBLISHED: Englewood Cliffs, N.J. : Prentice-Hall, c1988.
DESCRIPTION: xv, 486 p. : ill. ; 24 cm.
NOTES: Subtitle on cover: Reference manual.
Includes index.
SUBJECTS: MINIX (Computer operating system)
IBM microcomputers--Programming.
SERIES: Prentice-Hall software series.
ISBN: 0135844002 (pbk.)
OCLC NUMBER: 18186923

My archie is broken so I'd suggest trying archie to find source or asking
Dr. Tanenbaum.

---
Regards Tom Bodine
#-----------------------------------------------------------------------
# Hatred and bitterness can never cure the disease of fear, only love
# can do that. (Martin Luther King Jr.)
#-----------------------------------------------------------------------


mark hahn

unread,
Apr 12, 1994, 1:23:06 PM4/12/94
to
| My archie is broken so I'd suggest trying archie to find source or asking
| Dr. Tanenbaum.

Tanenbaum takes the very dubious position that the source can only be
distributed by the publisher. last time I checked, it was $80 or so.
definitely not worth it. Linux is vastly more instructive and useful.

regards, mark hahn.
--
this space intentionally left non-blank. ha...@neurocog.lrdc.pitt.edu

Dongxiao Yue

unread,
Apr 12, 1994, 2:58:45 PM4/12/94
to

>>In <2o2ch2$t...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:


>>>CONCLUSION
>>>some *NIX clones WILL run on 8088's......

>>You can write a dos program called *NIX and emulate some of UNIX, but can it
>>provide the true memory protection needed for multitasking on a 8088?
>>
>>When I say UNIX, I mean UNIX.

>WARNING: UNIX has existed for a very long time in computer years. It
>did not always have those features. Certainly you are not proposing
>that First Edition Research UNIX in 1969 had anything even remotely
>resembling Virtual Memory. You would be hard pressed not to call that
>UNIX.


If my memory does not fail me, the 'game' on the PDP-7 in 1969
was called Unics, the first UNIX appeared 1971 on a PDP-11
written in asembly, it had fork() already. Later it was rewritten in C.

when a programmer thinks about UNIX, the first things
emerge are frok(), pipe(), dup(), read(), write(),unlink(), signal() ....,
or swapper, init ...., instead of vi, nroff, mail.

D'Arcy J.M. Cain

unread,
Apr 12, 1994, 11:56:50 PM4/12/94
to
y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>In <Co3q6...@news.cis.umn.edu> y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>>You can write a dos program called *NIX and emulate some of UNIX, but can it
>>provide the true memory protection needed for multitasking on a 8088?
>
> Now suppose some *NIX is running on 8088 ( I am not knowledgeble enough to
> know about Z-80, except that it was 8-bit ), A1's process P1 is preempted
> by B1's P2, P2 happens to be a bad program,
>
> It does something like
>
> jmp P1_code_seg
> or mov P1_address garbage
> or mov Some_important_register garbage

Boy, these youngsters! They can't implement something unless the chip
manufacturer hands it to them on a silver platter. :-) It's easy. First
you design an instruction set that implements memory protection, virtual
memory or whatever you want. Then you write an interpreter for this
instruction set in 8088 (or Z80 or 8080 or 8008 or 4004 or 6502 or ...)
and then you implement your *nix in this instruction set. No problem.
Well there is if you also expect it to be fast.

Just a data point but Morrow had Unix, an official AT&T port of Version
7, running on a Z80 and I am pretty sure it had memory protection. It
also had more than 64K memory. We used to call that "banked memory"
before Lotus/Intel/Microsoft "invented" it and called it "expanded
memory" just to confuse people.

Nate Williams

unread,
Apr 12, 1994, 5:02:39 PM4/12/94
to
In article <michaelv....@ponderous.cc.iastate.edu>,

Michael L. VanLoon <mich...@iastate.edu> wrote:
>In <Co3q6...@news.cis.umn.edu> y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>
>>In <2o2ch2$t...@wizard.uark.edu> cpitts@comp..uark.edu (Christopher Pitts) writes:
>>>BTW PC/IX VENIX XENIX COHERENT MINIX ALL run/ran on 8088's... so sorry but
>>>you got this one wrong.
>
>>>CONCLUSION
>>>some *NIX clones WILL run on 8088's......
>
>>You can write a dos program called *NIX and emulate some of UNIX, but can it
>>provide the true memory protection needed for multitasking on a 8088?
>>
>>When I say UNIX, I mean UNIX.
>
>WARNING: UNIX has existed for a very long time in computer years. It
>did not always have those features.

All *NIX's that are considered 'real' had memory protection features
when the hardware provided them. However, the i80[86]8 processor does
not provide hardware memory protection, so you can not guarantee that
one process will not wipe-out another processes.

> Certainly you are not proposing
>that First Edition Research UNIX in 1969 had anything even remotely
>resembling Virtual Memory.

Memory protection and Virtual Memory are two completely different animals.

I have (well, had) PC/IX running on my 286-10 at home until the hard-disk
crashed which was a very faithful port of SysIII *nix. However, since it
was written for the 8088 it doesn't provide any hardware protection. In
some people's opinion it doesn't count as 'Real' unix even though it's
a very straightforward port of SysIII. (Since it doesn't take advantage
of the 286's hardware protection of memory)


Nate

--
na...@bsd.coe.montana.edu | FreeBSD core member and all around tech.
na...@cs.montana.edu | weenie.
work #: (406) 994-4836 | Graduating May '94 with a BS in EE
home #: (406) 586-0579 | - looking for work in CS/EE field.

Dongxiao Yue

unread,
Apr 14, 1994, 2:20:23 PM4/14/94
to
In <Co6Iy...@druid.com> da...@druid.com (D'Arcy J.M. Cain) writes:

>y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>> It does something like
>>
>> jmp P1_code_seg
>> or mov P1_address garbage
>> or mov Some_important_register garbage

>Boy, these youngsters! They can't implement something unless the chip
>manufacturer hands it to them on a silver platter. :-) It's easy. First
>you design an instruction set that implements memory protection, virtual
>memory or whatever you want. Then you write an interpreter for this
>instruction set in 8088 (or Z80 or 8080 or 8008 or 4004 or 6502 or ...)

hmmm, Interpreter? Isn't the interpreter a program ?
In the wildest dreams, we wrote a interpreter...

We have a single processor, when a program

jmp some_where

How can the proccesor knows there exists an interpreter created by an old man?
How can it translate some_where to elsewhere, when operate only in real mode?

It is just a machine, it just carry out whatever instructions.
I don't even know what to say!


>and then you implement your *nix in this instruction set. No problem.
>Well there is if you also expect it to be fast.

Don't consider a machine something with intelligence.
Hope this will induce some thoughts.

Achim Oppelt

unread,
Apr 15, 1994, 8:41:25 AM4/15/94
to
y...@tuna.micro.umn.edu (Dongxiao Yue) writes:

> hmmm, Interpreter? Isn't the interpreter a program ?
> In the wildest dreams, we wrote a interpreter...

> We have a single processor, when a program

> jmp some_where

> How can the proccesor knows there exists an interpreter created by an old man?
> How can it translate some_where to elsewhere, when operate only in real mode?
>
> It is just a machine, it just carry out whatever instructions.
> I don't even know what to say!
>

> Don't consider a machine something with intelligence.
> Hope this will induce some thoughts.
>

You got it all wrong. The interpreter would be the *only* native code
running (except maybe for some low-level kernel routines). All user
programs would be running under the interpreter. Just like if you
run a BASIC interpreter, you cannot execute assembly code, but only BASIC.

Achim

Dongxiao Yue

unread,
Apr 17, 1994, 12:30:19 PM4/17/94
to

>y...@tuna.micro.umn.edu (Dongxiao Yue) writes:

>> hmmm, Interpreter? Isn't the interpreter a program ?
>> In the wildest dreams, we wrote a interpreter...

>> We have a single processor, when a program

>> jmp some_where


>You got it all wrong. The interpreter would be the *only* native code
>running (except maybe for some low-level kernel routines). All user
>programs would be running under the interpreter. Just like if you
>run a BASIC interpreter, you cannot execute assembly code, but only BASIC.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
I am sorry to be blunt, but you did not understand
what we are talking about. What you are proposing is to run a single,
bug free, forever correct program---which is the interpreter, all the
"instructions" are legal statements of the interpreter.
This is called single-tasking.

It is generaly believed that all Computers no matter
how complicated, are equivalent to a Tunring machine with a tape
and a tape head. The arguement along this line has no relavence
to reality let alone UNIX. A Process is not a totally abstract
concept, but some transient existance based on
CPU, memory and so on.


Michael Castle

unread,
Apr 19, 1994, 9:34:52 PM4/19/94
to
In article <CoEwD...@news.cis.umn.edu>,

Dongxiao Yue <y...@tuna.micro.umn.edu> wrote:
>In <CoAwL...@scr.siemens.com> aop...@scr.siemens.com (Achim Oppelt) writes:
>
>>y...@tuna.micro.umn.edu (Dongxiao Yue) writes:
>
>>> hmmm, Interpreter? Isn't the interpreter a program ?
>>> In the wildest dreams, we wrote a interpreter...
>
>>> We have a single processor, when a program
>
>>> jmp some_where
>
>
>>You got it all wrong. The interpreter would be the *only* native code
>>running (except maybe for some low-level kernel routines). All user
>>programs would be running under the interpreter. Just like if you
>>run a BASIC interpreter, you cannot execute assembly code, but only BASIC.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
> I am sorry to be blunt, but you did not understand
> what we are talking about. What you are proposing is to run a single,
> bug free, forever correct program---which is the interpreter, all the
> "instructions" are legal statements of the interpreter.
> This is called single-tasking.

A microprocessor [generally] only executes one instruction at a time,
therefore a microprocessor is single-tasking.

Hurm.. what's wrong with this picture?


You have the interpreter switch between tasks... taking each on in turn...

consider this:

interpeter == (typical protected mode capable processor + monolithic
monitor)

interpeter does both instruction decoding/execution and task switching.

It should, therefore, be perfectly reasonable to implement a unix-like
environment, complete with multiusers, and multiprocessing, in an
interpreter.


I point to the game C-Robots as an example of a multitasking interpreter.

The "operating system" PORT is, I believe, another example.

mrc

--
Mike Castle .-=NEXUS=-. Life is like a clock: You can work constantly
mca...@cs.umr.edu and be right all the time, or not work at all
S08...@UMRVMA.UMR.EDU and be right at least twice a day. -- mrc
We are all of us living in the shadow of Manhattan. -- Watchmen

0 new messages