Re: Linux-asm (was A patch for linux 2.1.127)

Richard B. Johnson (root@chaos.analogic.com)
Thu, 19 Nov 1998 13:05:44 -0500 (EST)


On Thu, 19 Nov 1998, Albert D. Cahalan wrote:

>
> Manuel J. Galan writes:
> > "Richard B. Johnson" wrote:
> >> On Tue, 17 Nov 1998, Manuel J. Galan wrote:
>
> >>> * UNIX was built on C and C was built for UNIX.
> >>
> >> Unix was built on a Digital PDP-11/34, using tools available
> >> in the RSX-11 Digital Operation system. Most of the 'hardware stuff'
> >> was done in DEC MACRO Assembly under RSX-11.
> >>
> >> 'C' came later.
> >
> > So what comes first the chicken or the egg? :)
>
> Order of events:
>
> PDP-7 assembler
> Unics, written in PDP-7 assembly
> PDP-7 assembler that ran on Unics
> B compiler for the PDP-7 (not producing native code)
> PDP-11 assembler
> Unics ported to the PDP-11, redone in PDP-11 assembly
> PDP-11 assembler that ran on PDP-11 Unics
> B compiler for the PDP-11
> NB compiler for the PDP-11
> C compiler for the PDP-11
> Unics written in C
>
> /* "Hello World" in B for 64-bit hardware! */
> hw [0] "Hello World.*n";
> main(){
> extrn hw;
> putchar(0[hw]);
> hw=+1;
> putchar(0[hw]);
> }
>
[SNIPPED rest]

Well I did make an error, the OS on the PDP-11 was RT-11 instead of
RSX-11. However, there are a lot of O.S. History books which seem to
quote the same persons saying different things. Nevertheless, the
common thread is what we already know. You need some tools to start
with. You don't just start with a (name your favorite language) compiler
and make an operating system.

Linux probably started at the DOS prompt (shreak Oh! ---horrors), the
primatives necessary to get into 32-bit mode were probably done in
MASM (shreak Oh! ---horrors), and the first I/O was probably via
RS-232C. When the new O.S. finally became "Unix like", there still was
not a 'C' compiler for it. The O.S. had to be quite mature with
a file-system and at least somewhat compliant I/O before the GNU
Compiler could be ported.

So the chicken came before the egg.

Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.1.128 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/