[ih] booting linux on a 4004

Jack Haverty jack at 3kitty.org
Sun Sep 29 13:26:16 PDT 2024


Yeah, the "Stone Age of Computing" was quite different from today.

The Unix (lack of) IPC was a serious obstacle.   I struggled with it in 
the late 70s when I got the assignment to implement some new thing 
called "TCP" for ARPA.   I used Jim Mathis implementation for the 
LSI-11s being used in Packet Radio, and shoehorned it into Unix.  
Several of us even went to Bell Labs and spent an afternoon discussing 
networking with Ritchie.   All part of all of us learning about networking.

More info on what the "underlying architectures" were like back then, 
including details of the experience of creating TCP implementations for 
various Unices:

http://exbbn.weebly.com/note-47.html
https://www.sophiehonerkamp.com/othersite/isoc-internet-history/2016/oct/msg00000.html

There was a paper ("Interprocess Communications for a Server in Unix") 
for some IEEE conference in 1978 where we described the additions to 
Unix to make it possible to write TCP.   But I can't find it online - 
probably the Conference Proceedings are behind a paywall somewhere though.

Jack


On 9/29/24 10:42, John Day wrote:
> Good point, Jack. Dave did a lot of good work. I always liked his comment when I asked him about his collaboration with CYCLADES. He said, it was ’so they wouldn’t make the same mistakes we did.’ ;-) Everyone was learning back then.
>
> Perhaps more relevant is that the first Unix system was brought up on the ’Net  at UIUC in the summer of 1975 on a PDP-11/45.  It was then stripped down and by the Spring of 1976 ported to an LSI-11 (a single board PDP-11) for a ‘terminal’ with a plasma screen and touch. That was fielded as part of a land-use management system for the 6 counties around Chicago and for the DoD at various places including CINCPAC.
>
> Unix didn’t have a real IPC facility then. (Pipes were blocking and not at all suitable.) Once the first version was up and running with NCP in the kernel and Telnet, etc in user mode, a true IPC was implemented. (To do Telnet in that early version without IPC, there were two processes, one, in-bound and one out-bound and stty and gtty were hacked to coordinate them.)  file_io was hacked for the API, so that to open a connection, it was simply “open(ucsd/telnet)”.
>
> Years later there was an attempt to convince Bill Joy to do something similar for Berkley Unix but he was too enamored with his Sockets idea. It is too bad because with the original API, the Internet could have seamless moved away from well-known ports and to application-names and no one would have noticed. As it was domain names were nothing more than automating downloading the host file from the NIC.
>
> Take care,
> John Day
>
>> On Sep 29, 2024, at 13:16, Jack Haverty via Internet-history<internet-history at elists.isoc.org>  wrote:
>>
>> On 9/29/24 08:58, Dave Taht via Internet-history wrote:
>>> See:
>>>
>>> https://dmitry.gr/?r=05.Projects&proj=35.%20Linux4004
>>>
>>> While a neat hack and not directly relevant to ih, it sparked curiosity in
>>> me as to the characteristics of the underlying architectures arpanet was
>>> implemented on.
>>>
>>>
>> For anyone interested in the "underlying architectures arpanet was implemented on", I suggest looking at:
>>
>> https://walden-family.com/bbn/imp-code.pdf
>>
>> Dave Walden was one of the original Arpanet programmers.  He literally wrote the code.  This paper describes how the Arpanet software and hardware were created.  Part 2 of his paper describes more recent (2010s) work to resurrect the original IMP code and get it running again to create the original 4-node Arpanet network as it was in 1970.   The code is publicly available - so anyone can look at it, and even get it running again on your own modern hardware. Check out the rest of the walden-family website.
>>
>> When Arpanet was being constructed, microprocessors such as the Intel 4004 did not yet exist.   Neither did Unix, the precursor to Linux.  Computers were quite different - only one processor, no cores, threads, or such.  Lots of boards, each containing a few logic gates, interconnected by wires.   Logic operated at speeds of perhaps a Megahertz, rather than Gigahertz.  Memory was scarce, measured in Kilobytes, rather than Gigabytes.   Communication circuits came in Kilobits per second, not Gigabits.  Persistent storage (disks, drums) were acquired in Megabytes, not Terabytes. Everything also cost a lot more than today.
>>
>> Computing engineering was quite different in 1969 from today.  Every resource was scarce and expensive.  Much effort went towards efficiency, getting every bit of work out of the available hardware.  As technology advanced and the Arpanet evolved into the Internet, I often wonder how the attitudes and approaches to computing implementations changed over that history.  We now have the luxury of much more powerful hardware, costing a tiny fraction of what a similar system might have cost in the Arpanet era.   How did hardware and software engineering change over that time?
>>
>> Curiously, my multi-core desktop machine today, with its gigabytes of memory, terabytes of storage, and gigabits/second network, running the Ubuntu version of Linux, takes longer to "boot up" and be ready to work for me than the PDP-10 did, back when I used that machine on the Arpanet in the 1970s.   I sometimes wonder what it's doing while executing those trillions of instructions to boot up.
>>
>> Jack Haverty
>>
>> -- 
>> Internet-history mailing list
>> Internet-history at elists.isoc.org
>> https://elists.isoc.org/mailman/listinfo/internet-history

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20240929/e56b0f0f/attachment.asc>


More information about the Internet-history mailing list