The Rise of Unix. The Seeds of its Fall.
Summary
TLDRThe video script narrates the history of Unix, from its inception as a solution to hardware-dependent code, through the Multics project, to its development by Bell Labs scientists Ken Thompson and Dennis Ritchie. It highlights Unix's spread through academic and computing communities, its revolutionary impact on the software industry, and the commercialization of Unix by companies like Sun Microsystems, leading to the rise of a powerful tech industry.
Takeaways
- 🚀 The inception of Unix was a response to the need for a platform that could develop software capable of handling different hardware efficiently and economically.
- 🎯 Unix's roots can be traced back to the Multics project, which aimed to create a general-purpose utility for sharing computer time among multiple users.
- 🌐 The Multics project was eventually abandoned due to slow progress and high costs, but the core ideas and team members lived on, leading to the creation of Unix.
- 🎮 Ken Thompson's space game 'Space Travel' was a catalyst for Unix's development, as it prompted the need to rewrite the game for a different computer system.
- 🔧 Unix's innovative file system and utilities abstracted away hardware differences, allowing users on any device to make changes to files, which became one of its defining features.
- 📈 Unix's popularity grew rapidly due to its affordability, ease of use, and the fact that it was written in the higher-level programming language 'C', which facilitated portability and modification.
- 📚 The AT&T Consent Decree played a significant role in Unix's spread by requiring AT&T to make its inventions available to the academic community at low or no cost.
- 🌍 Berkeley Unix, developed at UC Berkeley, introduced important features like virtual memory and became a leading edge Unix release, influencing the development of the Internet.
- 💡 DARPA's adoption of Unix as its universal computing environment further solidified Unix's role in networking and the development of Internet protocols.
- 🏢 The commercialization of Unix led to the rise of companies like Sun Microsystems, which played a key role in popularizing workstation computers and networking.
- 🛠️ Unix's evolution from a hobbyist project to a commercial industry reflects the growing recognition of software's potential as a powerful industry.
Q & A
What was the primary motivation behind the creation of Unix?
-The primary motivation behind the creation of Unix was the need for a platform that could develop software capable of handling different hardware without the need to rewrite the code every time the computer was upgraded or changed.
What was the original project that led to the development of Unix?
-The original project that led to the development of Unix was called 'Multiplexed Information and Computing Service' (Multics), a collaboration between scientists from Bell Labs, MIT, and General Electric.
What significant concept did the Multics project introduce that is still used today?
-The Multics project introduced the concept of virtual memory, which allows secondary storage like a hard drive to be used as if it were part of the main memory (RAM), enabling the computer to handle more data.
Why did Bell Labs pull out of the Multics project?
-Bell Labs pulled out of the Multics project due to the slow progress, excessive spending, and the absence of a workable product, as the project was following a vague plan with too few people involved.
How did the game 'Space Travel' contribute to the development of Unix?
-The game 'Space Travel', written by Ken Thompson, was originally designed for the GE 635 computer. When the Multics project ended and the team lost access to the GE 635, Thompson rewrote the game for a graphics-capable PDP-7 minicomputer, which led to the development of a new file system and eventually Unix.
What was the significance of the file system developed by Ken Thompson and his team?
-The file system developed by Ken Thompson and his team was significant because it abstracted away the differences between various computer hardwares, allowing anyone on any device to make changes to a file, which became one of Unix's key features.
Why was Unix's source code made available to universities at a low cost?
-Unix's source code was made available to universities at a low cost due to the 1956 AT&T Consent Decree, which required AT&T to make its inventions available to the academic community at no charge or license them for fair and reasonable terms as part of a legal settlement in an anti-trust lawsuit.
How did the Berkeley Software Distribution (BSD) contribute to the spread of Unix?
-The Berkeley Software Distribution (BSD) contributed to the spread of Unix by adding new features and utilities, such as a Pascal implementation and a wysiwyg text editor called 'ex', which later became 'vim'. This made BSD a popular variant of Unix that was widely requested and distributed.
What role did Unix play in the development of the Internet?
-Unix played a significant role in the development of the Internet as it was chosen by DARPA to be the universal computing environment for their organization. The Unix 4.2BSD fully supported the Internet protocol stack TCP/IP, which was crucial in popularizing the Internet as we know it today.
How did the commercialization of Unix impact the industry?
-The commercialization of Unix led to the growth of the software industry and the creation of numerous companies that developed and marketed Unix-based systems. It transformed Unix from a hobbyist and academic tool into a commercial product that powered the rapid growth of Silicon Valley and the technology sector.
What were some of the companies that commercialized Unix and contributed to its spread?
-Some of the companies that commercialized Unix and contributed to its spread include Sun Microsystems, which popularized workstation computers with Unix OS; Mt. Xinu, which sold a commercially licensed version of BSD for DEC Vax minicomputers; Santa Cruz Operation, which sold Unix variants for x86 computers; and NeXT, which was founded by Steve Jobs and derived its operating system NeXTSTEP from BSD.
Outlines
🚀 The Birth and Evolution of Unix
This paragraph discusses the origins of Unix, a revolutionary operating system. It begins with the challenges of software development in the early days, where changing hardware required rewriting code. The need for a versatile, cost-effective platform led to the creation of Unix. The narrative then delves into the beginnings of Unix, with the Multics project at Bell Labs, MIT, and General Electric, aiming to develop a general-purpose utility for sharing computer time. The evolution of time-sharing systems and the development of concepts like virtual memory are highlighted. The paragraph also covers the end of the Multics project and the birth of Unix from the efforts of Ken Thompson, Dennis Ritchie, and their team, who continued to work on the project despite the official withdrawal of their institutions.
🛠️ Unix's Development and Naming
This section details the development of Unix on the PDP-7 minicomputer and the eventual naming of the system. It explains how the team behind Unix, including Ken Thompson and Dennis Ritchie, created a new file system and utilities for the system. The paragraph also discusses the transition from the PDP-7 to the DEC PDP-11, which was more modern and led to the rewriting of Unix with additional features like a text editor and a typesetting markup language called 'roff'. The adoption of Unix by the Bell Labs Patent Department and its subsequent spread across the organization is also covered, highlighting the system's practical applications and growing popularity.
🌐 The Spread of Unix and Its Impact
This paragraph explores the spread of Unix beyond Bell Labs and its impact on the computing community. It discusses how Unix's humble beginnings on accessible hardware, its source code written in the higher-level C language, and its affordability contributed to its widespread adoption. The paragraph also touches on the AT&T Consent Decree, which inadvertently facilitated the spread of Unix by requiring AT&T to make its inventions available to the academic community. The global reach of Unix by the early 1970s and the emergence of Berkeley Unix as a significant variant are also highlighted, showcasing the collaborative efforts that led to its enhancement and the establishment of Unix as a leading-edge operating system.
💼 The Commercialization of Unix
This section delves into the commercialization of Unix, starting with the Berkeley Software Distribution (BSD) and its evolution. It describes how the Unix variant developed at UC Berkeley, with contributions from individuals like Chuck Haley and Bill Joy, gained popularity. The paragraph covers the creation and distribution of BSD, the introduction of virtual memory with 3BSD, and the pivotal role of DARPA in consolidating Unix as a universal computing environment. The narrative then shifts to the transition of Unix from an academic and hobbyist tool to a commercial product, with notable figures like Bill Joy moving to Sun Microsystems and the rise of various Unix-based startups, setting the stage for the Unix Wars and the future growth of the industry.
🌟 The Legacy of Unix in the Tech Industry
This final paragraph reflects on the legacy of Unix and its profound influence on the tech industry. It emphasizes the grassroots nature of Unix's early development, driven by enthusiasts rather than profit motives. The paragraph highlights the pivotal moment when Bill Joy recognized the need for commercial activity around Unix, leading to its transformation into a significant industry. The conclusion marks the end of Unix's formative years in 1983, setting the stage for the upcoming battles in the Unix Wars and hinting at the immense potential for wealth and innovation that lay ahead for those involved in the Unix ecosystem.
Mindmap
Keywords
💡code
💡operating system
💡Unix
💡Multics
💡virtual memory
💡file system
💡C programming language
💡AT&T Consent Decree
💡Berkeley Unix
💡DARPA
💡workstation computer
Highlights
The initial need for a platform to develop software capable of handling different hardware without expensive rewrites.
The creation of Unix as a response to the inefficiencies of the Multics project.
Ken Thompson and Dennis Ritchie's development of a new file system and utilities on the PDP-7 minicomputer.
The concept of virtual memory, allowing computers to handle more data than their physical RAM.
The birth of Unix from the rewrite of the Space Travel game on the PDP-7.
The abstraction of the file system to work across different computer hardwares.
The emergence of Unix as a popular platform for software development within Bell Labs.
The spread of Unix beyond Bell Labs due to its affordability and usability on humble hardware.
Unix's source code being written in C, making it portable and easy to modify.
AT&T's Consent Decree inadvertently facilitating the spread of Unix by requiring it to be made available to the academic community.
Berkeley Unix's development and enhancement, including the addition of virtual memory and the Pascal implementation.
The pivotal role of 4.2BSD in popularizing the Internet through full support of the TCP/IP protocol stack.
The commercialization of Unix, with companies like Sun Microsystems and NeXT leveraging it for significant industry impact.
The rise of Unix-based startups and the diversification of Unix variants for different hardware platforms.
The historical significance of Unix in shaping the modern software industry and its transition from hobbyist to commercial activity.
The anticipation of the Unix Wars, setting the stage for intense competition and innovation in the Unix industry.
Transcripts
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
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.
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.
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
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.
## 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.
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".
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
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.
## 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,
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.
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.
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.
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.
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
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
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,
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,
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
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
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.
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
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
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
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
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.
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.
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
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.
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.
## 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
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.
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
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".
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.
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
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,
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.
## 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.
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.
Browse More Related Video
UNIX: Making Computers Easier To Use -- AT&T Archives film from 1982, Bell Laboratories
Dennis Ritchie's video interview June 2011 by DennisRitchie.in
Evolution of Unix and Linux Operating Systems
جلسه اول - دوره آموزش زبان برنامه نویسی C | سطح مقدماتی - متوسط
C_01 Introduction to C Language | C Programming Tutorials
The Birth, Boom and Bust of the Hard Disk Drive
5.0 / 5 (0 votes)