Computer Confluence 7e 2006 PrenticeHall Inc 1 Computer

  • Slides: 40
Download presentation
Computer Confluence 7/e © 2006 Prentice-Hall, Inc. 1

Computer Confluence 7/e © 2006 Prentice-Hall, Inc. 1

Computer Confluence 7/e Chapter 4 Software Basics: The Ghost in the Machine © 2006

Computer Confluence 7/e Chapter 4 Software Basics: The Ghost in the Machine © 2006 Prentice-Hall, Inc. 2

Computer Confluence 7/e Chapter 4 Objectives ü Describe three fundamental categories of software and

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. 3

Computer Confluence 7/e Chapter 4 Objectives 1. Describe the role of the operating system

Computer Confluence 7/e Chapter 4 Objectives 1. Describe the role of the operating system in a modern computer system 2. Outline the evolution of user interfaces from early machinelanguage programming to futuristic virtual-reality interfaces 3. Explain why unauthorized copying of software is against the law © 2006 Prentice-Hall, Inc. 4

Computer Confluence 7/e Chapter 4 Linus Torvalds and the Software Nobody Owns ü Linus

Computer Confluence 7/e Chapter 4 Linus Torvalds and the Software Nobody Owns ü Linus Torvalds Ø Best known as the Linux creator q The Linux operating system is the bestknown example of open source software q Today Linux powers Web servers, film and animation workstations, scientific supercomputers, and a handful of handhelds © 2006 Prentice-Hall, Inc. 5

Computer Confluence 7/e Chapter 4 Linus Torvalds and the Software Nobody Owns 1. The

Computer Confluence 7/e Chapter 4 Linus Torvalds and the Software Nobody Owns 1. The three major categories of software: 1. Compilers and other translator programs: enable programmers to create other software 2. Software applications: serve as productivity tools to help computer users solve problems 3. System software: coordinates hardware operations and does behind-the-scenes work the computer user seldom sees 2. OS vs. Application software © 2006 Prentice-Hall, Inc. 6

Computer Confluence 7/e Chapter 4 Processing with Programs ü Food for Thought Ø The

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. 7

Computer Confluence 7/e Chapter 4 Processing with Programs ü A Fast, Stupid Machine Ø

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 q Written in a natural language, e. g. , English Ø Ambiguous, error-prone generalities Ø Translated into the vocabulary of a programming language © 2006 Prentice-Hall, Inc. 8

Computer Confluence 7/e Chapter 4 Processing with Programs 1. The Language of Computers 1.

Computer Confluence 7/e Chapter 4 Processing with Programs 1. The Language of Computers 1. Machine Language: numeric codes that represent data 2. 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 1. Compilers translate high-level language into machine language 3. Natural Languages: resemble languages spoken by humans © 2006 Prentice-Hall, Inc. 9

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Consumer Applications 1.

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Consumer Applications 1. Many software companies have replaced their printed documentation with: 1. 2. 3. 4. Tutorials Reference materials Help files On-line help 2. Upgrading: users can upgrade a program to the new version by paying an upgrade fee to the software manufacturer 1. Newer releases often have additional features and fewer bugs © 2006 Prentice-Hall, Inc. 10

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Compatibility 1. Allows

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Compatibility 1. Allows software to function properly with the hardware, operating system, and peripherals 2. Programs written for one type of computer system may not work on another 2. Disclaimers 1. Software manufacturers limit their liability for software problems by selling software “as is” © 2006 Prentice-Hall, Inc. 11

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Licensing: commercial software

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users 1. Licensing: commercial software is copyrighted so it can’t be legally duplicated for distribution to others 1. Software license 2. Volume licenses 2. Distribution: software is distributed via 1. Direct sale 2. Retail stores 3. Mail-order catalogs 4. Web sites 5. Not all software is copyrighted 1. Public domain software 2. Shareware © 2006 Prentice-Hall, Inc. 12

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users Ø Why We Use

Computer Confluence 7/e Chapter 4 Software Applications: Tools for Users Ø Why We Use Applications: most successful software products share two important characteristics: q They are built around visual metaphors of real-world tools q They extend human capabilities in some way © 2006 Prentice-Hall, Inc. 13

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles ü Integrated software

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles ü Integrated software packages: Ø Include several applications designed to work well together Ø 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. 14

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles Ø Popular integrated

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles Ø Popular integrated packages, like Apple. Works and Microsoft Works, generally include: q q q Word processing Database Spreadsheet Graphics Telecommunication Personal information management (PIM) modules © 2006 Prentice-Hall, Inc. 15

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles 1. Application suites:

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles 1. Application suites: bundles containing several full application programs that are also sold as separate programs 1. The core applications of the Microsoft Office System (the most popular application suite) include: 1. 2. 3. 4. 5. Word (a word processing program) Excel (a spreadsheet program) Power. Point (a presentation graphics program) Access (a database program) Outlook (an email/personal-information management program) © 2006 Prentice-Hall, Inc. 16

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles ü Vertical-Market and

Computer Confluence 7/e Chapter 4 Integrated Applications and Suites: Software Bundles ü Vertical-Market and Custom Software Ø Tends to cost far more than mass-market applications Ø Job-specific software: q q q Medical billings Library cataloging Legal reference software Restaurant management Single-client software needs © 2006 Prentice-Hall, Inc. 17

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection What the Operating System

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. 18

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection ü Operating system functions:

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. 19

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection Utility Programs and Device

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: q q 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) q Compress files so they take up less disk space q Perform other important, if unexciting, tasks © 2006 Prentice-Hall, Inc. 20

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection Ø Symantec Norton Utilities

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. 21

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection üDevice drivers Ø Small

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 Ø Included with the operating system or bundled with peripherals © 2006 Prentice-Hall, Inc. 22

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection üWhere the Operating System

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 Ø Others include only part of it in ROM q 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. 23

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection Ø Most of the

Computer Confluence 7/e Chapter 4 System Software: The Hardware-Software Connection Ø Most of the time it 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 © 2006 Prentice-Hall, Inc. 24

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection User interface ü

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 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 in which the user interacts using characters q Letters q Numbers q Symbols © 2006 Prentice-Hall, Inc. 25

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection q Features include:

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection q Features include: § Command-line interface (commands are typed) § Menu-driven interface (commands are chosen from on-screen lists) © 2006 Prentice-Hall, Inc. 26

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Ø Graphical User

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Ø Graphical User Interfaces q 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) © 2006 Prentice-Hall, Inc. 27

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. Microsoft Windows

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. Microsoft Windows 1. Originally, Microsoft Windows (commonly called Windows) was a type of program, known as a shell, which put a graphical face on MSDOS 2. 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 3. The latest Windows versions have no ties at all to the DOS past 4. The Windows XP GUI © 2006 Prentice-Hall, Inc. 28

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. File Management:

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. File Management: Where’s My Stuff? 1. Files can be scattered all over the system, which often makes data management difficult 2. One solution to this problem is to organize data files logically 3. Both Windows and the Mac support the notion of common system folders with self-explanatory names: 1. My Documents (Documents) 2. My Pictures (Pictures) 3. My Music (Music) © 2006 Prentice-Hall, Inc. 29

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. File Management:

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. File Management: Where’s My Stuff? 1. File-Management Utilities 1. 2. 3. 4. 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 2. Managing Files from Applications 1. Operations: Open, Save As, Save and Close 3. Defragmentation © 2006 Prentice-Hall, Inc. 30

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. Multiple User

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection 1. Multiple User Operating Systems: UNIX and Linux 1. UNIX was developed at Bell Labs before personal computers were available 2. Linux was created by Linus Torvalds and continues to be a work-in-progress 2. Allow a timesharing computer to communicate with several other computers or terminals at once © 2006 Prentice-Hall, Inc. 31

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Ø Linux is

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 © 2006 Prentice-Hall, Inc. 32

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Hardware and Software

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Hardware and Software Platforms Windows XP Palm OS Windows Sever 2006 Mac OS X (10). Windows ME Mac OS 9 Windows 2000 Linux, Sun Solaris, and other UNIX variations Microsoft Windows CE. NET © 2006 Prentice-Hall, Inc. 33

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Ø Cross-platform applications,

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection Ø Cross-platform applications, such as Microsoft Office and Adobe Photoshop q Programs that are available in similar versions for multiple platforms Ø Mac users can buy software emulation programs that: q Create a simulated Windows machine in the Mac q Translate all Windows-related instructions Mac equivalents Ø Future applications may be more tied to networks than to desktop computer platforms q Microsoft. NET strategy q Java, a platform-neutral computer language developed by Sun Microsystems for use on multiplatform networks © 2006 Prentice-Hall, Inc. 34

Computer Confluence 7/e Chapter 4 Software Piracy and Intellectual Property Laws ü Software Piracy

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 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 for the outdated and inconsistent intellectual property laws to be changed and adapted © 2006 Prentice-Hall, Inc. 35

Computer Confluence 7/e Chapter 4 Rules of Thumb: Green Computing 1. Tips to choose

Computer Confluence 7/e Chapter 4 Rules of Thumb: Green Computing 1. Tips to choose and use computer hardware and software in an environmentally responsible way: 1. 2. 3. 4. 5. 6. 7. 8. 9. Buy green equipment Use a notebook Take advantage of energy-saving features Turn it off when you’re away Save energy, not screens Print only once Recycle your waste products Pass it on Send bits, not atoms © 2006 Prentice-Hall, Inc. 36

Computer Confluence 7/e Chapter 4 The User Interface: The Human–Machine Connection üTomorrow’s User Interfaces:

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. 37

Computer Confluence 7/e Chapter 4 Inventing the Future Tomorrow’s Evolving Applications and Interfaces ü

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 38

Computer Confluence 7/e Chapter 4 Lesson Summary 1. This chapter provides some general answers

Computer Confluence 7/e Chapter 4 Lesson Summary 1. This chapter provides some general answers to the “What is software” question, along with details about each of the three major categories of software: 1. Compilers and other translator programs, which enable programmers to create other software 2. Software applications, which serve as productivity tools to help computer users solve problems © 2006 Prentice-Hall, Inc. 39

Computer Confluence 7/e Chapter 4 Lesson Summary (continued) 1. Offers tips to choose and

Computer Confluence 7/e Chapter 4 Lesson Summary (continued) 1. Offers tips to choose and use the best environmental computer hardware and software 2. Introduces emerging technologies that offer promise for future improved Applications and Interfaces 3. System software, which coordinates hardware operations and does behind-the-scenes work the computer user seldom sees © 2006 Prentice-Hall, Inc. 40