This document provides an overview of the development of Linux and open source operating systems. It describes how Linux originated from earlier systems like UNIX and how Linus Torvalds released the first version in 1991. It also lists some of the major Linux distributions like Debian, Ubuntu, Fedora and compares characteristics of the Linux kernel to Windows.
2. By the end of this chapter, students will be able to:
1) Describe the development of Linux
2) State the benefits of Linux
3) Compare the characteristics between Linux kernel
and Microsoft Windows kernel
4) State the various Linux distributions
3. 3
1960, Early stage of computation
Mainframes are the “computers”
Innovating idea: Multi-programming & Multi-user
Create a multi-user & multi-program OS
1964, Multics
Multiplexed Information and Computing Service
GE, MIT and AT&T
Standard Operating System for USA government
4. 4
Many difficulties in Multics development
1969
AT&T pulled out of Multics
Ken Thompson
A simplified version of Multics UNIX
Dennis Ritchie
Rewrite the UNIX in C
AT&T cannot sell the UNIX
UNIX is the first free Operating System
5. 5
1974
Berkeley University buy a tape of UNIX
Student start code navigation
UNIX is customized and improved
They call the OS as BSD (Berkeley Software Distribution)
Now
BSD does NOT contain any code of AT&T
BSD 4.4, FreeBDS, NetBSD and OpenBSD
6. 6
1983, AT&T is splitted It can sell software
There is a great market for Operating System
Major hardware vendors need OS
AT&T is selling UNIX System v4 and licensing it
AIX for IBM, HP-UX for HP, …
BSD is a real danger for AT&T’s market
BSD is not supported
BSD should not be used in commercial
7. 7
AT&T sold UNIX as much as possible
Novel bought UNIX code and License
Novel sold the code and license after 2 years
Santa Cruz Operating System
Microsoft developed Xenix
Based on UNIX VIII
It was NOT successful
8. 8
1983, GNU project was started by Stallman
The goal is creating free UNIX-like
GNU’s kernel Hurd cannot attract attentions
9. 9
Tanenbaum developed free OS
Its name is Minix
Minix is based on UNIX
Source code available, Modification is restricted
It cannot run on 32bit processors
10. 10
Develop a free OS for 32bit (Intel) processors
Title of a Finnish student’s MS thesis
The student is Linus Benedict Torvalds
11. 11
Birthday
25 August 1991
Linux 0.02
It was developed in MINIX
It run on 80386 (32bit microprocessor)
It had a terminal emulator & C compiler
Linus posted the code to Minix mailing list
He requested feedback
12. 1) Reliability
The majority of Linux variants and versions are notoriously
12
reliable and can often run for months and years without
needing to be rebooted.
2) Scalability
Support Wide Range of Hardware
-Less memory
13. 3) Security
Linux programs are designed to operate in a more secure
manner as isolated processes.
Email attachments can’t be executed automatically, as are
ActiveX controls and other specially built virus files.
Linux (and Mac OS X) prevent any real damage occurring on
a system unless the user is logged in with the highest levels
of permissions as root or administrator.
14. Kernel???
Kernel is the main component of most computer operating
systems; it is a bridge between applications and the actual data
processing done at the hardware level.
14
A kernel connects the application software to
the hardware of a computer
15. Both Linux and Windows are monolithic
All core operating system services run in a shared address
space in kernel-mode
All core operating system services are part of a single
module
Linux: vmlinuz
Windows: ntoskrnl.exe
Windowing is handled differently:
Windows has a kernel-mode Windowing subsystem
Linux has a user-mode X-Windowing system
15
16. 16
Device
Drivers
Application
Linux
Process Management,
Memory Management,
I/O Management, etc.
X-Windows
System Services
Windows
User Mode
Kernel Mode
Hardware Dependent Code
Device
Drivers
Process Management,
Memory Management,
I/O Management, etc.
Win32
Windowing
Application
System Services
User Mode
Kernel Mode
Hardware Dependent Code
17. Linux is a monolithic but modular system
All kernel subsystems form a single piece of code with no
protection between them
Modularity is supported in two ways:
Compile-time options
Most kernel components can be built as a dynamically loadable
kernel module (DLKM)
17
DLKMs
Built separately from the main kernel
Loaded into the kernel at runtime and on demand (infrequently
used components take up kernel memory only when needed)
Kernel modules can be upgraded incrementally
18. Windows is a monolithic but modular system
No protection among pieces of kernel code and drivers
Support for Modularity is somewhat weak:
Windows Drivers allow for dynamic extension of kernel functionality
Windows XP Embedded has special tools / packaging rules that allow
coarse-grained configuration of the OS
Windows Drivers are dynamically loadable kernel modules
Significant amount of code run as drivers (including network stacks
such as TCP/IP and many services)
Built independently from the kernel
Can be loaded on-demand
Dependencies among drivers can 18
be specified
19. Both Linux and Windows kernels are portable
Mainly written in C
Have been ported to a range of processor architectures
19
Windows
i486, MIPS, PowerPC, Alpha, IA-64, x86-64
Only x86-64 and IA-64 currently supported
> 64MB memory required
Linux
Alpha, ARM, ARM26, CRIS, H8300, i386, IA-64, M68000, MIPS,
PA-RISC, PowerPC, S/390, SuperH, SPARC, VAX, v850, x86-64
DLKMs allow for minimal kernels for microcontrollers
> 4MB memory required
20. 20
Windows
Kernel exports about 250 system calls (accessed via ntdll.dll)
Layered Windows/POSIX subsystems
Rich Windows API (17 500 functions on top of native APIs)
Linux
Kernel supports about 200 different system calls
Layered BSD, Unix Sys V, POSIX shared system libraries
Compact APIs (1742 functions in Single Unix Specification
Version 3; not including X Window APIs)
21. • Linux distributions consists of the Linux kernel (the operating
system) and a collection of applications, together with an
easy-to-use installation program.
• Most people just say Linux to refer to a specific Linux
distribution.
• Each and every one of the Linux distribution includes the
standard Linux operating system and the following major
packages:
– The X Windows System – GUI
– One or more graphical desktop – among the most popular are GNOME
or KDE
– A selection of application – Linux programs come in the form of ready-to-
run software, but the source code is included (or easily available).
22. 1) Fedora Core
Official website:
wwwwww.fedoraproject.org