Download 9781418837211_PPT_ch01

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

CP/M wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

Maemo wikipedia , lookup

Unix wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Mobile operating system wikipedia , lookup

Unix security wikipedia , lookup

Linux kernel wikipedia , lookup

Linux wikipedia , lookup

Caldera OpenLinux wikipedia , lookup

Linux adoption wikipedia , lookup

Smallfoot wikipedia , lookup

Security-focused operating system wikipedia , lookup

Transcript
Linux+ Guide to Linux
Certification, Third Edition
Chapter 1
Introduction to Linux
Objectives
• Understand the purpose of an operating system
• Outline the key features of the Linux operating
system
• Describe the origins of the Linux operating system
• Identify the characteristics of various Linux
distributions and where to find them
• Explain the common uses of Linux in industry
Linux+ Guide to Linux Certification, 3e
2
Operating Systems
• Computers have two fundamental components:
– Hardware: physical components inside a computer
– Software: set of instructions or programs that allow
hardware components to manipulate data
Linux+ Guide to Linux Certification, 3e
3
Operating Systems (continued)
• Hardware components include:
–
–
–
–
–
–
Processor (CPU)
Physical memory (RAM)
Hard disk drives
Sound cards
Video cards
Circuit boards
Linux+ Guide to Linux Certification, 3e
4
Operating Systems (continued)
• Two different types of programs are executed on a
computer:
– Applications: programs designed for a specific use
and with which a user interacts
– Operating system (OS) software: software
components used to control the hardware of the
computer
Linux+ Guide to Linux Certification, 3e
5
Operating Systems (continued)
• Device Driver: software containing instructions that
the OS uses to control and interact with a specific
type of computer hardware
• User Interface: an application program that allows
the user to interact with the OS and other
application programs
– Can be a command line prompt or a graphical user
interface (GUI)
Linux+ Guide to Linux Certification, 3e
6
Operating Systems (continued)
Figure 1-1: The role of operating system software
Linux+ Guide to Linux Certification, 3e
7
Operating Systems (continued)
• Graphical user interface (GUI): component of an
OS that the user can interact with using the
keyboard or the mouse
• System services: applications that handle systemrelated tasks
– Printing
– Scheduling programs
– Gaining network access
Linux+ Guide to Linux Certification, 3e
8
Operating Systems (continued)
Figure 1-2: A Linux graphical user interface
Linux+ Guide to Linux Certification, 3e
9
The Linux Operating System
• OS used to run a variety of applications on a
variety of different hardware components
• Multiuser and multitasking OS
– Has the ability to manage thousands of tasks at the
same time
– Allows multiple users to access the system
simultaneously
Linux+ Guide to Linux Certification, 3e
10
Versions of the
Linux Operating System
• Core component is called the Linux kernel
– Written almost entirely in the C programming
language
• Software can be used to modify appearance of
Linux, but the kernel is common to all Linux
• Important to understand Linux kernel version
numbers to decide which version is appropriate for
user needs
• Good understanding of system hardware is
important in deciding which kernel version to use
Linux+ Guide to Linux Certification, 3e
11
Identifying Kernel Versions
• Linux kernel versions are composed of:
– Major number
– Minor number
• If odd, referred to as a developmental kernel: a kernel
which is not fully tested and with implied instability
• If even, referred to as a production kernel: a kernel
that has been thoroughly tested and is declared to be
stable
– Revision number
Linux+ Guide to Linux Certification, 3e
12
Table 1-1: Latest revisions of common Linux kernels
Linux+ Guide to Linux Certification, 3e
13
Licensing Linux
• Open Source Software (OSS): programs
distributed and licensed so that the source code is
available, free of charge, to anyone who wants to
examine, utilize, or improve upon it
– Format and structure of source code follows rules
defined by the programming language in which it
was written
Linux+ Guide to Linux Certification, 3e
14
Licensing Linux (continued)
• Implications of OSS:
– Developed very rapidly through widespread
collaboration
– Bugs (errors) are noted and promptly fixed
– Features evolve quickly based on users’ needs
– Perceived value of the software increases because it
is based on usefulness, not on price
Linux+ Guide to Linux Certification, 3e
15
Licensing Linux (continued)
Table 1-2: Software types
Linux+ Guide to Linux Certification, 3e
16
Types of Open Source Licenses
• GNU Public License (GPL):
– Stipulates that the source code of any software
published under its license must be freely available
– Users who modify the source code must also
redistribute the modified code freely
• Artistic license: OSS license allowing source code
to be distributed freely, changed only at discretion
of original author
Linux+ Guide to Linux Certification, 3e
17
Types of Closed Source Licenses
• Most closed source software is sold commercially
– Usually bears label of manufacturer, such as
Microsoft or Electronic Arts software
• Freeware: distributed free of charge; source code
is not available
• Shareware: initially free, but requires payment after
a period of time or for use of certain features
Linux+ Guide to Linux Certification, 3e
18
Linux Advantages:
Risk Reduction
• Changes in the market or customer needs may
cause companies to change software frequently
– Can be costly and time-consuming
• Support for closed source software may end
– Vendor may go out of business
– Software version may be retired
• OSS products offer the opportunity to maintain and
change the source code
Linux+ Guide to Linux Certification, 3e
19
Linux Advantages:
Meeting Business Needs
• Common software available for Linux includes:
– Scientific and engineering software
– Software emulators
– Web servers, Web browsers, and e-commerce
suites
– Desktop productivity software
– Graphics manipulation software
– Database software
– Security software
Linux+ Guide to Linux Certification, 3e
20
Linux Advantages:
Stability and Security
• Customers using a closed source OS must rely on
the OS vendor to fix any bugs
– Waiting for a hot fix may take weeks or months
• Bugs and security loopholes in OSS programs can
be identified and fixed quickly
– Code is freely available and scrutinized by many
developers
Linux+ Guide to Linux Certification, 3e
21
Linux Advantages: Flexibility for
Different Hardware Platforms
• Partial list of hardware platforms on which Linux
can run:
– Intel
– Itanium
– Mainframe (S/390)
– ARM
– Alpha
– MIPS
– M68K
– PA-RISC
– SPARC
– Ultra-SPARC
– PowerPC
• Can be customized to work on mobile and
embedded devices
Linux+ Guide to Linux Certification, 3e
22
Linux Advantages:
Ease of Customization
• Ability to control the inner workings of the OS
– To use Linux as an Internet Web server, compile the
kernel to include only the support needed to be an
Internet Web server
• Results in a much smaller and faster kernel
– Can choose to install only software packages
needed to perform required tasks
– Can use shell and PERL scripts to customize or
automate tasks
Linux+ Guide to Linux Certification, 3e
23
Linux Advantages:
Ease of Obtaining Support
• Linux documentation can be found on the Internet
– Frequently asked questions (FAQs)
– HOWTO documents
• Linux newsgroups
• Linux User Group (LUG): Open forum of Linux
users who discuss and assist each other in using
and modifying the Linux OS
Linux+ Guide to Linux Certification, 3e
24
Linux Advantages:
Cost Reduction
Table 1-3: Calculating the total cost of ownership
Linux+ Guide to Linux Certification, 3e
25
The History of Linux
Figure 1-4: Timeline of UNIX and Linux development
Linux+ Guide to Linux Certification, 3e
26
UNIX
• Evolved from Multiplexed Information and
Computing Service (MULTICS)
• The first true multitasking, multiuser OS
• Written in the C programming language
– Portable OS
• OS from which Linux originated
Linux+ Guide to Linux Certification, 3e
27
UNIX (continued)
• Berkeley Software Distribution (BSD)
– Version of the original UNIX source code
• Common flavors of UNIX today include:
– Sun Microsystems’s Solaris UNIX
– Hewlett-Packard’s HP-UX
– IBM’s AIX UNIX
Linux+ Guide to Linux Certification, 3e
28
The Hacker Culture
• Hacker: someone attempting to expand their
computing knowledge through experimentation
– Idea of sharing knowledge is fundamental to hackers
– Hacker culture set the stage for the development of
Linux
• Cracker: someone who illegally uses computers for
personal benefit or to cause damage
• GNU project: free OS project started by Richard
Stallman
– Led to publication of GNU Public License (GPL)
Linux+ Guide to Linux Certification, 3e
29
Linux
• First developed by Linus Torvalds in 1991
– Published under the GNU license
• Linux kernel developed collaboratively and
centrally managed
– Hackers developed Linux add-on packages and
distributions
– Linux is simply a by-product of OSS development
Linux+ Guide to Linux Certification, 3e
30
Linux Distributions
• Distribution: a collection of software containing the
Linux kernel and libraries, combined with add-on
software specific to a certain use.
– Red Hat and SuSE
• Distributions may appear different on the surface,
but run the same kernel
• Most distributions include a GUI that can be further
customized to suit the needs of the user
– Core component of this GUI is X Windows
Linux+ Guide to Linux Certification, 3e
31
Linux Distributions (continued)
• GUI environment: X Windows in combination with a
window manager and desktop environment –
affects the look and feel of the Linux GUI
• Two competing GUI environments in Linux:
– GNU Object Model Environment (GNOME)
– K Desktop Environment (KDE)
• Some Linux distributions include specific language
support
Linux+ Guide to Linux Certification, 3e
32
Linux Distributions (continued)
Figure 1-5: The GNOME Desktop
Linux+ Guide to Linux Certification, 3e
33
Linux Distributions (continued)
• Package manager: software system that installs
and maintains software
– Red Hat package manager standard on many Linux
distributions
• Tarball: compressed archive of files containing
scripts that install software to the correct location
on the system
– Difficult to manage, upgrade or remove from system
Linux+ Guide to Linux Certification, 3e
34
Linux Distributions (continued)
Table 1-4: Common Linux distributions
Linux+ Guide to Linux Certification, 3e
35
Linux Distributions (continued)
Table 1-4 (continued): Common Linux distributions
Linux+ Guide to Linux Certification, 3e
36
Common Uses of Linux
• May be customized to provide services for a variety
of companies in a variety of situations
• Workstation services: services used on a local
computer
• Server services: services made available for other
computers across a network
Linux+ Guide to Linux Certification, 3e
37
Internet Servers: Mail Services
• Mail transfer agent (MTA): an e-mail server used to
distribute email
• Mail delivery agent (MDA): service that downloads
e-mail from an MTA
• Mail user agent (MUA): program that allows e-mail
to be read by a user
Linux+ Guide to Linux Certification, 3e
38
Internet Servers:
Routing and FTP Services
• Routing: provides interconnection between
separate networks
– Core service necessary for Internet to function
– Linux provides support for routing and is easily
customizable
• File Transfer Protocol (FTP) Services: most
common and efficient method for transferring files
over the Internet
Linux+ Guide to Linux Certification, 3e
39
Internet Servers:
Firewalls and Proxy Services
• Firewall: Protects companies from outside intruders
on the Internet
– Linux has firewall support built into the kernel
• Proxy server: requests Internet resources such as
Web sites and FTP sites on behalf of the computer
inside the company
– Common proxy server used on Linux is Squid
Linux+ Guide to Linux Certification, 3e
40
Internet Servers:
Web Services and News Services
• Web services: Web servers host information
– Can process programs known as Common Gateway
Interface (CGI) scripts that enable connection to a
resource on the network which is not connected to
the Internet
– Can use Single Socket Layer (SSL) to provide
secure connections
• News services: News servers allow users to post
messages in forums called newsgroups
– Most Web servers do not provide means for users to
communicate
Linux+ Guide to Linux Certification, 3e
41
Internet Servers: DNS Services
• Computers communicating on a network need to
be uniquely identified
– Each computer is assigned an Internet Protocol (IP)
address
• Long string of numbers
• Allows computers to identify and reference each other
• Fully Qualified Domain Name (FQDN): masks IP
addresses with user-friendly names
• DNS server: maintains a list of proper FQDN to IP
mappings
Linux+ Guide to Linux Certification, 3e
42
File and Print Servers
• Linux is well-suited for centrally sharing resources
– More economical to share files and printers over a
network
– Inherently fast and light
– A distribution specific to a certain task can be
installed on the central server
– Can share resources with a computer running
another OS
Linux+ Guide to Linux Certification, 3e
43
Application Servers
• Application server: intermediary between a client
computer and a database
• Database: organized collection of data that is
arranged into tables of related information
• Database Management Systems (DBMS): set of
programs designed to allow for creation,
modification, manipulation, maintenance, and
access of information from databases
• Application servers can provide management
functionality
Linux+ Guide to Linux Certification, 3e
44
Supercomputers
• Clustering: combining several smaller computers to
act as one large supercomputer
– Beowulf clustering: most common Linux method of
clustering
• Scalability: the ability for a computer to increase
workload as the number of processors increases
– Clustering computers often results in better
scalability than adding processors to a single
computer
Linux+ Guide to Linux Certification, 3e
45
Scientific/Engineering Workstation
• Scientific and engineering community often needs
customized programs
• OSS programs can be used or modified
– OSS software available for physics, astrophysics,
biophysics, biocomputation, data mining, and many
other scientific and engineering fields
Linux+ Guide to Linux Certification, 3e
46
Office/Personal Workstation
• Workstation software designed for end users in
office and home environments
• OSS packages available for:
–
–
–
–
–
–
Graphics editing software
Desktop publishing software
Media software
Financial software
Office productivity suites
Bittorrent clients
Linux+ Guide to Linux Certification, 3e
47
Summary
• Linux is an OS
• Kernel and additional software are freely developed
and improved upon by a large community of
software developers
• Published under the GPL
– Called Open Source Software (OSS)
• Companies find Linux a stable, low-risk, and
flexible alternative to other OSs
Linux+ Guide to Linux Certification, 3e
48
Summary (continued)
• Comes in different distributions, all having a
common kernel, but packaged with different OSS
applications
• Wide variety of documentation and resources exist:
Internet Web sites, HOWTOs, FAQs, newsgroups,
and LUGs
• Extremely versatile OS that provides a wide range
of workstation and server services
Linux+ Guide to Linux Certification, 3e
49