2008 Prentice-Hall, Inc.
Download
Report
Transcript 2008 Prentice-Hall, Inc.
© 2008 Prentice-Hall, Inc.
Slide 1
Software Basics: The Ghost
in the Machine
© 2008 Prentice-Hall, Inc.
Slide 2
Describe three fundamental categories of software and their
relationship.
Explain the relationship of algorithms to software.
Discuss the factors that make a computer application a useful
tool.
Describe the role of the operating system in a modern computer
system.
© 2008 Prentice-Hall, Inc.
Slide 3
Describe how file systems are organized.
Outline the evolution of user interfaces from early machine-
language programming to futuristic virtual-reality interfaces.
Explain why unauthorized copying of software is against
the law.
© 2008 Prentice-Hall, Inc.
Slide 4
Linus Torvalds
Best known as the Linux creator
The Linux operating system is the bestknown example of open source
software.
Today Linux powers Web servers, film
and animation workstations, scientific
supercomputers, and a handful of
handhelds.
© 2008 Prentice-Hall, Inc.
Slide 5
The three major categories of software:
Compilers and other translator programs:
enable programmers to create other
software
Software applications: serve as
productivity tools to help computer users
solve problems
System software: coordinates hardware
operations and does behind-the-scenes
work the computer user seldom sees
OS vs. Application software
© 2008 Prentice-Hall, Inc.
Slide 6
Food for Thought
The hardware in a computer system is equipped to produce
whatever output a user requests.
© 2008 Prentice-Hall, Inc.
Slide 7
A Fast, Stupid Machine
Programmers begin with an algorithm: a set of step-by-step instructions
written in a natural language, e.g., English.
The steps are often ambiguous, error-prone generalities.
The steps are translated into the vocabulary of a programming
language.
© 2008 Prentice-Hall, Inc.
Slide 8
The Language of
Computers
Machine Language: numeric
codes that represent data
High-level language: falls
between machine language and
natural human language
The programmer, like the poet, works
only slightly removed from pure thoughtstuff. He builds castles in the air, creating
by exertion of the imagination. Yet the
program construct, unlike the poet’s
words, is real in the sense that it moves
and works, producing visible outputs
separate from the construct itself.
—Frederick P. Brooks, Jr., in
The Mythical Man Month
Compilers translate high-level
language into machine language.
Natural Languages: resemble
languages spoken by humans
© 2008 Prentice-Hall, Inc.
Slide 9
Consumer Applications
Many software companies have replaced their printed
documentation with:
Tutorials
Reference materials
Help files
On-line help
Upgrading: Users can upgrade a program to the new version by
paying an upgrade fee to the software manufacturer.
Newer releases often have additional features and fewer bugs.
© 2008 Prentice-Hall, Inc.
Slide 10
Compatibility
It allows software to
function properly with the
hardware, operating system,
and peripherals.
Programs written for one
type of computer system
may not work on another.
Disclaimers
Software manufacturers
limit their liability for
software problems by selling
software “as is.”
© 2008 Prentice-Hall, Inc.
Slide 11
Licensing: Commercial software is copyrighted so it
can’t be legally duplicated for distribution to others.
Software license
Volume licenses
Distribution: Software is distributed via:
Direct sale
Retail stores
Mail-order catalogs
Web sites
Not all software is copyrighted.
Public domain software
Shareware
© 2008 Prentice-Hall, Inc.
Slide 12
Web applications fall into several categories:
Some simple Web applications perform simple data-processing tasks
that could also be performed by traditional programs running on
stand-alone PCs.
Most Web applications take advantage of the Web’s connectivity.
Many Web applications leverage the Web’s strength as a huge
repository
of information.
Some Web applications support online business transactions.
News-oriented Web applications provide up-to-the-minute reports on
a myriad of subjects.
Other Web applications support a more traditional form of
information broadcasting.
© 2008 Prentice-Hall, Inc.
Slide 13
Vertical-Market and Custom Software
Tends to cost far more than
mass-market applications
Job-specific software:
Medical billings
Library cataloging
Legal reference software
Restaurant management
Single-client software needs
© 2008 Prentice-Hall, Inc.
Slide 14
What the Operating System Does
System software
A class of software that includes the operating system and utility programs,
handles these details, and hundreds of other tasks behind the scenes.
Originally, operating systems were envisioned as a
way to handle one of the most complex input/output
operations: communicating with a variety of disk
drives. But, the operating system quickly evolved
into an all-encompassing bridge between your PC
and the software you run on it.
—Ron White, in How Computers Work
© 2008 Prentice-Hall, Inc.
Slide 15
Operating system functions:
Supports multitasking
Manages virtual memory
Maintains file system
Responsible for authentication and authorization
© 2008 Prentice-Hall, Inc.
Slide 16
Utility Programs and Device Drivers
Utility programs
Serve as tools for doing system maintenance and repairs that aren’t
automatically handled by the operating system
Make it easier for users to:
Copy files between storage devices
Repair damaged data files
Translate files so that different programs can read them
Guard against viruses and other potentially harmful programs (as described in the
chapter on computer security and risks)
Compress files so they take up less disk space
Perform other important, if unexciting, tasks
© 2008 Prentice-Hall, Inc.
Slide 17
Symantec Norton Utilities is a popular utility package that includes software
tools for recovering damaged files, repairing damaged disks, and improving
disk performance.
© 2008 Prentice-Hall, Inc.
Slide 18
Device drivers
Small programs that enable I/O devices—keyboard, mouse, printer, and
others—to communicate with the computer
Included with the operating system or bundled with peripherals
© 2008 Prentice-Hall, Inc.
Slide 19
Where the Operating System Lives
Some computers store their operating system in ROM.
Others include only part of it in ROM.
The remainder of the operating system is loaded into memory in a
process called booting, which occurs when you turn on the computer.
© 2008 Prentice-Hall, Inc.
Slide 20
Most of the time the operating system works behind the scenes.
Interacting with the operating system, like interacting with an application,
can be intuitive or challenging and it depends on something called the user
interface.
© 2008 Prentice-Hall, Inc.
Slide 21
User Interface
The interface defines the look and feel of the computing
experience from a human point of view.
Desktop Operating Systems
MS-DOS is a disk operating system in which the user interacts using
characters:
Letters
Numbers
Symbols
© 2008 Prentice-Hall, Inc.
Slide 22
Features include:
Command-line interface (commands are typed)
Menu-driven interface (commands are chosen from on-screen lists)
© 2008 Prentice-Hall, Inc.
Slide 23
Graphical User Interfaces (GUI)
Mac OS was developed by Macintosh in 1984 using GUI.
Microsoft Windows is now the most popular operating system.
© 2008 Prentice-Hall, Inc.
Slide 24
Multiple User Operating Systems: UNIX and Linux
UNIX was developed at Bell Labs before personal computers
were available.
Linux was created by Linus Torvalds and continues to be a
work-in-progress.
UNIX allows a timesharing computer to communicate
with several other computers or terminals at once.
© 2008 Prentice-Hall, Inc.
Slide 25
Linux is free for anyone to use or improve.
UNIX remains the dominant operating
system for Internet servers.
Some form of UNIX is available for
personal computers, workstations, servers,
mainframes, and supercomputers.
© 2008 Prentice-Hall, Inc.
Slide 26
Hardware and Software Platforms
Windows Vista
Windows Server 2003
Mac OS X (10)
Windows XP
Mac OS 9
Windows ME
Linux, Sun Solaris, and other
UNIX variations
Microsoft Windows CE
© 2008 Prentice-Hall, Inc.
Slide 27
Cross-platform applications, such as Microsoft Office and Adobe Photoshop,
are programs that are available in similar versions for multiple platforms.
Mac users can buy software emulation programs that:
Create a simulated Windows machine in the Mac
Translate all Windows-related instructions Mac equivalents
Future applications may be more tied to networks than to desktop computer
platforms
Microsoft .NET strategy
Java, a platform-neutral computer language developed by Sun Microsystems for
use on multiplatform networks
© 2008 Prentice-Hall, Inc.
Slide 28
Tomorrow’s User Interfaces
Future user interfaces will be built around emerging development
technologies such as:
The end of applications
Natural-language interfaces
Agents
Virtual realities
© 2008 Prentice-Hall, Inc.
Slide 29
Files can be scattered all over the system, which
often makes data management difficult.
One solution to this problem is to organize data files
logically.
Both Windows and the Mac support the notion of common
system folders with self-explanatory names:
My Documents (Documents)
My Pictures (Pictures)
My Music (Music)
© 2008 Prentice-Hall, Inc.
Slide 30
File-Management Utilities
View, rename, copy, move, and delete files and folders
Hierarchies help with organization
Help with locating a file
Get size, file type, and last modification date
Managing Files from Applications
Operations: Open, Save As, Save and Close
Defragmentation
© 2008 Prentice-Hall, Inc.
Slide 31
Software Piracy—illegal duplication of copyrighted
software
The software industry is a $50 billion a year business sector.
Billions of dollars are lost each year to software pirates.
One-third of all software is illegally copied.
Intellectual Property and the Law
Intellectual property includes the results of intellectual activities
in the arts, science, and industry.
Laws ensure that mental labor is justly rewarded and encourage
innovation.
The information age requires the outdated and inconsistent
intellectual property laws to be changed and adapted.
© 2008 Prentice-Hall, Inc.
Slide 32
The WIMP (windows, icons, menus, and pointing
devices) interface is easier to learn and use than
earlier character-based interfaces.
The SILK interface incorporates many important
emerging user interface software technologies:
Speech and language
Image
Knowledge
Our goal was bug-free. The
new goal is resiliency.
—Bob Frankston, in Beyond
Calculation
© 2008 Prentice-Hall, Inc.
Slide 33
This chapter provides some general answers to the
“What is software” question, along with details about
each of the three major categories of software:
Compilers and other translator programs, which enable
programmers to create other software
Software applications, which serve as productivity tools to
help computer users solve problems
System software, which coordinates hardware operations and
does behind the scenes work the user seldom sees.
© 2008 Prentice-Hall, Inc.
Slide 34
Popular operating systems include Windows, Mac
OS X, UNIX, and Linux.
The user interface is a critical communication
component in operating systems, applications,
programming languages, and utilities.
Tomorrow’s interfaces are likely to rely on threedimensional graphics and animation to create
virtual realities.
Software piracy is a major concern in the
computer industry.
© 2008 Prentice-Hall, Inc.
Slide 35
Slide 36