Waiting..
Auto Scroll
Sync
Top
Bottom
Select text to annotate, Click play in YouTube to begin
00:00:02
In the beginning was the code, and  the code was with the computer. But the code stayed with the computer. And if  we changed the computer like for an upgrade or   something then we had to rewrite all the code.  And everyone agreed that this was wasteful. What we needed was a platform on which we can   develop software. Capable of  handling different hardware. But also not too expensive. Perhaps  collectively managed and developed by  
00:00:25
a team of volunteers around the world?  I wonder if such a thing is possible. The creation and emergence of the operating  system Unix was one of those special moments   in technology history. In this video,  the rise and fragmentation of Unix. ## Beginnings In 1965, a few scientists at Bell Labs joined  with peers from MIT and General Electric on a   project called "Multiplexed Information  and Computing Service", or Multics.
00:00:51
The idea was to create this general-purpose  utility for sharing time on a computer system.   Computers were super expensive,  so time-sharing operating systems   were developed for multiple users to  efficiently share computer resources. Over time these time-sharing systems  matured into a communications tool   connecting multiple users on the time share,  with user public profiles and everything.
00:01:16
General Electric then had a business selling  time shares for their computer systems - and   offered the Multics team the use of a GE 645  mainframe computer. Simulated with a 635 computer. Multics experimented with some  interesting concepts. For instance,   the idea of having arbitrary file names and  directory structures - a virtual memory system. Virtual memory is where secondary  storage like from a hard drive can  
00:01:42
be used like as if it were part of  the main memory - the RAM. With this,   the computer can handle more data than its RAM  would otherwise physically allow it to handle. It was a massive improvement over existing file  systems of the day and is still used today. The   Multics team tried to bring together ideas  like these - which previously were floating   around but not implemented -  into a single commercial product.
00:02:07
## The End of Multics Looking back at it, they were  probably trying to boil the ocean. Progress turned into a slog - too much  money spent on too few people following   too vague of a plan. Frustrated  with the absence of a workable   product, Bell Labs formally pulled  out of the Multics project in 1969. Soon thereafter GE later decided  to exit the computer industry   entirely - selling the division to Honeywell.
00:02:33
Despite this, a few scientists at the Bell Labs  Computing Science Research Center - Ken Thompson,   Dennis Ritchie, Rudd Canaday, Doug McIlroy, and  J.F. Ossanna - continued working on the project. However, the end of Multics did  mean losing the GE 635 computer   that they had been working with  up until then. Ken Thompson had   written up this little space game for  that computer called "Space Travel".
00:02:57
Space Travel was an ambitious game that simulated  the movement of the planets in the solar system   and Pluto. The player can guide a ship through  them and try to land on the planets ... and Pluto. A nice and mildly addicting game, but it  cost $50-75 to play each time - per the cost   of the computer timeshare. So when Thompson  found a graphics-capable PDP-7 minicomputer  
00:03:20
that another department wasn't using, he  decided in 1969 to rewrite the game for it. This turned out to be an ambitious project -  more so since Thompson had to re-implement from   scratch things like a debugging subsystem  and a floating point arithmetic package. The work took some time and had been  quite tedious - with the GE computer   OS outputting paper tapes that  had to be carried to the PDP-7.
00:03:45
## A File System After finishing that, Thompson thought  to then try implementing some ideas   that he had been banding around  with Dennis Ritchie and Canaday. They had been talking about a new type of file  system for the GE 635 computer - sketching   ideas for keeping files out of each other's  hair. Now quite familiar with the PDP-7,   he hacked out an implementation of  this file system in a day or two. From there, Thompson and others added  a series of simple utilities - copying,  
00:04:11
printing, deleting, and editing  files. As well as a simple command   interpreter - a shell - which was  a program that ran other programs. Over time, the concept of the "file"  coalesced. A file was an interface   through which you can perform certain  data operations like reading or writing.   But the File System itself doesn't  care what was actually in the file. In doing so, the concept abstracted away the  differences between various computer hardwares.  
00:04:38
Now anyone on any device can make changes to a  file - and this became one of Unix’s killer apps. In the summer of 1969, Ken Thompson's wife  took their newborn son to see her parents,   leaving Thompson with a lot of time. By the end of that summer, the whole thing  had been rewritten into something separate   from the original GECOS operating  system this whole journey started on.
00:05:02
They wouldn't have called it an  operating system back then. Back   then it was just seen as this convenient  platform for developing software on. Some time next year 1970, team member Brian  Kernighan suggested a new name for this system   - "Unics" - as a "treacherous pun" on Multics.  At some point, the spelling switched to "Unix". ## The Usefulness of Unix Unix on the PDP-7 offered a decent  environment on which you can do programming.
00:05:29
But the PDP-7 was an outdated minicomputer - first   introduced back in 1964. Not to  mention, it wasn't even theirs. So in 1970 they asked the  company for a DEC PDP-11,   which had then been recently introduced. Now,  Thompson, Ritchie and the team have long been   asking for money for a new computer but  those requests were always rejected.
00:05:53
This time, however, the request was  granted. In part because the PDP-11   was a cheaper computer at just $65,000. And  also in part the request now had a compelling   pitch attached to it - to apply the file system  for the use of creating and editing text files. Now with an actual use case, the  request was eventually approved.   Unix was rewritten for the PDP-11's  low level assembly language, now with  
00:06:17
a text editor and a typesetting  markup language called "roff". With this, the Unix operating system was offered  to the Bell Labs Patent Department. The Patent   Department chose to use Unix over the  competing commercial product because   Thompson and Ritchie quickly endowed "roff"  with the ability to do line-numbered pages. What began with just three typists in the Patent  Department became a popular homegrown product  
00:06:41
across the whole Bell Labs organization with  multiple versions and its own support group. ## Unix Spreads Unix had only ever been intended  as an internal tool for Bell Labs. However, it quickly escaped the laboratory  and started spreading widely throughout   the computing communities. Its unexpected  popularity can be attributed to a few things. First, Unix was born on relatively  humble hardware. Back then,  
00:07:06
the users of the hardware were  not the same as those buying it.   Programmers of the day had to make do  with whatever the budget could afford. A standard Unix computer back then  - usually a PDP-11/40 - cost about   $50-150,000 in 1977 dollars depending  on the memory configuration. Considering   a graduate student cost about  $10,000 back then it was a lot,  
00:07:30
but far cheaper than mainframes which might  have cost a half million dollars at the minimum. Second, the Unix source code  was written in an attractive,   higher-level programming language called  "C" - the first such OS like this. Dennis Ritchie had produced "C" from "B".  Ken Thompson created "B" when he ported   the Basic Combined Programming Language  or BCPL by Martin Richards at MIT. It  
00:07:54
was far easier to program in C than in  low-level machine assembly language. Because it was written in C, Unix was easy  to port to different hardware architectures   outside of the PDP minicomputer family. C  also made Unix easier to modify and enhance. Third and most importantly, Unix did not cost an   arm and a leg to acquire. AT&T and  Bell Labs sold the Unix source code  
00:08:19
to nonprofits like universities for  something like a few hundred dollars. This was in contrast to other software companies,   which zealously guarded their programs’  source code. And even if users were able   to see the code, they were not allowed  to modify it. Not the case with Unix. ## The AT&T Consent Decree This behavior wasn't exactly out of  Bell Labs' and AT&T's good heart.
00:08:43
Back in 1956, AT&T settled an anti-trust lawsuit   by the US government - the  1956 AT&T Consent Decree. The settlement decreed that in exchange for  a legal monopoly on the US telephone system,   AT&T would make available all of its  inventions to the academic community   at no charge, or license them  for fair and reasonable terms. The Consent Decree also barred AT&T from  entering the computer business - so a  
00:09:10
computer operating system like Unix  was not commercially useful for them. Funny enough, the Consent Decree had already  facilitated the spread of one ground-breaking   electronics invention a few decades earlier - the  transistor. And now it has done it for another. Whichever university asked for the Unix  source code from AT&T had it … or more like   had it thrown at them from out the window  of a passing truck. Wary of violating the  
00:09:36
Decree, AT&T managers shied away from  providing support to their licensees. Again, another piece of fortune because  it encouraged university students with   more cleverness and time than money to work  together implementing the features they wanted. By the early 1970s, Unix had gone worldwide.  University computers in Australia,   the United Kingdom, Belgium, and  the Netherlands were running it. ## Berkeley Unix
00:10:00
In November 1973, Ken Thompson and  Dennis Ritchie presented the first   Unix paper at the Symposium on Operating  Systems Principles at Purdue University. UC Berkeley Professor Bob Fabry was at  the talk and obtained a copy. Since Unix   then only ran on PDP minicomputers, several  departments pooled their resources to get one. A few graduates and professors started  working with it. And Ken Thompson himself  
00:10:26
joined Berkeley as a visiting professor in  1975 to help. He helped the team install   the latest Unix version - Version 6 - on  a newly acquired PDP 11/70 minicomputer. Two students in particular became quite  familiar with this Unix - Chuck Haley   and Bill Joy. They worked on finishing a  Pascal implementation that Thompson started,   which would allow Unix to support  this higher level language.
00:10:52
It turned out quite well, widely admired  because of its excellent error handling.   The Pascal implementation Thompson had apparently   did not turn out error messages that  were all that easy to understand. Haley and Joy also added a few utilities  including a very capable wysiwyg text editor   called "ex" for "EXtended". Ex later became  "vim", a text editor that some people like.
00:11:17
Word got around thanks to how well the Pascal  compiler recovered from errors and how fast   it compiled. People started requesting their  own copies of the Berkeley variant of Unix. So early in 1977, Bill Joy put together  30 copies of what he called the "Berkeley   Software Distribution" or BSD and sent them  out for about $50 per tape. From there it  
00:11:40
got quite popular, which made good money  for Joy since a tape cost like $10 each. A second version, "Second Berkeley Software  Distribution" or 2BSD, quickly followed. Then in 1978, DEC introduced a new  computer called the VAX-11/780,   a 32-bit computer with more memory and  compute power. AT&T released a version   of their own UNIX/32V for it, but it did not  support the VAX's virtual memory capabilities.  
00:12:09
This limited processing to the computer's  physical memory, diminishing its power. In a game-changing move, Bill Joy and  the Turkish grad student Ozalp Babaoglu   added that virtual memory feature and  shipped it in December 1979 as 3BSD. With this, Berkeley solidified its position as the   coordinating gateway for new,  leading edge Unix releases.
00:12:34
## DARPA & the Internet BSD then took another big leap thanks to DARPA. Up until then, DARPA ran on a legacy mishmash  of software written in different languages for   different computers. In 1979, DARPA  sought to consolidate to a single   "universal computing environment" so they can  share their software across the organization. They chose Unix to be that computing  environment because of how it capably   handled different hardware. In 1980,  Fabry received an 18-month contract  
00:13:03
from DARPA to add some features  to the 3BSD release of Unix. So he along with Bill Joy set up a new  organization called the Computer Systems   Research Group or CSRG for this. They had  a small group of core programmers - the   "steering committee" - coordinating a  global network of volunteer contributors,   working on the 4BSD or BSD Unix series.
00:13:29
This new Unix had to support several  of DARPA’s protocols including those   for the Internet. For instance, 4.2BSD  fully supported the Internet protocol   stack TCP/IP and played a significant role in  popularizing the Internet as we know it today. 4.2 was very popular. Over a thousand  licenses were issued just a month after   its official release in April 1983 -  more than all of the other previous  
00:13:54
distributions combined. Momentum was accelerating. ## From Hobby to Industry Prior to that release though  - in the summer of 1982 - Bill Joy announced that he would leave the CSRG  to join Sun Microsystems as a full-cofounder. His work at BSD was earning him  tens of thousands of dollars,   but he felt the academic university  atmosphere at Berkeley constrained   efforts to grow. In his own words, "it  needed to be a commercial activity".
00:14:24
Sun Microsystems is famous for  pioneering and popularizing the   workstation computer which included - Unix  OS with scientific/engineering applications,   the Motorola 68000 microprocessor,  and other off-the-shelf hardware. They later developed their own closed-source  Unix variant for their hardware - SunOS,   branched off from the 4.2BSD version of Unix.
00:14:49
A single Sun workstation by itself could not match  up with a mainframe or even a minicomputer. But   these things were meant to be networked, and  in doing so became immensely valuable. Sun in   turn reaped the benefits to become one of the  fastest growing companies in Silicon Valley. Sun quickly rose above, but they were far from the  only company to commercialize Unix. For instance,   we have the small, Berkeley-based  software company Mt. Xinu. They  
00:15:15
sold a commercially licensed version of  the BSD for the DEC Vax minicomputer. The interesting name fits well with its  slogan, "We know Unix(TM) backwards and   forwards". They handed out some pretty  fun posters and calendars at events. Other notable Unix-based startups  include Santa Cruz Operation,   which sold Unix variants for  x86 computers. And Onyx Systems,  
00:15:40
which marketed a variant of Unix  for Zilog-based Personal Computers. Even Microsoft got into the fun with their Unix  variant for 16-bit microcomputers called Xenix. And of course, we have Steve Jobs' workstation  computer startup - NeXT. Founded in 1985,   their operating system NeXTSTEP was derived  from BSD, 4.3BSD Tahoe if I recall correctly.
00:16:06
## Conclusion Unix pioneered these powerful concepts that helped  make software the powerhouse industry it is today. Its early development and foundations came  about through the efforts of people just   interested in it, not really making money from it. But Bill Joy clearly said the quiet part out  loud. As the community grew and its potential   became more apparent, the work surrounding  Unix needed to be a commercial activity.
00:16:31
1983 marks the end of Unix's awkward growth years.   A bounty of wealth laid seemingly  ahead for the Unix industry - but   who will reap its gains? The stage is set  for the blood and fury of the Unix Wars.
End of transcript