Chapter 1: An Introduction to Linux
Chapter 1 An Introduction to Linux
Last revision date: 20/6/2004
Chapter 1 Outline
In this chapter we will learn about:
Some of the key events in the history of Linux The major components of a linux distribution How linux is licensed How Linux differs from Windows and Netware The SuSE Product Line
Some key events in the history of linux
1969 the dawn of time. Ken Thompson and Dennis Ritchie write the first version of UNIX 1987 -- Andrew Tanenbaum writes Minix, a UNIX-like O/S that runs on PCs, mainly as a teaching aid
1991 Linus Torvalds starts development of Linux as a project to exploit the Intel 386 architecture. Design is heavily influenced by Minix and UNIX
1970
1980
1984 Free Software Foundation start work on the GNU project which results in a C compiler (gcc) and editor (emacs) and lots of command line tools that mimic or improve on their traditional UNIX counterparts
1990
2000
1994-ish: Explosive growth of the Internet fosters widespread growth of linux and the open source movement.
The history of Linux (continued)
Linux began life in 1991
Linus Torvalds wrote the original Linux operating system as a hobbyist exercise in exploiting the new Intel 386 memory architecture Influenced by Minix, an operating system written by Torvald's professor Andy Tanenbaum as a teaching aid, which was in turn based on UNIX Not derived from UNIX source code but deliberately UNIX-compatible
Contributions come from many other developers
Free Software Foundation wrote bash shell, gcc compiler, many other command line tools, distributed under the GNU 'brand name'
Like UNIX before it, linux was not originally conceived as a 'product'
Linux distributions
Strictly speaking, 'linux' refers only to the operating system kernel
In practice, linux distributions include hundreds of additional items of software from dozens of development teams
In theory, all the pieces can be downloaded from the internet free of charge and assembled into a working system
In practice this is hard work
Most users purchase a pre-built distribution
Snapshot of compatible versions of all components
Vendors such as RedHat and SuSE add value in several ways:
Installation and configuration tools Supported ports of Linux to non-PC architectures (eg IBM mainframes) Retail products include printed manuals and limited installation support Enterprise products provide full support agreements and pro-active upgrade mechanisms
The components of a linux distribution
GNU Command Line Tools XFree86 Server KDE Desktop and toolset
RedHat
SuSE
Mandrake Apache Web Server Debian Linux Kernel Samba File/Print Server Many, many others
Installation, configuration and maintenance tools, plus support
How does linux differ from windows?
Linux Free, open-source software Window System is optional and has a client/server architecture Runs on a wide variety of hardware Supports multiple, simultaneous interactive users Proprietary
Windows Window system is not optional and is tightly integrated Runs on PCs only Intended to support one interactive user
Linux licensing and what 'Free Software' means
The linux kernel and most linux applications are distributed under Open Source licences A number of open source licences have been developed
GPL (GNU Public Licence) is the best known and is often adopted by software developers who do not have the skill or interest to develop their own licenses LGPL (Lesser General Public Licence) Many others ... see www.gnu.org/licenses/license-list.html
Freedom of software refers to liberty not price
Freedom to run the program Freedom to study the program and adapt it for your needs Freedom to redistribute copies Freedom to improve the program and release the improvements See www.opensource.org for a more detailed definition
X Window system
The X window system (also called X11 or simply X) was developed in 1984 at MIT
Design goal was a platform- and hardware-independent window system Structured as a client/server architecture
The X server runs on the machine that the graphics display, keyboard and mouse is connected to
Accepts commands from clients to draw windows, text, graphics, etc Also makes keyboard and mouse input available to clients Provides mechanism, not policy (i.e. does not determine look-and-feel) SuSE Linux uses an implementation called XFree86 version 4
X clients (applications that require a graphical user interface) connect to an X server
Client may be on same machine as server, or on a different machine
X Window system architecture
Window Manager (X Client)
Application (X Client)
Remote Application (X Client)
X Server
Network
Remote Window Manager (X Client)
Screen, keyboard and mouse
It's not unusual to run an X server on a Microsoft Windows desktop (eg Hummingbird) to provide access to graphical desktops and applications running on Linux systems
Window managers and desktops
A window manager is an important X client application, supporting:
Starting applications via menus,etc Moving, resizing, opening, and closing windows Some window managers support multiple virtual desktops
The window manager is partly responsible for establishing a look and feel of the linux desktop
It is usually supplemented by a set of desktop tools, such as a launch bar, graphical file manager, web browser, clock, calculator, mail user agent, scheduler, etc.
The are several window manager / desktop toolsets for Linux:
KDE Gnome Others: manager;
The standard desktop supported by SuSE linux Another modern, full featured desktop popular on linux twm (part of the X distribution), mwm (motif window used to be popular on Solaris), icewm, fvwm2, ...
The X Window System is optional
The X window system is not an integral part of the operating system
Linux can run with no windowing system or graphical applications Many servers are run this way
Configured and administered entirely using command-line tools
Saves on disk space, memory and CPU cycles
Linux is multi-user
Like later versions of windows, linux supports a user login
Authenticated by a password
Linux supports multiple simultaneous logins
One on the main console, possibly running a graphical desktop Several via character terminals connected to serial ports Many via network logins using telnet, rlogin, or ssh
All users have full command line access Multiple graphical logins are also possible
Each user has an independent desktop This capability is inherent in the client/server architecture of the X window system
Underlying operating system supports pre-emptive multi-tasking
Linux runs on a wide variety of hardware
Embedded linux
Phones, set-top boxes, PDAs, PC104 and other single board computers ARM, MIPS processors, etc. Specialist market, commercial support from companies like Montavista
Mainstream (32-bit and 64-bit)
Intel pentium, PowerPC, SPARC, Itanium, AMD64
Big Iron
IBM z/series mainframe