Computer Science | Kent State University
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.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- igcse computer science workbooks pdf
- igcse computer science workbook
- igcse computer science workbook answer
- igcse computer science coursebook pdf
- stanford university computer science ms
- blackboard kent state university
- kent state gmail
- kent state mail
- kent state black
- kent state university kent ohio
- kent state flashline
- kent state learn