Chapter 1.3 - History and Evolution
Learning Objectives
At the end of this chapter, you will be able to:
- Understand the evolution from Unix to Linux
- Know the history of Linux
- Understand the role of Linus Torvalds
- Identify key steps in the adoption of Linux
Introduction
To fully understand Linux, it is important to know its history and evolution. Linux did not appear overnight but is the result of decades of evolution in operating systems.
The Evolution from Unix to Linux
Complete Timeline
Unix: The Origins (1969-1990)
Creation of Unix
1969 - AT&T Bell Labs:
- Ken Thompson and Dennis Ritchie
- Creation of Unix for the PDP-7
- Written in assembly then in C (1973)
- Philosophy: "Do one thing and do it well"
Characteristics:
- Multi-user
- Multi-tasking
- Hierarchical file system
- Philosophy of small tools
Evolution and Variants
1970s-1980s:
- BSD (Berkeley Software Distribution): University of California
- System V: Commercial version by AT&T
- Commercialization: High costs, restrictive licenses
Problem:
- Unix became expensive and proprietary
- Difficult access for students
- Need for a free alternative
GNU Project (1983)
Richard Stallman and the Free Software Foundation
1983 - Launch of the GNU Project:
- Objective: Create a free Unix-like operating system
- GNU: "GNU's Not Unix" (recursive)
- Philosophy: Free software (Free Software)
Components created:
- GCC (compiler)
- Bash (shell)
- Coreutils (utilities)
- But: No kernel (Hurd in development)
Minix (1987)
Educational System
Andrew Tanenbaum:
- Created Minix for teaching
- Based on Unix
- Source code available
- Limitation: Too simple, not for production
Role:
- Inspired Linus Torvalds
- Learning base
- Showed that a Unix-like system was possible
Birth of Linux (1991)
Linus Torvalds
Finnish student at the University of Helsinki:
- Used Minix but frustrated by its limitations
- Wanted a complete and free system
- Decided to create his own kernel
The First Post (August 25, 1991)
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Subject: What would you like to see most in minix?
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones...
Key message: "just a hobby, won't be big and professional"
Initial Development
1991:
- September 17: Version 0.01 released
- October 5: Version 0.02
- December: Version 0.11 (first usable version)
Characteristics:
- Kernel only (not a complete system)
- Compatible with Minix
- Written in C and assembly
- Initially proprietary license
Adoption of the GPL
1992:
- Linus adopts the GPL (GNU General Public License)
- Linux becomes truly free
- Compatible with GNU tools
- GNU/Linux: Complete system
Growth and Distributions (1990s)
Early Distributions
1993 - Debian:
- Ian Murdock
- Community distribution
- Stable and reliable
- Base for many other distributions
1994 - Red Hat:
- Marc Ewing and Bob Young
- Commercial distribution
- Enterprise support
- Popular in business
1994 - SUSE:
- German distribution
- Popular in Europe
- Enterprise version (SUSE Linux Enterprise)
1993 - Slackware:
- Patrick Volkerding
- Oldest active distribution
- Simple and minimalist
Growth
1990s:
- Adoption by developers
- Use on servers
- Growing community
- Continuous improvement
Massive Adoption (2000s)
Web Servers
LAMP Stack:
- Linux
- Apache
- MySQL
- PHP/Python/Perl
Result:
- Linux becomes standard for web servers
- 96% of the most important web servers
Ubuntu (2004)
Mark Shuttleworth:
- Distribution based on Debian
- Easy to use
- Popularization of Linux desktop
- Commercial support available
Cloud and Mobile (2010s)
Cloud Computing
2010s:
- AWS, Azure, GCP: Majority of Linux instances
- Cloud-native infrastructure
- Containers (Docker)
- Orchestration (Kubernetes)
Mobile
Android (2005-2008):
- Based on the Linux kernel
- 70%+ of the mobile market
- Billions of devices
Today (2020s)
Impressive Statistics
Figures:
- 100% of the top 500 supercomputers
- 96% of 1 million web servers
- 70%+ of the mobile market
- Millions of IoT devices
- Standard of cloud computing
Linus Torvalds Today
Role:
- Principal maintainer of the Linux kernel
- Important technical decisions
- Developer coordination
- "Benevolent Dictator for Life"
Philosophy:
- "Talk is cheap. Show me the code."
- Technical pragmatism
- Code quality
Summary
In this chapter, you learned:
Unix (1969): Origins, AT&T Bell Labs
GNU (1983): Free software, system tools
Minix (1987): Educational system, inspiration
Linux (1991): Linus Torvalds, free kernel
Distributions (1990s): Debian, Red Hat, SUSE
Adoption (2000s): Web servers, Ubuntu
Cloud/Mobile (2010s): AWS, Android
Today (2020s): Everywhere, industry standard
Next Steps
Chapter 1.4: High-Level Architecture
Chapter 1.5: Fundamental Concepts
Chapter created on: December 2024