Top Banner
A History of Linux Damian Gordon
31

Operating Systems: A History of Linux

Apr 05, 2017

Download

Education

Damian Gordon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Operating Systems: A History of Linux

A History of Linux

Damian Gordon

Page 2: Operating Systems: A History of Linux
Page 3: Operating Systems: A History of Linux
Page 4: Operating Systems: A History of Linux

Desktop market share (8/2/2016)

1.47%

Page 5: Operating Systems: A History of Linux

Prehistory of Linux

• The Unix operating system was developed by Ken Thompson and Dennis Ritchie of AT&T Bell Laboratories in 1969 and first released in 1970.

Page 6: Operating Systems: A History of Linux

Prehistory of Linux

• In 1977 the University of California, Berkeley released a free UNIX-like system, Berkeley Software Distribution (BSD). But BSD contained Unix code, so AT&T sued.

Page 7: Operating Systems: A History of Linux

Prehistory of Linux

• In 1983, Richard Stallman started the GNU project to create a free UNIX-like operating system. Hurd (the GNU kernel) failed to attract enough developers, leaving GNU incomplete.

Page 8: Operating Systems: A History of Linux

Prehistory of Linux

• In 1987 Andrew S. Tanenbaum released MINIX, a Unix-like system intended for academic use. While source code for the system was available, modification and redistribution were restricted.

Page 9: Operating Systems: A History of Linux
Page 10: Operating Systems: A History of Linux

Linus Benedict Torvalds

• Born: December 28, 1969 (age 45)

• Born in Helsinki, Finland• Chief developer on the

Linux kernel• Created the revision

control system Git• 2014 IEEE Computer

Society Computer Pioneer Award

Page 11: Operating Systems: A History of Linux

Linux

• Torvalds made the code of Linux freely available to everyone on the internet, and therefore lots of people created their own versions of Linux.

Page 12: Operating Systems: A History of Linux

Linux

• Linux is therefore an example of Open-source software, in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose. Open-source software is often developed in a public, collaborative manner.

Page 13: Operating Systems: A History of Linux

2011V3

1992V0.01

1996V2

1994V1

Timeline of Linux

2015V4

Page 14: Operating Systems: A History of Linux

1993Debian

2011V3

1992V0.01

1993Slackware

1994SUSE

1996V2

2004Ubuntu

1995Red Hat

2006Oracle

2003Fedora

2000Knoppix

2006Alpine

2004CentOS

2002Arch

2011Mageia

2002Gentoo

2008Android

2008Musix

1994V1

Timeline of Linux

2015V4

Page 15: Operating Systems: A History of Linux

Timeline of Linux

Page 16: Operating Systems: A History of Linux

Timeline of Linux

Page 17: Operating Systems: A History of Linux
Page 18: Operating Systems: A History of Linux

Kernel

Page 19: Operating Systems: A History of Linux

Kernel Shell

Page 20: Operating Systems: A History of Linux

Shell

Kernel

Page 21: Operating Systems: A History of Linux

Commands

Shell

Kernel

Hardware

Page 22: Operating Systems: A History of Linux

V0.01

• Not a mature product at the time• Minix-like kernel for i386(+) based AT-

machines

September1991

Efficiently using the 386 chip, use of system calls

rather than message passing, a fully multi-threaded FS, minimal task switching, and

visible interrupts

Page 23: Operating Systems: A History of Linux

V1.0

• Allowed Multi-programming – multiple programs run at the same time.

• Virtual Memory management supported

March1994

Linux is highly backwards compatible, so if a program

worked in any version of Linux it will work on all

versions of Linux.

Page 24: Operating Systems: A History of Linux

V2.0

• Restructured memory management and improvements in task scheduling

• Improved SCSI support

June1996

Increased networking protocols. Filesystem

support for NCP (Novell) and SMB (MS Lan

Manager, etc.) network filesystems added.

Page 25: Operating Systems: A History of Linux

V3.0

• Better handling of virtualization systems• Btrfs data scrubbing and automatic

defragmentation

July2011

Not a major change in kernel concept, but

started a new version number to mark the 20th

anniversary of Linux

Page 26: Operating Systems: A History of Linux

V4.0

• A *fairly* small release, some VM clean-ups• The unification of the PROTNONE and NUMA

handling for page tables.

12th April2015

Some people advocatedthe 4.0 version number, to

eventually see 4.1.15 - because "that was the

version of Linux SkyNet used for the T-800 Terminator".

Page 27: Operating Systems: A History of Linux

V4.10

• A small release by Linus Torvalds, on device drivers, some architecture work, some file systems fixes and some network issues.

15th January, 2017

Page 28: Operating Systems: A History of Linux

V4.0 Version

Original release

dateCurrent Version

Support Model

4.0 12 April 2015 4.0.9 Maintained from April 2015 to July 2015

4.1 22 June 2015 4.1.38 Maintained from July 2015 to September 2017

4.2 30 August 2015 4.2.8 Maintained from August 2015 to December 2015

4.3 1 November 2015 4.3.6 Maintained from November 2015 to February 2016

4.4 10 January 2016 4.4.44 Maintained from January 2016 to February 2018

4.5 13 March 2016 4.5.7 Maintained from March 2016 to June 2016

Page 29: Operating Systems: A History of Linux

V4.0

VersionOriginal release

dateCurrent Version

Support Model

4.6 15 May 2016 4.6.7 Maintained from May 2016 to August 2016

4.7 24 July 2016 4.7.10 Maintained from July 2016 to October 2016

4.8 25 September 2016 4.8.17 Maintained from

September 2016 to January 2017

4.9 11 December 2016 4.9.5 Latest mainline release

4.10 15 January 2017 4.10-rc4 Latest unstable release

Page 30: Operating Systems: A History of Linux

Design Goals of Linux

• The three design goals of Linux are:

– Modularity– Simplicity– Portability

Page 31: Operating Systems: A History of Linux

Design Goals of Linux• Linux supports:

– Multiple processes– Multiple platforms– Multiple users– Inter-process communications– Terminal management– Peripheral devices– Buffer cache– Demand paging memory management– Dynamic and Shared libraries– Disk partitions– Network protocol (TCP/IP and others)