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.