-
毕业设计说明书
英文文献及中文翻译
学生姓名:
学号:
1021040330
学
院:
软件工程
专
业:
指导教师:
2014
年
6
月
Introduction to
Linux
1.1 History
1.1.1 UNIX
In order to
understand the popularity of Linux, we need to
travel back in time, ab
out 30 years
ago...
Imagine computers as big as
houses, even stadiums. While the sizes of those
com
puters posed substantial problems,
there was one thing that made this even worse:
eve
ry computer had a different
operating system. Software was always customized
to ser
ve a specific purpose, and
software for one given system didn't run on
another system.
Being able to work with
one system didn't automatically mean that you
could work w
ith another. It was
difficult, both for the users and the system
administrators.
Computers were
extremely expensive then, and sacrifices had to be
made even after th
e original purchase
just to get the users to understand how they
worked. The total cost
of IT was
enormous.
Technologically the world
was not quite that advanced, so they had to live
with t
he size for another decade. In
1969, a team of developers in the Bell Labs
laboratories
started working on a
solution for the software problem, to address
these compatibility
issues. They
developed a new operating system, which was
simple and elegant
written
in the C programming language instead of in
assembly code
able to recycle code.
The Bell Labs developers named their
project
The code recycling features
were very important. Until then, all commercially
av
ailable computer systems were written
in a code specifically developed for one
system
. UNIX on the other hand needed
only a small piece of that special code, which is
now
commonly named the kernel. This
kernel is the only piece of code that needs to be
ad
apted for every specific system and
forms the base of the UNIX system. The
operating
system and all other
functions were built around this kernel and
written in a higher pr
ogramming
language, C. This language was especially
developed for creating the UNI
X system. Using this new
technique, it was much easier to develop an
operating syste
m that could run on many
different types of hardware.
The
software vendors were quick to adapt, since they
could sell ten times more s
oftware
almost effortlessly. Weird new situations came in
existence: imagine for insta
nce
computers from different vendors communicating in
the same network, or users w
orking on
different systems without the need for extra
education to use another compu
ter. UNIX
did a great deal to help users become compatible
with different systems.
Throughout
the next couple of decades the development of UNIX
continued. Mo
re things became possible
to do and more hardware and software vendors added
suppo
rt for UNIX to their products.
UNIX was initially found only in very
large environments with mainframes and
minicomputers (note that a PC is a
, for the government or for large
financial corporations in order to get your hands
on a
UNIX smaller computers were being
developed, and by the end of the 80'
s,
many people had home computers. By that time,
there were several versions of UNI
X
available for the PC architecture, but none of
them were truly free.
1.1.2 Current application of Linux
systems
Today Linux has joined the
desktop market. Linux developers concentrated on
ne
tworking and services in the
beginning, and office applications have been the
last barr
ier to be taken down. We don't
like to admit that Microsoft is ruling this
market, so ple
nty of alternatives have
been started over the last couple of years to make
Linux an ac
ceptable choice as a
workstation, providing an easy user interface and
MS compatible
office applications like
word processors, spreadsheets, presentations and
the like.
On the server side, Linux
is well-known as a stable and reliable platform,
providi
ng database and trading services
for companies like Amazon, the well-known online
b
ookshop, US Post Office, the German
army and such. Especially Internet providers
an
d Internet service providers have
grown fond of Linux as firewall, proxy- and web
ser
ver, and you will find a Linux box
within reach of every UNIX system administrator
who appreciates
a comfortable management station. Clusters of
Linux machines are u
sed in the creation
of movies such as
ey are the nerve
centers that route mail and in large search
engine, clusters are used to
perform
internet are only a few of the thousands of
heavy-duty jobs th
at Linux is
performing day-to-day across the world.
It is also worth to note that modern
Linux not only runs on workstations, mid-
an
d high-end servers, but also on
d applications and even on experimental
wristwatches. This makes Linux the only
ope
rating system in the world covering
such a wide range of hardware.
1.2 The user interface
1.2.1 Is Linux difficult?
Whether Linux is difficult to learn
depends on the person you're asking.
Experien
ced UNIX users will say no,
because Linux is an ideal operating system for
power-use
rs and programmers, because it
has been and is being developed by such people.
Everything a good programmer can wish
for is available: compilers, libraries,
develop
ment and debugging tools. These
packages come with every standard Linux
distributi
on. The C-compiler is
included for free, all the documentation and
manuals are there,
and examples are
often included to help you get started in no time.
It feels like UNIX
and switching
between UNIX and Linux is a natural thing.
In the early days of Linux, being an
expert was kind of required to start using
the
system. . It was common practice to
tell a beginning user to
ls). While the
manuals were on every system, it was difficult to
find the documentatio
n, and even if
someone did, explanations were in such technical
terms that the new us
er became easily
discouraged from learning the system.
The Linux-using community started to
realize that if Linux was ever to be an
imp
ortant player on the operating
system market, there had to be some serious
changes in
the accessibility of the
system.
1.2.2 Linux for non-experienced users
Companies such as RedHat, SuSE and
Mandrake have sprung up, providing
pack
aged Linux distributions suitable
for mass consumption. They integrated a great deal
o
f graphical user interfaces (GUIs),
developed by the community, in order to ease
mana
gement of programs and services. As
a Linux user today you have all the means of
get
ting to know your system inside out,
but it is no longer necessary to have that
knowle
dge in order to make the system
comply to your requests.
Nowadays you
can log in graphically and start all required
applications without e
ven having to
type a single character, while you still have the
ability to access the core
of the
system if needed. Because of its structure, Linux
allows a user to grow into the
system:
it equally fits new and experienced users. New
users are not forced to do diffi
cult
things, while experienced users are not forced to
work in the same way they did w
hen they
first started learning Linux.
While
development in the service area continues, great
things are being done for
desktop
users, generally considered as the group least
likely to know how a system wo
rks.
Developers of desktop applications are making
incredible efforts to make the mos
t
beautiful desktops you've ever seen, or to make
your Linux machine look just like yo
ur
former MS Windows or MacIntosh workstation. The
latest developments also inclu
de 3D
acceleration support and support for USB devices,
single-click updates of syste
m and
packages, and so on. Linux has these, and tries to
present all available services
in a
logical form that ordinary people can understand.
1.3 Does Linux have a
future?
1.3.1 Open Source
The idea behind Open Source software is
rather simple: when programmers can
r
ead, distribute and change code, the
code will mature. People can adapt it, fix it,
debu
g it, and they can do it at a speed
that dwarfs the performance of software developers
at conventional companies. This
software will be more flexible and of a better
quality
than software that has been
developed using the conventional channels, because
more
people
have tested it in more different conditions than
the closed software developer e
ver can.
The Open Source initiative started to
make this clear to the commercial world,
an
d very slowly, commercial vendors are
starting to see the point. While lots of
academi
cs and technical people have
already been convinced for 20 years now that this
is the
way to go, commercial vendors
needed applications like the Internet to make them
rea
lize they can profit from Open
Source. Now Linux has grown past the stage where
it
was almost exclusively an academic
system, useful only to a handful of people with a
technical background. Now Linux
provides more than the operating system: there is
a
n entire infrastructure supporting the
chain of effort of creating an operating system,
o
f making and testing programs for it,
of bringing everything to the users, of supplying
maintenance, updates and support and
customizations, etcetera. Today, Linux is ready
to accept the challenge of a fast-
changing world.
1.3.2 Ten
years of experience at your service
While Linux is probably the most well-
known Open Source initiative, there is
an
other project that contributed
enormously to the popularity of the Linux
operating syst
em. This project is
called SAMBA, and its achievement is the reverse
engineering of t
he Server Message Block
(SMB)/Common Internet File System (CIFS) protocol
used
for file- and print-serving on PC-
related machines, natively supported by MS
Window
s NT and OS/2, and Linux.
Packages are now available for almost every system
and p
rovide interconnection solutions
in mixed environments using MS Windows
protocols
: Windows-compatible (up to
and including Win2K) file- and print-servers.
Maybe even more successful than the
SAMBA project is the Apache HTTP serve
r
project. The server runs on UNIX, Windows NT and
many other operating systems.
Originally known as
h
files
can tribe of the Apache, well-
known for their superior skills in warfare
strategy and in
exhaustible endurance.
Apache has been shown to be substantially faster,
more stable
and
more feature-full than many other web servers.
Apache is run on sites that get
mill
ions of visitors per day, and while
no official support is provided by the developers,
th
e Apache user community provides
answers to all your questions. Commercial
suppor
t is now being provided by a
number of third parties.
In the
category of office applications, a choice of MS
Office suite clones is availa
ble,
ranging from partial to full implementations of
the applications available on MS
Windows workstations. These initiatives
helped a great deal to make Linux
acceptable
for the desktop market,
because the users don't need extra training to
learn how to wo
rk with new systems.
With the desktop comes the praise of the common
users, and not
only their praise, but
also their specific requirements, which are
growing more intrica
te and demanding by
the day.
The Open Source community,
consisting largely of people who have been
contrib
uting for over half a decade,
assures Linux' position as an important player on
the des
ktop market as well as in
general IT application. Paid employees and
volunteers alike
are working diligently
so that Linux can maintain a position in the
market. The more u
sers, the more
questions. The Open Source community makes sure
answers keep comi
ng, and watches the
quality of the answers with a suspicious eye,
resulting in ever mor
e stability and
accessibility.
1.4
Properties of Linux
1.4.1 Linux Pros
A lot of the advantages of Linux are a
consequence of Linux' origins, deeply
root
ed in UNIX, except for the first
advantage, of course:
Linux is free:
As in free beer, they say. If you want
to spend absolutely nothing, you don't even
have to pay the price of a CD. Linux
can
be
downloaded
for
free
from
the
registration fees, no
costs per user, free updates, and freely available
sourc
e code in case you want to change
the behavior of your system.
Most of
all, Linux is free as in free speech:
The license commonly used
is the GNU Public License (GPL). The license says
t
hat anybody who may want to do so, has
the right to change Linux and eventually to
r
edistribute a changed version, on the
one condition that the code is still available
after
redistribution. In practice, you
are free to grab a kernel image, for instance to
add sup
port for teletransportation
machines or time travel and sell your new code, as
long as y
our customers can still have a
copy of that code. Linux is portable to any
hardware pl
atform: A vendor who wants
to sell a new type of computer and who doesn't
know w
hat kind of OS his new machine
will run (say the CPU in your car or washing
machin
e), can take a Linux kernel and
make it work on his hardware, because
documentation
related to this activity
is freely available. Linux was made to keep on
running: As wit
h UNIX, a Linux system
expects to run without rebooting all the time.
That is why a l
ot of tasks are being
executed at night or scheduled automatically for
other calm mom
ents, resulting in higher
availability during busier periods and a more
balanced use of t
he hardware. This
property allows for Linux to be applicable also in
environments wh
ere people don't have
the time or the possibility to control their
systems night and day.
Linux is secure
and versatile: The security model used in Linux
is based on the UNI
X idea of security,
which is known to be robust and of proven quality.
But Linux is no
t only fit for use as a
fort against enemy attacks from the Internet: it
will adapt equally
to other situations,
utilizing the same high standards for security.
Your development
machine or control
station will be as secure as your firewall. Linux
is scalable: From
a Palmtop with 2 MB
of memory to a petabyte storage cluster with
hundreds of nodes:
add or remove the
appropriate packages and Linux fits all. You don't
need a supercom
puter anymore, because
you can use Linux to do big things using the
building blocks
provided with the
system. If you want to do little things, such as
making an operating
system for an
embedded processor or just recycling your old 486,
Linux will do that a
s well. The Linux
OS and Linux applications have very short debug-
times: Because
Linux has been
developed and tested by thousands of people, both
errors and people t
o fix them are found
very quickly. It often happens that there are only
a couple of hour
s between discovery and
fixing of a bug.