Computer Confluence 7/e
Download
Report
Transcript Computer Confluence 7/e
Computer
Confluence 7/e
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Software Basics: The Ghost in the
Machine
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Objectives
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Objectives
Describe the role of the operating system in a modern computer
system
Outline the evolution of user interfaces from early machinelanguage programming to futuristic virtual-reality interfaces
Explain why unauthorized copying of software is against the
law
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Linus Torvalds and the Software Nobody
Owns
Linus Torvalds
Best known as the Linux creator
The Linux operating system is the bestknown example of open source software
Open source software : software that can be
distributed and modified freely by the
users.
Today Linux powers Web servers, film and
animation workstations, scientific
supercomputers, and a handful of
handhelds
© 2006 Prentice-Hall, Inc.
Linus Torvalds and the Software Nobody
Owns
• Programmers write programs
– Set of computer instructions designed to solve
problems.
– These programs are the computer’s software.
Computer Confluence 7/e
Chapter 4
Linus Torvalds and the Software Nobody
Owns
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Processing with Programs
Food for Thought
The hardware in a computer system is equipped to produce
whatever output a user requests
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Processing with Programs
A Fast, Stupid Machine
Programmers begin with an algorithm: a set of step-by-step instructions for
accomplishing a task.
Written in a natural language, e.g., English
Contains Ambiguous, error-prone generalities
The programmer’s job is to translate the algorithm into the vocabulary of a
programming language
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Processing with Programs
The Language of Computers
Every computer processes instructions in
a native Machine Language uses numeric
codes that represent data.
Early programmers wrote every program
in a machine language.
Today, most programmers use High-level
language: falls between machine
language and natural human language,
ex: c++, java
It must use a translator program to convert
high-level language into the zero’s and
one’s of machine language.
© 2006 Prentice-Hall, Inc.
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
Computer Confluence 7/e
Chapter 4
Processing with Programs
The most common type of translator program is
called compiler : a translator program that
translates an entire program from HLL to machine
language before the program is run for the first
time.
as translators become more and more
sophisticated, programmers can communicate in
computer languages that more closely resemble
Natural Languages:-the languages people speak
and write every day.
Computer Confluence 7/e
Chapter 4
Software Applications: Tools for Users
Software tools that allows a computer to be used for specific purposes.
Consumer Applications
computer and software stores sell thousands of software: graphics,
accounting, multimedia, games, so on…..
documentation:
a computer software package generally includes printed
documentation with instructions for installing and using the software
on a computer’s hard disk.
Many software companies have replaced their printed documentation
with:
Tutorials
Reference materials
Help files appears on screen
On-line help
© 2006 Prentice-Hall, Inc.
Software Applications: Tools for Users
upgrading:
most software companies continually work to improve
their products by removing bugs and adding new
features.
Newer releases often have additional features and fewer
bugs
Program names are generally followed by version
numbers
Minor revisions use decimals 5.0 -5.1
Major revisions use whole numbers 5.0 - 6.0
When a new version is released, users can upgrade a
program to the new version by paying an upgrade fee to
the software manufacturer
Computer Confluence 7/e
Chapter 4
Software Applications: Tools for Users
Compatibility
Programs written for one
type of computer system
may not work on another
Allows software to function
properly with the hardware,
operating system, and
peripherals
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Software Applications: Tools for Users
Disclaimers
Software manufacturers limit their liability for software
problems by selling software “as is”
End-user license agreement (EULA)
Computer Confluence 7/e
Chapter 4
Software Applications: Tools for Users
Licensing: commercial software is
copyrighted so it can’t be legally duplicated
for distribution to others
Software developers use copyrights and copy
protection to ensure that they sell enough
copies of their products to recover their
investment.
Software license –to use the program,
typically on a single machine
Volume licenses-special licenses for entire
companies, schools, …..
Copy protected-cannot be copied at all
Software piracy- unauthorized copying and
selling of software.
© 2006 Prentice-Hall, Inc.
Software Applications: Tools for Users
Distribution: software is distributed via
Direct sale
Retail stores
Mail-order catalogs
Web sites
Not all software is copyrighted-some can be legally
copied and shared freely
Public domain software –free for taking
Shareware –free for trying, with sending-payment-if-you-keep-ithonor system
Computer Confluence 7/e
Chapter 4
Software Applications: Tools for Users
Why We Use Applications: most successful software products share two
important characteristics:
They are built around visual metaphors of real-world tools
They extend human capabilities in some way –enable people to do things
they can’t do easily, or at all.
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Integrated Applications and Suites:
Software Bundles
Integrated software packages:
Include several applications designed to work well
together
May not have all the features of their separately
packaged counterparts.
advantages:
Enable automatic transfer of data between modules
Cost less than buying the applications individually
Use the same type of commands in each module
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Integrated Applications and Suites:
Software Bundles
Popular integrated packages, like
AppleWorks and Microsoft Works,
generally include:
Word processing
Database
Spreadsheet
Graphics
Telecommunication
Personal information management
(PIM) modules
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Integrated Applications and Suites:
Software Bundles
Application suites: bundles containing several full application
programs that are also sold as separate programs
The core applications of the Microsoft Office System (the most popular
application suite) include:
Word (a word processing program)
Excel (a spreadsheet program)
PowerPoint (a presentation graphics program)
Access (a database program)
Outlook (an email/personal-information management program)
© 2006 Prentice-Hall, Inc.
Integrated Applications and Suites:
Software Bundles
• Microsoft has designed these applications
so that they have similar command
structures and easy interapplication
communication.
• Suites cost more than integrated packages.
• Suites have more features than integrated
programs do, but also make greater
demands on the system memory, disk
storage, and CPU.
Computer Confluence 7/e
Chapter 4
Integrated Applications and Suites:
Software Bundles
Vertical-Market and Custom Software
Applications designed specifically for a
particular business or industry.
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
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
© 2006 Prentice-Hall, Inc.
What the Operating System
Does
•
•
•
•
•
•
Provide a user interface
Run programs
Manage hardware devices
Organized file storage
Keep hardware running efficiently
Make the process of communication with hardware
easier.
• O.S. software runs continuously whenever the computer
is on.
• O.S. stands between the software application and the
hardware, application compatibility is usually defined by
the O.S. as well as by the hardware.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
Operating system functions:
Communicating with peripherals
Coordinating concurrent processing of jobs
Memory management
Resource monitoring, accounting, and security
Program and data management
Coordinating network communications
© 2006 Prentice-Hall, Inc.
Communicating with peripherals
• The O.S. includes programs that
communicate with peripherals.
• Communicating with screen, printers, disk
drives, and other peripherals.
Coordinating the concurrent
processing of jobs
• Large, multi-user computers often work on several jobs, or
tasks at the same time-a technique known as concurrent
processing.
• Only one CPU, it must work on several tasks by rapidly
switching back and forth between them
• The computer takes advantage of idle time in one process, by
working on another program.
• A time sharing computer practices concurrent processing
whenever multiple users are connected to the system
• The computer quickly moves from one terminal to another,
checking for input and processing each user's data in turn.
• If a PC has -Multitasking- the user can issue a command that
initiates a process and continue working with another
applications while the computer execute a command.
Memory management
• When several jobs are being processed
concurrently, the O.S. must keep track of the
way the computer’s memory is being used.
• Ways:
– Subdivide the memory between jobs.
– Swap information between the memory and external
storage devices.
• Technique for dealing with memory shortages:
– Set aside part of the hard disk as virtual memory
Resource monitoring, accounting, and
security
• Many multi-user computer systems are designed
to charge users for the resources they
consume.
• Keep track of the each user’s time, storage
demands, and pages printed so accounting
programs can calculate and print accurate bills.
• Each user has unique identification name and
password
• O.S. should monitor resources to ensure the
privacy and security of each user’s data.
Program and data management
• O.S. locate and access files and programs
requested by the user and by other
programs
Coordinating network communications
• Modern operating systems are designed to
serve as gateways to networks, from the
inner office to the internet, so networking
is now a central feature of all modern
operating systems.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
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.
Compress files so they take up less disk space
Perform other important, if unexciting, tasks
© 2006 Prentice-Hall, Inc.
System Software: The Hardware-Software
Connection
Utility Programs and Device Drivers
• The O.S. can directly invoke many utility
programs, so they appear to the user as
part of the O.S.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
Symantec Norton Utilities is a popular utility package that includes software
tools for recovering damaged files, repairing damaged disks, and improving
disk performance
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
Device drivers
Small programs that enable I/O devices—keyboard, mouse,
printer, and others—to communicate with the computer
Once a device drive-say, for a printer- is installed, the
printer driver function as a behind-the-scene intermediary
whenever the user request that a document be printed on the
printer.
Some utility programs are included with the operating
system, bundled with peripherals, others sold or given away
as separate products.
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
Where the Operating System Lives
Some computers store their operating system in ROM
Ex. Handheld computers, special –purpose computers
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
System Software: The Hardware-Software
Connection
Most of the time the O.S. works behind the scenes
User need to communicate with the O.S.
Interacting with the operating system, like interacting with an application,
can be intuitive or challenging and it depends on something called the user
interface
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
User interface
As software evolves, so does the user interface-The look and
feel of the computing experience from a human point of view
Desktop Operating Systems
MS-DOS is a disk operating system with a character-based interface in
which the user interacts using characters
Letters
Numbers
Symbols
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
Features include:
Command-line interface (commands are typed)
Applications : Menu-driven interface (commands are chosen from on-screen lists
called menu)
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
Graphical User Interfaces
Mac OS
This is a disk operating system in which the user interacts with the computer by using a
pointing device (e.g., a mouse)
O.S. determines what the user wants by monitoring movements of the mouse.
The user points to icons (pictures) that represent applications, documents, folders and disks.
Theses pictures are arranged on desktop- a virtual workspace designed to resemble the
physical desktop.
© 2006 Prentice-Hall, Inc.
The User Interface: The Human–Machine
Connection
• Documents are displayed in windowsframed areas that can be opened, closed,
and rearranged with the mouse.
• The user selects command from pull-down
menus
• Dialog boxes enable users to specify
preferences by filling in on-screen blanks
and clicking buttons.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
Microsoft Windows
Originally, Microsoft Windows
(commonly called Windows) was a
type of program, known as a shell,
which put a graphical face on MSDOS
With the introduction of Windows 95
in 1995, Microsoft began transitioning
Windows from an operating system
shell into a full operating system that
seldom showed its MS-DOS roots
The latest Windows versions have no
ties at all to the DOS past
The Windows XP GUI
© 2006 Prentice-Hall, Inc.
The User Interface: The Human–Machine
Connection
• The windows task bar provides one-click access
to open applications and other windows, making
it easy to switch back and forth among different
tasks.
• Hierarchical menus in windows organize
frequently needed commands into a compact,
efficient submenu.
• Pop-up menus can appear any where on the
screen.
• Context-sensitive menus offer choices that
depends on which on screen object the user
currently selected.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
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
Allow a timesharing computer to communicate with
several other computers or terminals at once
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
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
At its heart, UNIX is a command-line,
character-based O.S.
Many companies, market UNIX variations and
shells with graphical user interface
© 2006 Prentice-Hall, Inc.
The User Interface: The Human–Machine
Connection
Hardware and Software Platforms
The most well-known operating systems include
Windows XP
Windows Server 2006 (server-based
counterpart to windows XP)
Palm OS (handheld devices, pen-based user
interface)
Windows ME
Mac OS X (10) (animated user interface ,build
on UNIX)
Windows 2000
Mac OS 9
Microsoft Windows CE .NET (designed
for embedded, handheld computers)
© 2006 Prentice-Hall, Inc.
Linux, Sun Solaris, and other UNIX variations
(UNIX or Linux can be found on PCs,
Macs, workstations, supercomputers,
mainframes))
The User Interface: The Human–Machine
Connection
Hardware and Software Platforms
Linux is especially popular because it is
free.
Since Linux doesn’t offer as many
applications programs as Windows, some
people use dual-boot PCs that can switch
back and forth between Windows and
Linux by simply rebooting.
The User Interface: The Human–Machine
Connection
Hardware and Software Platforms
• O.S. by themselves aren't very helpful to
people. They need application software so
they can do useful work.
• But application software can’t exist by
itself; it needs to be built on some kind of
platform
• Platform- the combination of hardware and
operating system software on which
application software is built.
The User Interface: The Human–Machine
Connection
Cross-platform applications, such as Microsoft Office and Adobe
Photoshop
Programs that are available in similar versions for multiple
platforms
Most PCs today are built on what’s called the ”Wintel” platform :
some form of the windows OS running on an Intel (or
compatible ) CPU.
Macintosh platform- Mac OS software running on PowerPC
processors
Linux OS can run on many hardware platforms, including Intel
and PowerPC processors, but different versions of Linux aren’t
necessary compatible.
© 2006 Prentice-Hall, Inc.
The User Interface: The Human–Machine
Connection
Hardware and Software Platforms
Mac users can buy software emulation programs that:
Create a simulated Windows machine in the Mac
Translate all Windows-related instructions into signals the
Mac’s OS and CPU can understand.
Takes time, but enables users to avoid having to choose a
single OS and user interface.
Future applications may be more tied to networks
than to desktop computer platforms
Microsoft .NET strategy that blurs the line between the web
and Microsoft's OS and applications.
Hardware and Software Platforms
As .NET evolves, more and more software
components will be delivered by the network rather
than residing on the desktop.
Java, a platform-neutral computer language
developed by Sun Microsystems for use on
multiplatform networks
Programs written in JAVA can run on computers
running Windows, Macintosh, UNIX, and other
operating systems, providing those computers have
JAVA virtual machine software installed.
Computer Confluence 7/e
Chapter 4
File Management: Where’s My Stuff?
Organizing files and folders
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
Files may be placed inside folders.
O.S. allow users to place a folder inside another folder.
A computer’s files and folders are actually stored on nonvolatile
storage device, such as hard disk, floppy disk, or optical disk.
The windows OS uses letters to refer to particular storage devices.
A: floppy disk, C: hard disk
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
File Management: Where’s My Stuff?
• Organizing files and folders
• Every file and folder has a unique pathname, which describe
the nesting of folders containing it.
• The backslash character ‘\’ separates the name of the folders.
• Ex. C:\documents and setting\Padilla\my
documents\budget.xls
• C:\ is the root directory
Computer Confluence 7/e
Chapter 4
File Management: Where’s My Stuff?
File-Management Utilities
View, rename, copy, move, and delete files and folders
In windows it is called window explorer.
It is included with OS
Hierarchies help with organization
Help with locating a file
Information about a file, ex. File size, file type, and last
modification date
© 2006 Prentice-Hall, Inc.
File Management: Where’s My Stuff?
Managing Files from Applications
Most applications support four basic file-management
Operations: Open, Save As, Save and Close
The open operation allows you to select the file
containing the project you would like to work on.
The save operation writes the current state of the
application as a disk file.
The save as operation allows you to choose the location
and name of the file you want to contain the current
state of the application
The close operation allows you to stop working on a
project but remain in the application program.
File Management: Where’s My Stuff?
Locating files
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)
– Modern O.S. Include search tools (ex. Search
and find commands) that can help files
wherever they’re stored.
– You can search for filenames, but you can
also search for words or phrases inside a file.
File Management: Where’s My Stuff?
Defragmentation: the cure for
fragmented files
• Before the O.S. can store files on a hard disk,
the disk must be formatted.
• Formatting a disk means putting electronic
marks on the disk, dividing the disk into a series
of concentric tracks and dividing each track into
a collection of sectors.
• Formatting removes any information that was
previously stored on the disk.
• Disk drives bundles sectors into clusters or
blocks.
Tracks and Sectors
Defragmentation: the cure for
fragmented files
• To keep track of the files kept on a disk, the file
system maintains a table( also stored on the
disk) that indicates which clusters are assigned
to each file
• The file system also maintain a list of empty
clusters.
• Accessing the information in a file is faster if the
file is assigned to contiguous clusters. The disk
head reading the information does not have to
move from track to track as often.
Defragmentation: the cure for
fragmented files
• Assigning a file to contiguous clusters minimizes
the movement of the disk head when the
contents of the file are read into memory.
• A fragmented file is a file allocated to
noncontiguous clusters
• A defragmentation utility eliminates (as much as
possible) fragmented files by changing the
assignment of clusters to files.
• Defragmentation can significantly improve the
performance of a disk drive.
Computer Confluence 7/e
Chapter 4
Software Piracy and Intellectual Property Laws
Software Piracy = illegal duplication of copyrighted
software
Software industry is a $50 billion a year sector
Billions of dollars are lost each year to software pirates
More than One-third of all software in use is illegally copied
Piracy is hard on small companies because they lack the
financial and legal resources to cover their losses they suffer
through piracy.
Software industry organization work with law enforcements
agencies to crack down on piracy. they also sponsor educational
programs to make computer users aware that piracy is theft.
Software piracy is a worldwide problem.
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Software Piracy and Intellectual Property Laws
Intellectual Property and the Law
Intellectual property includes the results of intellectual
activities in the arts, science, and industry
Copyright laws have traditionally protected forms of
literary expression, including books, plays, songs, and so
on.
Trademark law has protected symbols, pictures, sound,
colors, and smells used by a business to identify goods.
Patent law has protected mechanical inventions
Contract law has covered trade secrets.
Copyright laws protect most commercial software
programs, but a few companies have successfully used
patent laws to protect software products.
Software Piracy and Intellectual Property
Laws
The purpose of intellectual property laws ensure
that mental labor is justly rewarded and encourage
innovation
The information age requires for the outdated and
inconsistent intellectual property laws to be
changed and adapted
Computer Confluence 7/e
Chapter 4
The User Interface: The Human–Machine
Connection
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Inventing the Future Tomorrow’s Evolving
Applications and Interfaces
WIMP (windows, icons, menus, and pointing devices)
interface
Easier to learn and use than earlier character-based interfaces
SILK interface incorporates many important emerging user
interface software technologies:
Speech and language
Image
Knowledge
© 2006 Prentice-Hall, Inc.
Our goal was bug-free. The
new goal is resiliency.
—Bob Frankston, in Beyond
Calculation
Computer Confluence 7/e
Chapter 4
Lesson Summary
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
© 2006 Prentice-Hall, Inc.
Computer Confluence 7/e
Chapter 4
Lesson Summary (continued)
Introduces emerging technologies that offer
promise for future improved Applications and
Interfaces
System software, which coordinates hardware
operations and does behind-the-scenes work the
computer user seldom sees
© 2006 Prentice-Hall, Inc.