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