Case Study: Linux
1
Features of modern OS
To facilitate easy,
efficient, fair, orderly,
and secure use of
resources
– Provide a user
interface
– Organize files on disk
– Allocating resource to
different users with
security control
– Co-ordinate programs
to work with devices
and other programs
2
Before Linux
– In 80’s, Microsoft’s DOS was the dominated OS for
PC
– single-user, single-process system
– Apple MAC is better, but expensive
– UNIX is much better, but much much expensive.
Only for minicomputer for commercial applications
– People was looking for a UNIX based system, which
is cheaper and can run on PC
– Both DOS, MAC and UNIX are proprietary, i.e., the
source code of their kernel is protected
– No modification is possible without paying high
5 license fees
GNU project
– Established in 1984 by Richard Stallman, who
believes that software should be free from restrictions
against copying or modification in order to make
better and efficient computer programs
– GNU is a recursive acronym for “GNU's Not Unix”
– Aim at developing a complete Unix-like operating
system which is free for copying and modification
– Companies make their money by maintaining and
distributing the software, e.g. optimally packaging the
software with different tools (Redhat, Slackware,
Mandrake, SuSE, etc)
– Stallman built the first free GNU C Compiler in 1991.
6 But still, an OS was yet to be developed
ENG224
INFORMATION TECHNOLOGY – Part I
2. Operating System Case Study: Linux
Beginning of Linux
– A famous professor Andrew Tanenbaum developed
Minix, a simplified version of UNIX that runs on PC
– Minix is for class teaching only. No intention for
commercial use
– In Sept 1991, Linus Torvalds, a second year student
of Computer Science at the University of Helsinki,
developed the preliminary kernel of Linux, known as
Linux version 0.0.1
– It was put to the Internet and received
enormous response from worldwide
software developers
– By December came version 0.10. Still
7 Linux was little more than in skeletal form.
Linux Today
– Linux has been used for many computing platforms
– PC, PDA, Supercomputer,…
– Current kernel version 2.6.13
– Not only character user interface but graphical user
interface, thanks to the X-Window technology
– Commercial vendors moved in Linux itself to provide
freely distributed code. They make their money by
compiling up various software and gathering them in a
distributable format
– Red Hat, Slackware, etc
– Chinese distribution of Linux also appeared in Taiwan
and China - CLE, Red Flag Linux
9
Linux Pros and Cons
Advantages over Windows
– It's almost free to relatively inexpensive
– Source code is included
– Bugs are fixed quickly and help is readily available
through the vast support in Internet
– Linux is more stable than Windows
– Linux is truly multi-user and multi-tasking
– multiuser: OS that can simultaneously serve a number of users
– multitasking: OS that can simultaneously execute a number of
programs
– Linux runs on equipment that other operating systems
10 consider too underpowered, e.g. 386 systems, PDA, etc
Linux Pros and Cons (Cont)
Disadvantages compared with Windows
– Isn't as popular as Windows
– No one commercial company is responsible for Linux
– Linux is relatively hard to install, learn and use
Hence currently, Linux is mainly used in
commercial applications, server implementation
More than 75% current network servers are
developed based on Linux or Unix systems
– Due to the relatively high reliability
11
Case study: Linux
B. Linux System Architecture
9
INFORMATION TECHNOLOGY –
Operating System Case Study: Linux
Applications: Compilers, word processors, X-based GUI
AUI
LINUX Shell: Bourne Again (bash), TC, Z, etc.
Language libraries
API System call interface
Memory File Process
Kernel management management Management
Device Drives
BIOS
Computer Hardware
10
Kernel
– The part of an OS where the real work is done
System call interface
– Comprise a set of functions (often known as
Application Progarmmer’s Interface API) that can be
used by the applications and library routines to use
the services provided by the kernel
Application User’s Interface
– Interface between the kernel and user
– Allow user to make commands to the system
– Divided into text based and graphical based
11
Linux User Login
Linux is a multiuser OS
Allow multiple users to use the resource of a computer at
the same time
Every user needs to login the system with the password
provided to identify their right in using the resource
Require for both client-server based system or desktop
Linux
Server Mary Paul
Peter
Peter: admin
Paul : general
Mary : intruder Client-server based
: system
18
Linux User Interface
Traditional Linux (Unix also) uses command-
driven interface (or text-based interface)
– User needs to type lines of command to instruct the
computer to work, similar to DOS
– Advantage: fast in speed. Very few resource is
required for its implementation
– Disadvantages: user needs to type, hence can
easily make error. Besides, user needs to memorize
all commands
– Suitable for expert users and for the systems that
interaction with user is not frequent, such as servers
19
By adopting the X-Window technology, graphical user
interface (GUI) is available for Linux:
– Uses pointing devices (e.g. mouse) to control the
system, similar to Microsoft’s Windows
– Provide menu-driven and/or icon-driven interfaces
– menu-driven: user is provided with a menu of
choices. Each choice refers to a particular task
– icon-driven: tasks are represented by pictures
(icon) and shown to user. Click on an icon
invokes one task
– Advantages: No need to memorize commands.
Always select task from menus or icons
– Disadvantages: Slow and require certain resource
for its implementation
20 – Suitable for general users and systems, such as PC
Linux File System Structure
According to the File System Standard (FSSTND)
proposed in 1994, every LINUX system should
contain a set of standard files and directories
root / directories
bin lib lost+found mnt opt root sbin var
boot dev etc proc home tmp usr
file
… dlun guest bin lib local
fd hd hd group passwd
31