Kent



CS10001 Class Note: Chapter 4Software Basics: The Ghost in the Machine

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

✓ Describe the role of the operating system in a modern computer system

✓ 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

Linus Torvalds and the Software Nobody Owns

✓ Linus Torvalds

➢ Best known as the Linux creator

❑ The Linux operating system is the best-known example of open source software.

❑ Today Linux powers Web servers, film and animation workstations, scientific supercomputers, and a handful of handhelds.

✓ Computer programs

✓ 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

✓ Application vs. Operating Systems

Processing with Programs

✓ Food for thought

➢ The hardware in a computer system is equipped to produce whatever output a user requests.

✓ A fast, stupid machine

➢ Programmers begin with an algorithm: a set of step-by-step instructions written in a natural language, for example, English.

➢ The steps are often ambiguous, error-prone generalities.

➢ The steps are translated into the vocabulary of a programming language.

➢ Debugging is done to correct errors.

✓ The language of computers

➢ Machine language: numeric codes that represent basic computer operations

➢ High-level language: falls between machine language and natural human language (C++, Java, , etc.)

❑ Compilers translate high-level language into machine language.

➢ Natural languages: resembles languages used by humans

❑ Translation software

Software Applications: Tools for Users

✓ Consumer applications

➢ Many software companies have replaced

or supplemented the printed documentation with:

❑ Tutorials

❑ Reference materials

❑ Help files

❑ Online help

➢ Updating: minor bug fixes and enhancements

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

➢ Service Packs contain minor revisions and are usually free.

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

❑ EULA (End User License Agreement )

➢ Licensing: Commercial software is copyrighted so it can’t be legally duplicated for distribution to others.

❑ Software license

❑ Volume licenses

➢ Distribution of software via:

❑ Direct sales

❑ Retail stores

❑ Mail-order catalogs

❑ Web sites

➢ Not all software is copyrighted

❑ Public domain software

❑ Shareware

✓ Web applications

➢ Web applications fall into several categories:

❑ Some 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

❑ Other Web applications support a more traditional form of information broadcasting

✓ Vertical-market & 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

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.

➢ Operating system functions:

❑ Supports multitasking

❑ Manages virtual memory

❑ Maintains file system

❑ Responsible for authentication and authorization

✓ 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

➢ Symantec Norton Utilities is a popular utility package that includes software tools for recovering damaged files, repairing damaged disks, and improving disk performance.

➢ Device drivers

❑ Small programs that enable I/O devices—keyboard, mouse, printer, and others—to communicate with the computer

❑ Included with the operating system, bundled with peripherals, or given away as separate products

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

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

The User Interface: The Human–Machine Connection

✓ 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 an operating system in which the user interacts using characters rather than graphics:

❑ Letters

❑ Numbers

❑ Symbols

➢ Features include:

❑ Command-line interface (commands are typed)

❑ Menu-driven interface (commands are chosen from on-screen lists)

➢ GUI (Graphical User Interfaces), pronounced “gooey”

❑ Mac OS was developed by Macintosh in 1984 using GUI.

❑ Microsoft Windows is now the most popular operating system.

✓ 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 has dominated the multi-user server market for decades.

➢ Many choose to use dual-boot PCs to switch between Windows and Linux, simply, by rebooting.

➢ UNIX allows a timesharing computer to communicate with several other computers or terminals at once.

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

Hardware and software platforms

|Windows Vista – 5 versions |Mac OS X (10) |

|Windows Server 2008 |Mac OS 9 |

|Windows XP |Linux, Sun solais, and UNIX variations |

|Windows CE |BlackBerry OS |

|Windows Mobile |Palm OS |

➢ Cross-platform applications, such as Microsoft Office and Adobe Photoshop, are programs 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 to Mac equivalents

➢ Future applications may be tied to networks rather than to desktop platforms

❑ strategy

❑ Java, a platform-neutral computer language developed by Sun Microsystems for use on multiplatform networks

➢ Virtual machines

✓ 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

File Management: Where’s My Stuff?

✓ Organizing files and folders

➢ 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)

✓ 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

✓ Locating files

➢ Modern operating systems include search tools that can help you find files

➢ New operating systems have built in file management tools to help users keep track of files

➢ Virtual folders can “contain” files located all over your computer

✓ Defragmentation: the cure for fragmented files

✓ As you work with a file, its contents become scattered into different tracks and sectors of your hard drive.

Software Piracy and Intellectual Property Laws

✓ The piracy problem

➢ The software industry is a $50 billion a year business sector.

➢ Billions of dollars and tens of thousands of jobs 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. (Copyright, Trademark, Patent, etc.)

➢ The information age requires the outdated and inconsistent intellectual property laws to be changed and adapted.

Inventing the Future Tomorrow’s Evolving Applications and Interfaces

✓ 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 and virtual reality

➢ Knowledge

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

➢ System software, which coordinates hardware operations and does behind the scenes work the user seldom sees

✓ 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 three-dimensional graphics and animation to create virtual realities.

✓ Software piracy is a major concern in the computer industry.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download