summaryrefslogtreecommitdiff
path: root/content-org/bsd.org
diff options
context:
space:
mode:
authormms <michal@sapka.me>2024-03-09 21:49:50 +0100
committermms <michal@sapka.me>2024-03-09 21:49:50 +0100
commit23f8686162a631215f274dba0fb1c8dc1635b4cf (patch)
tree34e584a46b0b2185d2bfda5b3e5b3968338b6afb /content-org/bsd.org
parent6fbc82b77e5de58d60d13ce6e5f0aef433caf9a4 (diff)
feat: bsd history part 1
Diffstat (limited to 'content-org/bsd.org')
-rw-r--r--content-org/bsd.org92
1 files changed, 90 insertions, 2 deletions
diff --git a/content-org/bsd.org b/content-org/bsd.org
index c656357..8b9a809 100644
--- a/content-org/bsd.org
+++ b/content-org/bsd.org
@@ -20,7 +20,20 @@ While not a popular as GNU/Linux, they are the defect descendants of the Unix Op
This site is dedicated to two of those systems: FreeBSD, and OpenBSD.
Those are the systems I daily run on my personal computers and servers.
And, while they come with significant problems, it's very easy to fall in love them.
-
+** History of BSD
+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.
+
+#+attr_shortcode: "bsd-history"
+#+begin_menu
+History of BSD
+#+end_menu
** FreeBSD
#+attr_shortcode: "freebsd-beastie.png"
@@ -993,10 +1006,85 @@ Notes:
I learned the BUS trick from [[https://nudesystems.com/how-to-fix-no-screen-found-xorg-error-on-freebsd/][Nude Systems]].
* Unix history :@bsd:
-
:PROPERTIES:
:EXPORT_HUGO_SECTION: bsd/history
:END:
+** DONE History of BSD part I: Multics
+CLOSED: [2024-03-09 Sat 21:03]
+:PROPERTIES:
+:EXPORT_FILE_NAME: 01_multics
+:EXPORT_HUGO_CUSTOM_FRONT_MATTER: abstract BSD history starts with Multics
+:EXPORT_HUGO_MENU: :menu bsd-history :name "Multics"
+:EXPORT_HUGO_PAIRED_SHORTCODES: img-c
+:END:
+
+*** 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:IBM360].
+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/.
+
+#+attr_shortcode: "ibm-360.jpg" "https://www.nbcnews.com/tech/gadgets/5-reasons-love-mad-mens-new-star-ibm-360-n101716"
+#+begin_img-c
+IBM 360 in an official photoshoot.
+#+end_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:root].
+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.
+
+#+attr_shortcode: "edsac.jpg" "https://www.datacenterdynamics.com/en/analysis/rebuilding-edsac-the-first-real-computer/"
+#+begin_img-c
+EDSAC, the "first computer".
+#+end_img-c
+
+*** 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:wiki], as well as memory pages, memory protection, or the ability for a single machine to use multiple CPUs and memory[fn:allen].
+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:wiki].
+/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:earlylin].
+
+#+attr_shortcode: "multics-login.png" "https://en.wikipedia.org/wiki/Multics#/media/File:Multics-Login.png"
+#+begin_img-c
+Multics login screen.
+#+end_img-c
+
+#+attr_shortcode: "thompson-ritchie.jpg" "https://computerhistory.org/blog/discovering-dennis-ritchies-lost-dissertation/"
+#+begin_img-c
+Ken Thompson and Denis Ritchie.
+#+end_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:IBM360] [[https://ibms360.co.uk/?p=902][IBM 360 Model 20 Rescue and Restoration: Machine Overview]]
+[fn:root] [[http://blog.wovenmemories.net/2023/10/30/First.Operating.System_Part.1.html][First Operating System -- Part One]]
+[fn:wiki] [[https://en.wikipedia.org/wiki/Multics][Multics --- {W}ikipedia{,} The Free Encyclopedia]]
+[fn:allen] [[https://www.youtube.com/watch?v=UYb6WqWBTE0][Mark Allen - Before Unix: An Early History of Timesharing Systems]]
+[fn:earlylin] [[https://www.youtube.com/watch?v=ECCr_KFl41E][The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)]]
* Varia :@bsd:
** DONE FreeBSD: Early thoughts
CLOSED: [2023-02-15 Mon 21:12]