summaryrefslogtreecommitdiff
path: root/content-org/unix-history.org
blob: 1625fbf7c549facfa6f52bde38d100e09eced345 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
#+TITLE: Unix history#+AUTHOR: Michał Sapka
#+URL: https://michal.sapka.me/unix-history/
#+STARTUP: show2levels indent logdone

#+HUGO_BASE_DIR: ~/ghq/michal.sapka.me/mms/site
#+HUGO_WEIGHT: auto
#+HUGO_SECTION: star-trek

* UH                                                          :@unix_history:
:PROPERTIES:
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :image_dir "unix-history" :image_max_width 480
:EXPORT_HUGO_PAIRED_SHORTCODES: image
:END:
** DONE Unix history                                                   
CLOSED: [2024-05-30 Sat 21:03]
:PROPERTIES:
:EXPORT_FILE_NAME: _index
:EXPORT_HUGO_PAIRED_SHORTCODES: img-c
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :primary_menu bsd
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :aliases '(/bsd/history//)
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :shortname History of Unix
:EXPORT_HUGO_MENU: :menu bsd
:EXPORT_HUGO_PAIRED_SHORTCODES: img-r menu menu-info image
:EXPORT_HUGO_LASTMOD: 2024-09-13
:END:


To say that the history of Unix is long and convoluted would be a huge understatement.
It started its life as a gaming OS dressed as a typesetting one in a forgotten alley in a research center but soon became the most important idea in modern computing history.
No other OS had such a broad impact on how we work with computers. And despite that, it's mostly a forgotten name.
It lives in its ideas and licenses, but very rarely do we think about running Unix.

#+attr_shortcode: :file header-transparent.png
#+attr_shortcode: :alt A group of characters from Unix Surrealism.
#+attr_shortcode: :class centered
#+attr_shortcode: :transparency yes
#+begin_image
noop
#+end_image

*** Table of contents

#+attr_shortcode: "unix-history"
#+begin_menu
Dune
#+end_menu


*** Acknowledgements

- [[http://wovenmemories.net/][Jeff]], for proofreading Part III
- [[https://www.analognowhere.com/][Tomáš]], for providing artwork on homepage
- [[https://static-dust.klpn.se/][Karl Pettersson]], for pointing date errors about IX/386 and Xenix in Part III
- [[https://github.com/davemq][Dave Marquardt]], for pointing grammar errors in Part III and informing me about existence of Piramid Technologies
- Vladimir, for pointing a typo

*** Link

If you want to link this site, you can use this button:

#+attr_shortcode: :file webbutton.png
#+attr_shortcode: :alt A webbutton
#+attr_shortcode: :class button
#+begin_image
noop
#+end_image

*** Changes

- /2024-09-13/: Moved to crys.site
- /2024-06-10/: Added artwork; fixes in Part 3
- /2024-06-09/: Date fixes (IX/386 Xenix) in Part 3
- /2024-06-08/: First release of Part 3
- /2024-05-30/: Extract into self-contained website
- /2024-04-08/: Extract Unix History to dedicated section
- /2024-03-16/: First relase of Part 2
- /2024-03-09/: First relase of Part 1
** DONE History of Unix part I: Multics                       
CLOSED: [2024-03-09 Sat 21:03]
:PROPERTIES:
:EXPORT_FILE_NAME: 01_multics
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract Unix history starts with Multics
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :shortname Part I: Multics
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :link part-ii-multics
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :aliases '(/bsd/history/01_multics/)
:EXPORT_HUGO_MENU: :menu unix-history :name "1. Multics"
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :primary_menu "unix-history"
: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 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:IBM360].
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/.

#+attr_shortcode: :file ibm-360.jpg
#+attr_shortcode: :source https://www.nbcnews.com/tech/gadgets/5-reasons-love-mad-mens-new-star-ibm-360-n101716
#+attr_shortcode: :alt Photo of old computer room full of tape drives. The primary color is red.
#+attr_shortcode: :class centered
#+begin_image
Fig. 1.1. IBM 360 in an official photoshoot.
#+end_image

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: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 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.

#+attr_shortcode: :file edsac.jpg
#+attr_shortcode: :source https://www.datacenterdynamics.com/en/analysis/rebuilding-edsac-the-first-real-computer/
#+attr_shortcode: :alt Black and white photo of a group of man standing next to a mechanical computer
#+attr_shortcode: :class centered
#+begin_image
Fig. 1.2. EDSAC, the "first computer".
#+end_image

**** 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: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 terms of memory usage (the resident kernel could occupy a huge part of memory leaving not enough for applications) and code size (it consisted of about 1,5k source modules)[fn:wiki].
/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:earlylin].

#+attr_shortcode: :file multics-login.png
#+attr_shortcode: :source https://en.wikipedia.org/wiki/Multics#/media/File:Multics-Login.png
#+attr_shortcode: :alt Screenshot of SSH connection with big Multics written in ASCII
#+attr_shortcode: :class centered
#+begin_image
Fig. 1.3. Multics login screen.
#+end_image

#+attr_shortcode: :file thompson-ritchie.jpg
#+attr_shortcode: :source https://computerhistory.org/blog/discovering-dennis-ritchies-lost-dissertation/
#+attr_shortcode: :alt Photo of two white, bearded men. They are both wearing thick glasses. The person on the left is wearing gray-blue polo shirt. The person on the right is wearing a red tshift with big X and Bell Labs Sensitive text in center
#+attr_shortcode: :class centered
#+begin_image
Fig. 1.4. Ken Thompson and Denis Ritchie.
#+end_image

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.

** DONE History of Unix part II: Birth of Unix                
CLOSED: [2024-03-16 Sat 21:00]
:PROPERTIES:
:EXPORT_FILE_NAME: 02_unix
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract How Unix came to be? 
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :shortname Part II: Unix
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :link part-ii-unix
:EXPORT_HUGO_MENU: :menu unix-history :name "2. Birth of Unix" 
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :aliases '(/bsd/history/02_unix/)
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :primary_menu "unix-history"
:END:

**** 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:wikibell].

But it wasn't all pretty.
AT&T (owner of the lab) was /the/ telephone company in the USA.
It had the /de facto/ monopoly for most of the 20th century.
kkThis led to a consent decree with US Government under which AT&T was forbidden to branch out to other markets.
This agreement happened in 1956 and will be very important for our story[fn:hiddenunix].

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

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:uvlist].
Luckily, he was able to find a discarded PDP-7 from another department[fn:hiddenunix].

#+attr_shortcode: :file space-travel.png
#+attr_shortcode: :source https://www.uvlist.net/game-164857-Space+Travel
#+attr_shortcode: :alt Photo of black screen with lines representing rudimentay space ship viewscreen
#+attr_shortcode: :class centered
#+begin_image
Fig. 2.1. Space Travel
#+end_image

What the PDP-7 was, was a refrigerator size 18bit monstrosity[fn:hiddenunix]. 
It was at the time a 5-year-old and obsolete[fn:earlylin] 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:lcm].
A guy wanted to play a god-damn game and now bankrupt in the process[fn:hiddenunix]

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:earlylin].
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.

#+attr_shortcode: :file pdp-7.jpeg
#+attr_shortcode: :source https://en.wikipedia.org/wiki/PDP-7#/media/File:Pdp7-oslo-2005.jpeg
#+attr_shortcode: :alt Photo of a big, old computer the size of a wardrobe. The dominating color is teal.
#+attr_shortcode: :class centered
#+begin_image
Fig. 2.2. PDP-7
#+end_image

#+attr_shortcode: :file thompson-ritchie-pdp11.jpg
#+attr_shortcode: :source https://www.bell-labs.com/institute/blog/invention-unix/
#+attr_shortcode: :alt Photo of two white men. One is standing over and talking the other. The other is sitting in front of a teletype.
#+attr_shortcode: :class centered
#+begin_image
Fig. 2.3. Ken Thompson and Denis Ritchie working on the legendary PDP-11.
#+end_image

**** Unix 1

So here we are, November 1971, and /UNIX 1/ for /PDP-11/ is released[fn:50]

A year later Ken notes:
#+begin_quote

[...]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
#+end_quote

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:hiddenunix].
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:earlylin].

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.

#+attr_shortcode: :file unix-tech-journal.jpg
#+attr_shortcode: :source https://leancrew.com/all-this/2011/10/dennis-ritchie-unix-and-clarity/
#+attr_shortcode: :alt Photo of front and back cover of an orange book with The Unix System written in the center; Above it a text states AT&T Bell Laboratories Technical Jurnal
#+attr_shortcode: :class centered
#+begin_image
Fig. 2.4. Bell System Technical Journal cover.
#+end_image

The word was out and /UNIX/ became known outside of /Bell Labs/.

In the next episode of History of Unix: the scariest creature of them all.
Lawyers.

[fn:wikibell] [[https://en.wikipedia.org/wiki/Bell_Labs][Bell Labs  --- {W}ikipedia{,} The Free Encyclopedia]]
[fn:hiddenunix] [[https://www.youtube.com/watch?v=xuzeagzqwrs][The hidden early history of unix the forgotten history of early unix]]
[fn:earlylin] [[https://www.youtube.com/watch?v=ECCr_KFl41E][The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)]]
[fn:uvlist] [[https://www.uvlist.net/game-164857-Space+Travel][UVL]]
[fn:50] The 50th anniversary of this event was very big for a small group of fans.
[fn:lcm] [[https://livingcomputers.org/Blog/Restoring-UNIX-v0-on-a-PDP-7-A-look-behind-the-sce.aspx][Living Computer Museum]] has a real PDP-7 running /PDP Unix/ if want to chek it.
[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)]]


** DONE History of Unix part III: Forks and Wars              
CLOSED: [2024-06-08 Sat 14:43]
:PROPERTIES:
:EXPORT_FILE_NAME: 03_unix_wars
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract How Unix came to be? 
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :shortname Part III: Unix Wars
:EXPORT_HUGO_MENU: :menu unix-history :name "3. Forks and Wars" 
:EXPORT_HUGO_PAIRED_SHORTCODES: img-c image
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :primary_menu "unix-history"
:EXPORT_HUGO_LASTMOD: 2024-06-10
:END:


This resulted in a very particualar situation.
Different organizations came into possesion of a /great/ operating system with which they were able to do whatever they pleased.
The original creators, AT&T were unable to sell the software.
Of course, they wanted to monetize this opportunity.

This chapter of history is convoluted, so hopefully I won't make any significant errors here.
Most of this history would be lost to time, if it it wasn't for dedication of dedicated fans.
Remember, I try to link sources so please go take a visit to /their/ sites and talks.
But please, go and see Warner Hosh's [[https://www.youtube.com/watch?v=XuzeagzQwRs][talk]] on the early history of UNIX.
It's a gold mine and guiding light allowing me to write the following chapter.


*** Other Bell Unixes

The first forks (separately developed versions of /Unix/) came from Bell[fn:hiddenunix].

AT&T was, as we remember, a telephone company.
Lots of wires coming into centralized buildings, called /switches/.
The first known fork of /Unix/ was intended to automate switching of connections, therefore the very long name - /New Jersey Bell Switch Control Center System (/NJ Bell SCCS).
This version of /Unix/ is the earliest known usage of the OS family outside of Bell Labs.
It was released in 1971 as a fork of 1st or 2nd edition of /Unix/ and was the first known /Unix/ to support inter-process communication and file locking.
Those advancements were not back ported to mainline /Unix/ until /System V/[fn:cbwiki],[fn:hiddenunix].
This version of Unix evolved into /Columbus Unix/ (/CB-Unix/), as the /SCCS Unix/ was developed by Bell Division 59473 in Columbus, Ohio.

#+attr_shortcode: :file cb-unix-manuals.jpg
#+attr_shortcode: :source https://en.wikipedia.org/wiki/CB_UNIX#/media/File:CB_Unix_Manuals.jpg
#+attr_shortcode: :alt Two red books containing Volume 1 and 2 of Programmers Manuals for CB Unix
#+attr_shortcode: :class centered
#+begin_image
Fig. 3.1. Programmers Manuals for CB Unix
#+end_image

In a completely different part of Bell Labs, another project was starting to use /Unix/.
/Mert/ (Multi-Environment Real-Time[fn:virt]) was a fork for use in embedded minicomputers, like PDP-11s[fn:mertwiki].
And so in 1973 /Unix V4/ was ported to run as a supervisor on DEC PDP-11 computers, models -11/45 and -11/70 [fn:gnukiesmert].
It was the first time /Unix/ was run in a virtualized environment[fn:hiddenunix],[fn:mertwiki].
To achieve this, authors used a new (at the time) idea that we now call microkernel.
This system evolved later into /Unix/RT/ and then /DMERT/

Yet another version was /PWB/Unix/ which was designed to be used to create software for batch processing.
This was how processing was done back then - you created your program, submitted it to a mainframe, but with the use of /Unix/ no longer one needed to provide a deck of cards to a operator.
As a result, /PWB/ provided an early version of Source Control System.
To make work easier, this was the first version to include a /shell/ - /pwb shell/.
Other tools we know and love today that originate in /PWB/ are awk, sed, grep, or make[fn:hiddenunix].
Ergo, this was one of the OSes made for work, not for research.
This OS was released in 1977 but Evan Ivie and Rudd Canaday started working on it in 1973[fn:pbwiki].

In the same year, 1973, Bell funds a small group to support the use of /Unix/ across the lab - the /UNIX Support Group/ or /USG/ for short[fn:gnukiesusg].
Their version of /Unix/ was called /Unix/TS/ and was based on /UNIX v4/.
It was later merged with /PWB/ and /32V/ to become /Unix/TS 3.0/ known also as /System III/.
After another merge, this time with CB-Unix and it became /Unix/TS 4.0/, which however was never released.
The next version after that, /Unix-TS 5.0/, became the /System V/.[fn:hiddenunix],[fn:gnukiesusg].

We're not done yet.
/UNIX/ has seen its share of history and we're still in the 70s.
1975 saw the release of MUNUX, most likely as a fork of /UNIX V5/[fn:hiddenunix].
It was a modification of mono-processing system, UNIX, to multiprocessing utilizing two PDP 11/50[fn:munix].
Yes, multi processor processing was researched in the 70s.

/UNIX V6/ saw the addition of BBN TCP/IP Stack in 1977.
This is worth mentioning, as before that Bell labs pretended that packets are to be ignored, as networking is to be done using circuit switching.
AT&T was a /telephone/ company after all[fn:hiddenunix].
/V6/ from 1975 introduced yet another feature - commercial license.
We will get back to that, but it is what sounds like: AT&T is earning money from Unix. 

*** AUSAN and the birth of BSD

/AUSAM/, the /Australian Unix Share Accounting Method/ was the first community maintained fork of Unix based on the Sixth Edition[fn:hiddenunix].
The work conducted at Universities of Sydney and New South Wales focused on allowing the system to run with huge number of users[fn:ausantuhs].
The changes returned to /Unix V7/, but /AUSAM/ was never upgraded to a full 7th ed[fn:hiddenunix]

In 1975, Ken Thompson took a sabbatical and took a teaching job at the University of California at Berkeley, where he helped install Version 6 of /Unix/.
The OS received quite the attention of students and faculty, resulting in the first version of /BSD Unix/ - /1BSD/.
The lineage of BSD is extensive (not to mention their descendants are what I use) and will be a subject of the next part of our story.
For now, remember that /BSD/ exists.
The name will be all over the place, but proper history of /BSD/ lineage deserves a deeper look.

The /Unixes/ we've talked about here were research projects.
People tried to understand what can be done with a Computer using /Unix/ as the base.
But no one was stopping other people from earning money.
So they did.

The first wave of commercial Unixes were mostly ports allowing to run /Unix/ on wide range of hardware.
Remember, this was way before X86 destroyed the scene and computers, there were vastly different computer architectures on the market.
It was no small feat, and this is the hobby of a lot of folks in IT.
/Doom/ is supposed to be ported to /everything that can compute/.
The good old IBM PC got /386/IX/ (aka /PC/386/) in 1984[fn:386].
Amigas got their /Amiga Unix/ in 1990 developed by /Commodore-Amiga, Inc.//.
HP's internal line of mainframes were given /HP-UX/ (sometimes called /HP-SUX/) in 1984.
Most of those don't have any value now, but it's important thread in our story.

*** Solaris

However some of those forks have /huge/ value.
Sun Microsystems (murdered by Oracle buyout) offered their own line of workstations.
Their /Unixes/ were initially based on /BSD/ under the name of /SunOS/ - versions 1 to 4.1.4.
Starting with version 5 however, the base OS was changed to /System V/ and the OS renamed to /Solaris/.
Up to this day, this one of the most well remembered OSes.
Mind you, it's still developed (in 2023), but people simply don't want to do anything in proximity to Oracle.

*** Xenix

Some /Unixes/ are remembered for very different version.
Xenix, first released in 1980[fn:xenixneowin] was a fork for IBM/PC, Apple Lisa, Tandy (amongst others) released and developed by Microsoft.
Yes, a timeline exists where Windows never became the standard, and instead a MS branded Unix rules the land.
The first version is said to be very close to /System 7/, but with time more and more changes were applied.
It was quite the buzz in the buzz, even Intel sold a complete computers with Xenix preinstalled under the name System 86.
Measured by number of machines on which it was installed, /Xenix/ was the most common /Unix/ variant by the mid-to-late 1980s[fn:wikixenix]
Nothing of this mattered in the death march of Windows, and the last version was released in 1991.

#+attr_shortcode: :file unix-world-xenix.jpg
#+attr_shortcode: :source https://computeradsfromthepast.substack.com/p/microsofts-xenix
#+attr_shortcode: :alt Cover of Unix World from 1985 showing Bill Gates with "Bill Gates on the future of Xenix" feature
#+attr_shortcode: :class centered
#+begin_image
Fig. 3.2. What an issue that was!
#+end_image

*** AT&T Strikes Back

None of the systems developed outside of AT&T could use the name /Unix/, as the it was a trademark.
The management of AT&T was paying attention and starting to get hungry.
However, by 1980s, the most popular variant of non-commercial /Unix/ was /BSD[fn:wikiunixwars]/.

The /Unix/ landscape was like nothing else.
Despite companies sharing up to 90% of code, all the /Unixes/ were incompatible.
Hardware and software vendors were unable to support all of them.
The was no /Single Unix/, which made it the adoption much slower and painful.
In 1981 Ma Bell (Mother Bell, a common colloquial name for Bell companies) helped a bit by combining all of Bell's /Unixes/ into a single one - /Unix System 3/.
Its binaries were sub-licensed for 100USD.
Nothing big enough to trigger legal actions, but /Bell Unix/ became a commercial product.

This could not go like this forever.

The change came from no one other, but the U.S. Department of Justice.
The year is 1983 and the second antitrust case against AT&T is settled, causing the breakup of Bell System.
This removed the decree from 1956 and AT&T was able to commercialize /Unix/.
AT&T swiftly introduced the (aforementioned) /Unix System V/ (note the lack of /System IV/).
You could now buy an AT&T /Unix/ for the low price of $43,000, though it allowed for commercial usage of the source code.
Of course, add-ons (like networking) were sold separately.
This product received its own division within AT&T - /AT&T Information Systems/, later /Unix System Laboratories/ or /USL/[fn:ytchronicle].

AT&T intended /System V/ to be the standard way to experience /Unix/, but others disagreed.
The situation on the battlefield was complex, with different players putting their figures all over the place.
We had two behemoths - AT&T with /System V/ and Berkeley University with /BSD/, now on version 4.2 plus a lot of smaller players.
AT&T had all the money and name to crush anyone but did not support networking.
BSD had a TCP/IP based networking and was popular among st universities.

Vendor were choosing sides - IBM and HP went with /System V/ while others, like Sun choose /BSD/.
Some were trying to get it both ways - Pyramid's OSx supported syscalls of both, BSD and System V[fn:piramidwiki].

On 27th of March, 1984 AT&T officially enters computer market with their own line of computers from desktops PCs to "super-microcomputers" powered by /Unix/[fn:ytchronicle].

#+attr_shortcode: :file att-unix-pc.jpg
#+attr_shortcode: :source https://www.thejumpingfrog.com/product/sku/1526351
#+attr_shortcode: :alt An print ad for AT&T Unix PC showing the computer and listing features
#+attr_shortcode: :class centered
#+begin_image
Fig. 3.3. Introducing the AT&T Unix PC.
#+end_image

#+attr_shortcode: :file mt-xinu.png
#+attr_shortcode: :source https://archive.org/details/mtxinu-mach386/Mt.Xinu%20BSD%20Poster.png
#+attr_shortcode: :alt A drawing of an space ship flying of a planet looking like System V logo. On top text 4.2 > V can be seen.
#+attr_shortcode: :class centered
#+begin_image
Fig. 3.4. Mt Xinu poster shows the atmosphere of those days .
#+end_image

*** BSD on the verge

The rules of the game also changed.
All /Unixes/ shared code originating from Bell Labs, but AT&T was not happy with this.
Therefore, while BSD still could be used for research purposes, any commercial usage would require first purchasing rights for /System V/ usage.
The system came with license agreement allowing only for usage in academic institutions and purposes.

By 1980s features of BSD were adopted back in /System V/.
This, and the license made users and vendors flock towards AT&T, since they had to get a license anyway.
Even curriculum was changed, since distributed source code of Unix (be it during lectures or in text books) were under AT&T control[fn:ytchronicle].
This made /Lions Commentary on UNIX/ the most photocopied book in academic history.
Owning Nth generation, barely readable copy gave significant bragging rights[fn:hiddenunix].

*** Alliances - X/Open, AT&T&Sun, OSF, UI

All of this made /Unix/ suffer.
People were not writing software for it, since all flavors were incompatible.

Seeing the situation, a number of companies joined forces to create a single standard .
In 1984 the /Open Group for Unix Systems/ was formed by the likes of Bull, ICL, Siemes, Olivetti, and Nixdorf.
The group was commonly known as /BISON/, from first names of their name.
Later, the name was changed to /X/Open/.

The group decided to base their standard on /System V/ because they "decided to run the risk of exploitation by AT&T rather than by IBM”[fn:michigan].
The first version of the specification, X/Open Portability Guide Issue 1 was published in 1985 and “covered basic operating system interfaces”[fn:klara].

The situation was, however, dire.
In 1985 /MS-DOS/ had 5x the number of applications compared to /Unix/.
This lead to the year 1986, and AT&T took a $1.2 billion loss, with half of that in computer industry.

In 1987 AT&T and Sun enter an agreement.
Sun, by that time, was the largest /Unix/ vendor with /SunOS/ based on /BSD 4.2/ and their own line of RISC-based microprocessors - SPARC.
The official note stated that they are joining forces to "pursue co-development of a standard Unix operating system based on AT&T’s System V, Berkeley’s BSD 4.2, and the graphical capabilities of Sun’s SunOS"[fn:klara].

The computer world was not happy with those giants creating their own front.
The fear was that it could lead to a total domination of the market by AT&T OS running on Sun hardware.
DEC engineer Armando Stettner, said:

#+begin_quote
"When Sun and AT&T announced the alliance, we at Digital were concerned that AT&T was no longer the benign, benevolent progenitor of UNIX…Sun was everyone’s most aggressive competitor.
We saw Sun’s systems were direct replacements for the VAX.
Just think: the alliance combined our most aggressive and innovative competitor with the sole source of the system software — the balance shifted."[fn:klara], [fn:groklaw]
#+end_quote

This lead to the creation of third combined group - in 1988 representatives from Apollo, DEC, Gould Electronics, Hewlett-Packard, Honeywell-Bull, InfoCorp, MIPS, NCR, Silicon Graphics, UniSoft, and Unisys met in DEC's office in Palo Alto.
Initially the group called themselves /Hamilton Group/ (from Hamilton Avenue, where DEC offices were located).
Their goal was to get AT&T on board, but it failed.[fn:klara]
As a reaction, they invited IBM who happily joined and  in May of 1988 they official announced their existence under the name of /Open Software Foundation (OSF)/.[fn:ytchronicle]
They decided not to base their standard on AT&T: 

#+begin_quote
"Unlike X/Open, OSF planned to produce an operating system that it would license to its members, rather than function only as an advisory body."[fn:klara]
#+end_quote

This had the historic effect of putting rivals, DEC and IBM on the same side.
DEC co-founder, Ken Olsen never before shared a stage with any IBM executive before.
Even Ken Thomson while traveling in Australia commented on this to Dennis Ritchie:

#+begin_quote
"Just think, IBM and DEC in one room. We did it!"[fn:ytchronicle].
#+end_quote

Sun's CEO, Scott McNealy was not as pleased, as he called the OSF the "Oppose Sun Forever".
The heat lead to AT&T and Sun creating /Unix International/, whose goal was to advise AT&T on /System V/ and promote its development.
The voting rights were based on, of course, financial contributions[fn:klara].

OSF faced internal problems due to consisting parties often competing on the mainframe market.
This left OSI and UI as the dominant powers in the straggle, and in total they ended with over two hundred members.
Both also developed and released their own Unixes.
In November of 1989 AT&T releases a commercial version of /System V Release 5/, and in 1990 the OSF released /OSF/1/ based on IBM's AIX and Carnegie Mellon’s MACH operating systems[fn:klara]

*** Enemy mine

The battle continued into 1990s, and there was no sign of a clear winner.
First, the economy turned to the worst with the early 1990s recession in the US.
Most players of the Unix Wars, as we call them now, started seeing decrease in profit - sometimes loses.
Second, 1993 saw the release of /Windows NT/, which was aimed directly at the market /Unix/ was fighting for.
Having a single, widely supported OS allowed Microsoft to quickly gain huge market share.

/Unix/ fought with more standardization attempts.

Firstly, in 1988 the IEEE 1003 was released, /Portable Operating System Interface/, aka /POSIX/.

The second was known as /Common Open Software Environment/, the /COSE/.
It was one more attempt to create an open, unified, standardized /Unix/.
This time, however, it was not a fight between /Unix/ vendors.
This was the first time they had to unite against a common enemy.
Initially the group consisted of The Santa Cruz Operation, Unix System Laboratories, Univel, Sun, HP, and IBM
They tasked themselves not with creating of a single unified OS, but rather with survey and document what already was there.
The result of their work is /Spec 1170/, now known as /Single Unix Specification/.[fn:klara], [fn:wikicose]

This lead to the last attempt.
In 1996 OSF and X/Open merged and became /The Open Group/ which exists till today.
It was however too late for /Unix/ to regain its dominance.
The value was lost, the /Unix/ wars saw the rise of Microsoft and a new player - GNU/Linux.

#+attr_shortcode: :file cde.png
#+attr_shortcode: :source http://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/
#+attr_shortcode: :alt Screenshot of an Unix system running Common Desktop Environment
#+attr_shortcode: :class centered
#+begin_image
Fig. 3.5. One of the great achievements of The Open Group was Common Desktop Environment
#+end_image

The trademark of /Unix/ resides now with /The Open Group/ which is responsible for certification of products.
It's quite expensive, so now we have two types of OSes in our lineage: Unix (with certification, like MacOS) and Unix-Like (following all requirements, but not certified - like GNU/Liunux).
/The Open Group/ develops a very large volume of specifications under the name of /POSIX/ (/The Portable Operating System Interface/).

[fn:hiddenunix] [[https://www.youtube.com/watch?v=xuzeagzqwrs][The hidden early history of unix the forgotten history of early unix]]
[fn:cbwiki] [[https://en.wikipedia.org/wiki/CB_UNIX][CB Unix]] on Wikipedia
[fn:mertwiki] [[https://en.wikipedia.org/wiki/Multi-Environment_Real-Time][MERT]] on Wikipedia
[fn:pbwiki] [[https://en.wikipedia.org/wiki/PWB/UNIX][PWB/UNIX]] on Wikipedia
[fn:gnukiesusg] [[https://gunkies.org/wiki/UNIX_Support_Group][Unix Support Group]] on Gnukies
[fn:munix] [[https://core.ac.uk/download/pdf/36714194.pdf][MUNIX, A MULTIPROCESSING VERSION OF UNIX]] by John Alfred Hawley, Naval Postgrade School, June 1975
[fn:ausantuhs] [[https://www.tuhs.org/cgi-bin/utree.pl?file=AUSAM][AUSAM]] on The Unix Heritage Society
[fn:wikilist] [[https://en.wikipedia.org/wiki/List_of_Unix_systems][List of Unix Systems]] on Wikipedia
[fn:wikixenix] [[https://en.wikipedia.org/wiki/Xenix][Xenix]] on Wikipedia
[fn:wikiunixwars] [[https://en.wikipedia.org/wiki/Unix_wars][Unix Wars]] on Wikipedia
[fn:ytchronicle] [[https://www.youtube.com/watch?v=Ffh3DRFzRL0][A Chronicle of the Unix Wars]] by Asianometry on Youtube
[fn:klara] [[https://klarasystems.com/articles/unix-wars-the-battle-for-standards/][Unix Wars]] on Klara Systems
[fn:michigan] [[https://websites.umich.edu/~afuah/cases/case12.html][UNIX STANDARDS IN THE 1990s]] on University of Michigan
[fn:groklaw] [[http://www.groklaw.net/article.php?story=20050601125916588][The Daemon, the GNU and the Penguin]] by by Peter H. Salus
[fn:wikicose] [[https://en.wikipedia.org/wiki/Common_Open_Software_Environment][COSE]] on Wikipedia
[fn:ytmaddog] [[https://www.youtube.com/watch?v=EZMA3Ge144U][Jon "maddog" Hall talks Unix and Linux history]] on Youtube
[fn:gnukiesmert] [[https://gunkies.org/wiki/MERT_operating_system][MERT]] on Gnukies
[fn:virt] Yes, virtualization is not a new idea as it dates back to the 60s when IBM designed the System/360 to emulate other devices, like the 1401.
[fn:386] [[https://winworldpc.com/product/pc-ix/10][IX/386]] on WinWorld
[fn:xenixneowin] [[https://www.neowin.net/news/a-quick-look-back-at-microsofts-first-computer-operating-system-xenix/][Xenix]] on Neowin
[fn:piramidwiki] [[https://en.wikipedia.org/wiki/Pyramid_Technology][Piramid Technology]] on Wikipedia

* Other
https://minnie.tuhs.org/Seminars/AUUG96/pdppaper.html
https://www.tuhs.org/cgi-bin/utree.pl
http://www.bitsavers.org/pdf/interactiveSystems/386ix_version_2.0/386ix_Software_Development_System_Guide_Dec1988.pdf
https://www.youtube.com/watch?v=Ffh3DRFzRL0
https://www.usenix.org/system/files/login/articles/login_apr15_17_salus.pdf
https://www.catb.org/esr/writings/taoup/html/ch02s01.html
https://www.levenez.com/unix/
https://www.mckusick.com/history/



--> https://www.youtube.com/watch?v=DEEr6dT-4uQ <---