diff options
author | mms <michal@sapka.me> | 2024-03-09 21:49:50 +0100 |
---|---|---|
committer | mms <michal@sapka.me> | 2024-03-09 21:49:50 +0100 |
commit | 23f8686162a631215f274dba0fb1c8dc1635b4cf (patch) | |
tree | 34e584a46b0b2185d2bfda5b3e5b3968338b6afb /content/bsd/history/01_multics.md | |
parent | 6fbc82b77e5de58d60d13ce6e5f0aef433caf9a4 (diff) |
feat: bsd history part 1
Diffstat (limited to 'content/bsd/history/01_multics.md')
-rw-r--r-- | content/bsd/history/01_multics.md | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/content/bsd/history/01_multics.md b/content/bsd/history/01_multics.md new file mode 100644 index 0000000..b926552 --- /dev/null +++ b/content/bsd/history/01_multics.md @@ -0,0 +1,79 @@ ++++ +title = "History of BSD part I: Multics" +author = ["MichaĆ Sapka"] +date = 2024-03-09T21:03:00+01:00 +categories = ["bsd"] +draft = false +weight = 2001 +abstract = "BSD history starts with 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 are accused to companies selling devices with a loss, as all the money comes 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 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 multitasking 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 _mainframe_. +What is multiplexing you ask? +Simply said, it's a way to different combine 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 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 terns 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, and 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) |