2. What is Linux, and Who Created it?
GNU and the GPL
Unix/GNU, What is the Difference?
POSIX Compliance
Other POSIX Operating Systems
Uses of Linux
Advantages and Disadvantages
2
3. Linux is a UNIX clone
› It can run on 32 bit and 64 bit hardware
› Linux is a true multitasking environment
› Fully capable of taking advantage of multiple
processors
› Can address up to 64 GB of RAM
› Partial POSIX Compliance
3
4. Linux is free
› Anyone can download and compile the source
› The code can be modified by anyone provided the
modifications are released to the community
4
5. The history of Linux began with Unix in 1969
› Unix was created at Bell Labs with the goals:
Simplicity
Recycleable code
Written in C as opposed to assembly
Development started in 1991
› Linus Torvalds wanted to create a free
implementation of UNIX
› By 1993 there were 12000 Linux users
› Today Linux rivals UNIX in stability and
scalability
5
6. Linux is not an Operating System
Linux is a kernel
6
➲ Linux Distrobutions use the Linux kernel
together with the GNU Operating System
➲ A kernel is a program that allocates and controls
hardware resources in a system
7. The Linux kernel is currently maintained by Linus
Torvalds and a few hundred other developers
Releases are numbered in a very ordered
fashion.
› Major.minor.patchlevel
› Odd minor numbers are development kernels
› Thus
2.4.20 latest stable kernel
2.5.67 latest development kernel
Will become the 2.6 kernel
7
8. The Linux kernel has a monolithic design
The other approach is the microkernel
design
Both have their upsides and downsides
› Monolithic kernels
Easier to build and design
Generally faster
More recompiles
Less object oriented
› Micro kernels
Considered safer
Easier to develop drivers for
Only recompile for upgrades
Generally slower
Much harder to build and design
8
9. The BSD kernel
› This is the kernel used by the open source
BSD's
FreeBSD, OpenBSD, NetBSD
› It is neither GNU nor GPL
The GNU HURD
› Hird of Unix Replacing Daemons
› Hurd of Interfaces Representing Death
› The world's first doubly recursive acronym
› Micro kernel
› Not very functional
9
10. GNU stands for GNU Not Unix
The goal of GNU
› Create a free and complete UNIX-like operating
system
This has been in development since 1984
Towards this goal the GNU project has released:
GCC, GNU Emacs, Bash, to name a few
› For more information see the GNU Manifesto
http://www.gnu.org/gnu/manifesto.html
10
11. The GNU General Public License
› Ensures that GNU software stays free
› This is done through Copy Lefting
› Any modification to GPL software is required to
be released to the public
› Linux is released under the GPL
› Due to its restrictive nature the GPL has recently
come under fire
› http://www.linux.org.uk/GPL.html
11
12. Depends on your point of view
› Not as important for users
› Very important for developers
Any GPL code that is incorportated into a
program makes the entire program GPL
No closed source software can use any GPL
software
12
13. Essentially this is the case
› Both have the goals of POSIX compliance
› Commercial UNIXes are in general closer
This is generally in implementation, not in use
Commercial UNIXes generally perform
better in large systems
› But even this is difference is shrinking
The biggest difference is that UNIX is
trademarked and must be commericial—not
free
13
14. Nope, its yet another acronym
› Portable Operating System Interface
POSIX is a set of specifications
› Describes how the operating system should
behave
› Both to the user, and to other programs
POSIX was created to combat the plethora
of UNIXes that popped up in the 1980, all of
which had a different look and feel
14
15. The Open Group controls the UNIX
trademark
› They also release their own UNIX specification
The latest POSIX specification has been
merged with the Open Group's UNIX
specification
For more information see:
› http://www.pasc.org
› http://www.opengroup.org/
15
16. IBM AIX
Sun Solaris
SGI IRIX
HP HP--UX
Compaq TRU64 UNIX
16
17. As a server platform
› few other operating systems can match Linux in:
Performance
Price
Stability
For Developers
› Resources:
Linux has a tremendous number of tools available
for developers. And they are all free.
For the Desktop
› It's fun
17
18. Linux is free
› Can't say that enough
› It's great for poor college students
Learning Linux means learning UNIX, and
UNIX is the largest server platform in the
world
Community
› The Linux community is very active and helpful
› This makes support very rapid
18
19. Linux is much harder than Windows
It's harder to use than Windows
It lacks all those great automated installation
tools
You have to manually configure hardware
There is lots of hardware out there that just won't
run in Linux
19
20. What do I need to know?
› Not all distros are the same
Linux From Scratch is a bad starting place
› Internet Resources
www.linux.org
www.tldp.org
www.justlinux.org
www.desktoplinux.org
What distro should I start with?
› Redhat
› Mandrake
› Suse
20
21. File System
› Linux is much more hierarcal than Windows
Everything starts at the root
/
Boot -- contains the kernel and system map
Bin -- contains the basic system binaries
Dev -- all the device entries
Etc -- can't think of any other place to put it
Home -- where all the users live
Lib -- system libraries
Mnt -- place to mount filesystems
Proc -- system information
Root -- the root user's home
Sbin -- system binaries
Usr -- where user accessible programs go
Var -- logs and such
21
22. CLI
› The command line interface
› Bash is the most common shell
› The CLI in Linux is quite useable
Navigation
› ls -- lists files and directories
› cd -- changes directories
› rm -- removes files
› Navigation switches
Most programs have options that you can pass to
them via switches, for ex. ls -h gives you all the
options that ls can take and what they do
22
23. Level 0
Halt
Level 1
Single User mode
Level 2
Reserved
Level 3
Full Mulituser
Level 4
Reserved
Level 5
Xwindows
Level 6
Reboot
23
24. Linux Graphical Environment
Invoked via the startx command
› Two major environments
KDE
Gnome
› The difference is primarily in philosophy
Redhat trys to erase the differences with Bluecurve
Does everything Windows does and more
24
26. Redhat
› Pros
Easy install
Tons of graphical tools
Great hardware support
One of the most mature distros
› Cons
It's slow
Their stock kernel is somewhat bloated
Installs files in non-standard directories
Not customizeable
26
27. Mandrake
› Based on Redhat
› Modified to suit desktop systems more than
Redhat
› Supports that funky DVD Decoder Card you
have to use
› More on the edge than Redhat
› Uses a modified kernel
27
28. Suse
› Pros
Avoids much of the bloat of Redhat and Mandrake
Great hardware support
The easiest Linux installation I have ever had
› Cons
Still hard to customize
28
29. Gentoo
› Pros
Builds Linux from scratch, optimizing for the architecture
of your PC
Blazing speed
Highly customizeable
User Forums are a great place for support
Runs Quake and Unreal Tournament 2003 out of the box
Has a kernel specifically modified for gamers
› Cons
Can be overwhelming
Takes a long time to build
Do not trip over the power cable while it is building
29
30. Self contained
Can boot almost any pc that supports cdrom
booting
Settings can be stored locally or on USB
pen drive
Great to learn on
Does not require resizing partions or wiping
drives
30