[ih] booting linux on a 4004
Barbara Denny
b_a_denny at yahoo.com
Mon Sep 30 10:06:16 PDT 2024
I have been trying to remember some things surrounding this topic so I did some poking as my knowledge/memory is hazy. I found some documents on DTIC which may be of interest to people. It seems not all documents in DTIC provide useable links so use the document IDs in the search bar on their website.
ADA093135
This one confirms a long suspicion of mine regarding gateways. The gateway functionality/software originally resided in the packet radio station. It also mentions getting TCP from SRI and porting it to ELF (The packet radio station was an LSI-11 if I remember correctly and ELF was the operating system).
You might also be interested in the following report for the discussion of Internet and gateway issues. It mentions removing support for versions of IP that weren't v4 for example.
ADA099617
I also remember Jim talking about PMOS which I think stood for Portable MOS ( Micro Operating System aka Mathis's Operating System). I think Jim's TCP code also ran on the TIU (Terminal Interface Unit) using PMOS which was a PDP-11 and was part of the packet radio architecture. Not sure how many people used the term PMOS though.
For more info see
https://gunkies.org/wiki/MOS_operating_system
BYW, I have never heard of this website before. It might be a little buggy but it certainly strikes familiar chords in my memory. BTW the NIU (Network Interface Unit) was a 68000 and ran PMOS. This was used for the SURAN project which was a follow on to packet radio.
Finally i also found a description of the IPR (Improved Packet Radio) in DTIC. It covers the hardware and the operating system. This version of packet radio hardware used 2 processors. I think this was due to performance problems with the previous generation of packet radio.
https://apps.dtic.mil/sti/citations/ADB075938
barbara
On Sunday, September 29, 2024 at 01:33:14 PM PDT, Jack Haverty via Internet-history <internet-history at elists.isoc.org> wrote:
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
>>
More information about the Internet-history
mailing list