summaryrefslogtreecommitdiff
path: root/content/unix-history/01_multics.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/unix-history/01_multics.md')
-rw-r--r--content/unix-history/01_multics.md74
1 files changed, 69 insertions, 5 deletions
diff --git a/content/unix-history/01_multics.md b/content/unix-history/01_multics.md
index dd84f34..314480a 100644
--- a/content/unix-history/01_multics.md
+++ b/content/unix-history/01_multics.md
@@ -1,19 +1,83 @@
+++
-title = "History of BSD part I: Multics"
+title = "History of Unix part I: Multics"
author = ["MichaƂ Sapka"]
date = 2024-03-09T21:03:00+01:00
categories = ["unix-history"]
draft = false
weight = 1002
+primary_menu = "unix-history"
abstract = "BSD history starts with Multics"
shortname = "Part I: Multics"
link = "part-ii-multics"
aliases = ["/bsd/history/01_multics/"]
[menu]
- [menu.bsd-history]
+ [menu.unix-history]
weight = 1002
- identifier = "history-of-bsd-part-i-multics"
- name = "Multics"
+ identifier = "history-of-unix-part-i-multics"
+ name = "1. Multics"
+++
-I have published new chapter of the Unix History
+## 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)