summaryrefslogtreecommitdiff
path: root/content/bsd
diff options
context:
space:
mode:
authormms <michal@sapka.me>2024-05-28 22:54:14 +0200
committermms <michal@sapka.me>2024-05-28 22:54:14 +0200
commit12b576d58e143b0eabdcb2fde6ec08afa7485878 (patch)
tree116ecf34709fba44ca7dc7191c55d7a0a63c646e /content/bsd
parent5ed3c0a18535270e0dd9a1afa6b120f486203562 (diff)
feat: unix hist as single art
Diffstat (limited to 'content/bsd')
-rw-r--r--content/bsd/history/01_multics.md81
-rw-r--r--content/bsd/history/02_unix.md136
-rw-r--r--content/bsd/history/_index.md27
-rw-r--r--content/bsd/history/index.md24
4 files changed, 0 insertions, 268 deletions
diff --git a/content/bsd/history/01_multics.md b/content/bsd/history/01_multics.md
deleted file mode 100644
index ff10f17..0000000
--- a/content/bsd/history/01_multics.md
+++ /dev/null
@@ -1,81 +0,0 @@
-+++
-title = "History of BSD part I: Multics"
-author = ["Michał Sapka"]
-date = 2024-03-09T21:03:00+01:00
-categories = ["bsd"]
-draft = false
-weight = 2001
-primary_menu = "bsd-history"
-abstract = "BSD history starts with Multics"
-shortname = "Part I: Multics"
-[menu]
- [menu.bsd-history]
- weight = 2001
- identifier = "history-of-bsd-part-i-multics"
- name = "Multics"
-+++
-
-## Origins of time-sharing {#origins-of-time-sharing}
-
-Let's start our journey back when dinosaurs roamed the earth, engineers wore ties, and Barbie was first gaining popularity - the 60s.
-Nowadays, we have grown accustom to companies selling devices at lower profit margins - with most profit coming from software subscriptions.
-But 70 years ago it was the complete opposite.
-Companies bought expensive computers, huge machines, and what was running on them was of lesser value.
-And I really mean _expensive_.
-An IBM System/360 Model 20, presented in 1964, could have been bought starting from USD 62,710 (USD 622,626 adjusted for inflation) or rented for USD 1280 (USD 12,708 adjusted)[^fn:1].
-Sellers earned a lot from the devices.
-But, naturally, companies making all those investments wanted a nice return.
-This led to the creation of _time-sharing_.
-
-{{< img-c "ibm-360.jpg" "https://www.nbcnews.com/tech/gadgets/5-reasons-love-mad-mens-new-star-ibm-360-n101716" >}}
-IBM 360 in an official photoshoot.
-{{< /img-c >}}
-
-This concept seems natural now: multiple processes were able to share computer resources, so multiple applications could run at the same time.
-Applications could even run for different users.
-Ergo, time-sharing allowed for multi-user multitask processing.
-This is in stark contrast to batch-processing, where only a single program would be able to compute at any particular time.
-An example of such processing would be EDSAC, the first electronic computer[^fn:2].
-I won't go into detail of time-sharing, but you can read more in "Time sharing in large computers", C. Strachey, 1959.
-But what is important here is how it was used.
-All computation happened on a single, large server.
-End users would use _computer terminals_ which were _multiplexed_ into that server, called a _mainframe_.
-What is multiplexing you ask?
-Simply said, it's a way to combine different signals into a shared medium.
-It was used extensively for land-line telephony, where all signals were transferred over shared wires.
-
-{{< img-c "edsac.jpg" "https://www.datacenterdynamics.com/en/analysis/rebuilding-edsac-the-first-real-computer/" >}}
-EDSAC, the "first computer".
-{{< /img-c >}}
-
-
-## Multics {#multics}
-
-Let's jump to 1969.
-
-_Multics (MULTiplexed Information and Computing)_ was an early time-sharing operating system developed by _MIT_, _General Electrics_ and _Bell Labs_.
-It pioneered many of innovations which are still widely used in the computing systems of today: hierarchical file system, redirection as interprocess communication, or the existence of a shell[^fn:3], as well as memory pages, memory protection, or the ability for a single machine to use multiple CPUs and memory[^fn:4].
-It was however also huge, both in terms of memory usage (the resident kernel could occupy a huge part of memory living not enough for applications) and code size (it consisted of about 1,5k source modules)[^fn:3].
-_Multics_ was experimental and therefore ambitious, complex - designed by trial and error.
-It was delivered late, early on had performance problems, and in 1969 _Bell Labs_ withrew from the project[^fn:5].
-
-{{< img-c "multics-login.png" "https://en.wikipedia.org/wiki/Multics#/media/File:Multics-Login.png" >}}
-Multics login screen.
-{{< /img-c >}}
-
-{{< img-c "thompson-ritchie.jpg" "https://computerhistory.org/blog/discovering-dennis-ritchies-lost-dissertation/" >}}
-Ken Thompson and Denis Ritchie.
-{{< /img-c >}}
-
-Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna, frustrated with their experiences with _Multics_ Operating System are starting to work on their own alternative.
-Their work will become one of the most beloved computer products of all time - _UNIX_.
-The team armed with previous experience set up to create simple, manageable OS that would still fulfill all the requirements _Multics_ was to fulfill.
-
-Currently, however, they have problems convincing _Bell Labs_ management to get them a new computer.
-This has not stopped them from designing the system on black blackboards and paper.
-
-[^fn:1]: [IBM 360 Model 20 Rescue and Restoration: Machine Overview](https://ibms360.co.uk/?p=902)
-[^fn:2]: [First Operating System -- Part One](http://blog.wovenmemories.net/2023/10/30/First.Operating.System_Part.1.html)
-[^fn:3]: [Multics --- {W}ikipedia{,} The Free Encyclopedia](https://en.wikipedia.org/wiki/Multics)
-[^fn:4]: [Mark Allen - Before Unix: An Early History of Timesharing Systems](https://www.youtube.com/watch?v=UYb6WqWBTE0)
-[^fn:5]: [The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)](https://www.youtube.com/watch?v=ECCr_KFl41E)
diff --git a/content/bsd/history/02_unix.md b/content/bsd/history/02_unix.md
deleted file mode 100644
index f8243fd..0000000
--- a/content/bsd/history/02_unix.md
+++ /dev/null
@@ -1,136 +0,0 @@
-+++
-title = "History of BSD part II: Unix"
-author = ["Michał Sapka"]
-date = 2024-03-16T21:00:00+01:00
-categories = ["bsd"]
-draft = false
-weight = 2002
-primary_menu = "bsd-history"
-abstract = "How Unix came to be?"
-shortname = "Part II: Unix"
-[menu]
- [menu.bsd-history]
- weight = 2002
- identifier = "history-of-bsd-part-ii-unix"
- name = "Unix"
-+++
-
-## Bell Labs {#bell-labs}
-
-Let's pause here and discuss a few things.
-
-_Bell Labs_ was a research institute founded by no other, but the famous Alexander Graham Bell in 1876.
-It is known as one of the most innovative places ever conceived.
-It was the birthplace of radio astronomy, the transistor, the laser, the photovoltaic cell, the charge-coupled device (CCD), information theory, and the programming languages B, C, C++, S, SNOBOL, AWK, AMPL, and the UNIX operating system.
-The work completed there was awarded 10 times with a Nobel Prize[^fn:1].
-
-But it wasn't all pretty.
-AT&amp;T (owner of the lab) was _the_ telephone company in the USA.
-It had the _de facto_ monopoly for most of the 20th century.
-This led to a consent decree with US Government under which AT&amp;T was forbidden to branch out to other markets.
-This agreement happened in 1956 and will be very important for our story[^fn:2].
-
-Another cool tidbit: back then computer screens as we know them now were yet to be invented.
-There were ways for computer to present information on a screen, but it was not feasable to present information back to the user in real time.
-The monitor was a separate machine and an _assembly_ code to light up individual pixels would need to be sent every time to it.
-If the user wanted to see what the edited document looked like, the only way to achieve that was via a printer.
-Try to print a page every few lines - let alone every character.
-Even the bravest of the brave would not escape the anger of the finance department.
-
-
-## Getting a computer {#getting-a-computer}
-
-After this short intermission, let's return to _UNIX_.
-
-The popular history of _UNIX_ goes as follows:
-Ken Thompson finds a PDP-7 microcomputer, starts playing with it and suddenly realizes that he has created a new operating system.
-
-What he actually wanted to do, was to play a damn game.
-A completely reasonable reason to revolutionize the industry if you ask me.
-
-Ken was a huge fan of _Space Travel_, but it was only available on mainframes.
-And since those costed an arm and a leg, end users were paying for time they used.
-A single game of _Space Travel_ could cost Ken USD 50-75[^fn:3].
-Luckily, he was able to find a discarded PDP-7 from another department[^fn:2].
-
-{{< img-c "space-travel.png" "https://www.uvlist.net/game-164857-Space+Travel" >}}
-Space Travel
-{{< /img-c >}}
-
-What the PDP-7 was, was a refrigerator size 18bit monstrosity[^fn:2].
-It was at the time a 5-year-old and obsolete[^fn:4] leftover from an ended research into audio-psychology.
-No one cared what would happen to this particular machine.
-Have I mentioned just how stinky rich the _Bell Lab_ was?
-So, Ken started rewriting the game for that PDP-7 as _GECOS Space Travel_.
-
-Porting the game proved challenging and difficult to debug, so they developed a system for PDP-7 to make developing the game easier.
-This was how _PDP UNIX_ was born[^fn:5].
-A guy wanted to play a god-damn game and now bankrupt in the process[^fn:2]
-
-Labs management was very happy with this turn of events as _UNIX_ was something to show after the _Multics_ fiasco.
-They allowed Ken to get himself a _PDP-11_ and port _UNIX_ to it.
-It was a cheaper machine compared to _PDP-7_, but it was also 16bit - which was a nice change.
-Officially, the new system would allow for document preparation for patent applications[^fn:4].
-The biggest benefit however was the popularity of this machine - over the next decades it could be seen everywhere across enterprise America.
-You can buy a working one from _eBay_ today.
-It won't be easy nor cheap, but definitely possible.
-
-{{< img-c "pdp-7.jpeg" "https://en.wikipedia.org/wiki/PDP-7#/media/File:Pdp7-oslo-2005.jpeg" >}}
-PDP-7
-{{< /img-c >}}
-
-{{< img-c "thompson-ritchie-pdp11.jpg" "https://www.bell-labs.com/institute/blog/invention-unix/" >}}
-Ken Thompson and Denis Ritchie working on the legendary PDP-11.
-{{< /img-c >}}
-
-
-## Unix 1 {#unix-1}
-
-So here we are, November 1971, and _UNIX 1_ for _PDP-11_ is released[^fn:6]
-
-A year later Ken notes:
-
->
->
-> [...]the number of UNIX installations has grown to 10, with
-> more expected. None of these has exactly the same complement of
-> hardware or software. Therefore, at any particular installation,
-> it is quite possible that this manual will give inappropriate
-> information. [...] Also, not all installations have the latest versions of all the software.''
->
-> -- Unix Programmers Manual, Second Edition. Thompson Ken, Ritchie Denis, 1972
-
-Note, that this is 10 mainframes across _Bell Labs_, so user count was significantly higher.
-
-It's also worth to talk about release cycle.
-UNIX was in constant development, and each installation would use current snapshot at the moment of installation.
-This is why Ken notes that each part of _UNIX_ could differ between installations.
-What is also important is that due to licensing of _UNIX_ (or rather lack of thereof), each installation would be accompanied by full source code.
-Administrators were able to modify the system.
-Crazy times.
-
-Still, in June 1972 the 2nd Edition of _UNIX_ was released and every 7–8 months a new release was out.
-
-In November 1973, a 4th Edition was released, and it was the first one released to Universities.
-It made quite the buzz, and first user groups started forming under the _USENIX_ name[^fn:2].
-It's worth to mention that this version was rewritten in C, as previous versions which were created in Assembly
-This made it the first portable _UNIX_, as it could be recompiled to any compared, as long as it also had a C compiler[^fn:4].
-
-The system was presented by Ken and Denis during the _4th Symposium on Operating System Principles_ the same year,
-and a year later Ken and Dennis publish the first paper on _UNIX_ - "The UNIX Time-Sharing System" in the _Communications_ journal of ACM.
-
-{{< img-c "unix-tech-journal.jpg" "https://leancrew.com/all-this/2011/10/dennis-ritchie-unix-and-clarity/" >}}
-Bell System Technical Journal cover.
-{{< /img-c >}}
-
-The word was out and _UNIX_ became known outside of _Bell Labs_.
-
-In the next episode of History of BSD: the scariest creature of them all.
-Lawyers.
-
-[^fn:1]: [Bell Labs --- {W}ikipedia{,} The Free Encyclopedia](https://en.wikipedia.org/wiki/Bell_Labs)
-[^fn:2]: [The hidden early history of unix the forgotten history of early unix](https://www.youtube.com/watch?v=xuzeagzqwrs)
-[^fn:3]: [UVL](https://www.uvlist.net/game-164857-Space+Travel)
-[^fn:4]: [The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)](https://www.youtube.com/watch?v=ECCr_KFl41E)
-[^fn:5]: [Living Computer Museum](https://livingcomputers.org/Blog/Restoring-UNIX-v0-on-a-PDP-7-A-look-behind-the-sce.aspx) has a real PDP-7 running _PDP Unix_ if want to chek it.
-[^fn:6]: The 50th anniversary of this event was very big for a small group of fans.
diff --git a/content/bsd/history/_index.md b/content/bsd/history/_index.md
deleted file mode 100644
index 35050c4..0000000
--- a/content/bsd/history/_index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-+++
-title = "History of BSD and Unix"
-author = ["Michał Sapka"]
-date = 2024-04-08T09:37:00+02:00
-draft = false
-weight = 2001
-primary_menu = "bsd"
-abstract = "the long and turbolent history"
-[menu]
- [menu.bsd]
- weight = 2001
- identifier = "history-of-bsd-and-unix"
- post = " from Multics to OpenBSD"
-+++
-
-Does computer history have any real appliance?
-Not really.
-Does it explain certain, potentially baffling things? Certainly.
-But does it make great beer talk?
-Absolutely!
-Especially when discussing systems with such rich history as BSD.
-I will be gentle here, I promise.
-No _Hardcore History_ in sight.
-
-{{< menu "bsd-history" >}}
-History of BSD
-{{< /menu >}}
diff --git a/content/bsd/history/index.md b/content/bsd/history/index.md
deleted file mode 100644
index bad4e2d..0000000
--- a/content/bsd/history/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
-+++
-title = "History of BSD and Unix"
-author = ["Michał Sapka"]
-date = 2024-04-08T09:37:00+02:00
-categories = ["bsd"]
-draft = false
-weight = 2001
-hasNavSection = "bsd-history abstract BSD history starts with Multics"
-+++
-
-Does computer history have any real appliance?
-Not really.
-Does it explain certain, potentially baffling things? Certainly.
-But does it make great beer talk?
-Absolutely!
-Especially when discussing systems with such rich history as BSD.
-I will be gentle here, I promise.
-No _Hardcore History_ in sight.
-
-<menu>
-
-History of BSD
-
-</menu>