An Introduction to Linux: History, Kernel, and Advantages
Explore the world of Linux, a powerful UNIX clone developed by Linus Torvalds. This introduction covers its history, creation by the GNU project, kernel design, and the difference between Linux and other UNIX-like systems. Understand the significance of the GPL for maintaining software freedom and discover the advantages and disadvantages of Linux as an operating system. Learn about POSIX compliance and why Linux is a preferred choice for servers, developers, and users seeking a stable and cost-effective platform.
An Introduction to Linux: History, Kernel, and Advantages
E N D
Presentation Transcript
Introduction to Linux • 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
What is Linux • 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
Penguin Power • 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
History • 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
The Kernel • Linux is not an Operating System • Linux is a kernel • A kernel is a program that allocates and controls hardware resources in a system • Linux Distrobutions use the Linux kernel together with the GNU Operating System
The Linux Kernel • 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
Design • 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
Other *NIX Kernels • 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
Isn't a GNU an Animal? • 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
What is the GNU GPL? • 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
Does the GPL Matter? • 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
So Unix Costs Money and GNU/Linux is Free • 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
POSIX? Another Operating System? • 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
POSIX cont... • 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/
Other POSIX OSes • IBM AIX • Sun Solaris • SGI IRIX • HP HP--UX • Compaq TRU64 UNIX
So Why Should I Use Linux? • 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
Advantages • 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
But it's hard to learn • 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
So You Are Ready to Take the Plunge • 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
Some Linux Basics • 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
Basics cont... • 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
6 Runlevels • Level 0 • Halt • Level 1 • Single User mode • Level 2 • Reserved • Level 3 • Full Mulituser • Level 4 • Reserved • Level 5 • Xwindows • Level 6 • Reboot
XWindows • 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
A Few Good Distros • Redhat • Mandrake • Suse • Lycoris • Gentoo • Knoppix
Hat's off • 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
Drako • 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
Tame the Lizard • 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
Perfection • 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
Knoppix • 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