Introduction to Linux
Chapter 1
An Introduction to Linux
(Slides adopted from ict-innovation.fossfa.net)
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
Some key events in the history of linux
1969 – the dawn of time.
Ken Thompson and Dennis 1991 – Linus Torvalds starts
Ritchie write the first development of Linux as a
version of UNIX project to exploit the Intel
1987 -- Andrew Tanenbaum
386 architecture. Design is
writes Minix, a UNIX-like O/S
heavily influenced by Minix
that runs on PCs, mainly as a
and UNIX
teaching aid
1970 1980 1990 2000
1984 – Free Software Foundation
start work on the GNU project 1994-ish: Explosive growth
which results in a C compiler (gcc) of the Internet fosters wide-
and editor (emacs) and lots of spread growth of linux and
command line tools that mimic or the open source movement.
improve on their traditional
UNIX counterparts
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 Red Hat
XFree86 Server
openSuSE
KDE Desktop and toolset
ubuntu
Apache Web Server
Debian
Linux Kernel
Samba File/Print Server
Installation, configuration
and maintenance tools,
Many, many others plus support
How does linux differ from windows?
Linux Windows
Free, open-source software Proprietary
Window System is optional and has a Window system is not optional
client/server architecture and is tightly integrated
Runs on a wide variety of hardware Runs on PCs only
Supports multiple, simultaneous Intended to support one
interactive users interactive user
Linux licensing and what 'Free Software' means
The linux kernel and most linux applications are distributed under Open
●
Source licenses
A number of open source licenses have been developed
●
●
GPL (GNU Public License) 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 License)
●
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
Remote
Window Manager Application Application
(X Client) (X Client) (X Client)
X Server Network Remote Window
Manager
(X Client)
It's not unusual to run an X server
Screen, keyboard
on a Microsoft Windows
and mouse 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
●
The standard desktop supported by SuSE linux
Gnome Another modern, full featured desktop popular on linux. Used
●
by CentOS
Others: twm (part of the X distribution), mwm (motif window manager;
–
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, PowerPC, SPARC, Itanium, AMD64
●
Big Iron
– IBM z/series mainframe
RedHat and CentOS
Linux runs most of the web servers today
●
Many of the Enterprise systems run on RedHat Linux
●
CentOS is a stripped-down version of RedHat
●