Issuu on Google+

Full file at

Chapter 2 Software Components At a Glance

Instructor’s Manual Table of Contents 



Teaching Tips

Quick Quizzes

Class Discussion Topics

Additional Projects

Additional Resources

Key Terms

Full file at

Lecture Notes

Overview The software components that enable a PC to accomplish tasks are the operating system, utilities (programs that perform system-related tasks and maintenance on the operating system), and applications (programs that perform user-related tasks). To use the software on a PC effectively, students need to know the characteristics of all three types of components. In addition to describing these components, this chapter provides a brief history of operating system milestones, explains the functions of an operating system, and explains the interaction between an operating system and applications.

Objectives      

Describe historical milestones for three popular operating systems Describe the architecture of common PC operating systems Describe the functions of an operating system Describe the interaction between an operating system and its components Describe utilities that are available for Windows 7 and Fedora 13 Describe applications that are available for Windows 7 and Fedora 13

Teaching Tips Common Operating Systems 1. Begin the discussion by pointing out that many of the more popular operating systems grew out of research at major universities, including Mac OS X, Fedora 13, and Microsoft Windows. Disk Operating System (DOS) 1. Explain that DOS is one of the most basic operating systems in use today. The first version of DOS was primitive, but after a few changes, it provided all the functions an OS needed. DOS is a single-tasking operating system, which means that it can run only one program at a time. 2. Discuss the many versions of DOS, culminating with the last version in 1994. Windows 7 Operating System

Full file at

1. Note that Microsoft has cornered more than 80 percent of the desktop OS market. Windows is proprietary closed-source software, meaning that Microsoft owns the software’s copyright and controls its distribution. 2. Microsoft has released many versions of Windows; the first versions were DOS-based and culminated with Windows Me. The Windows NT thread started with Windows NT 3.1 and continues today with Windows 7 and Windows Server 2008 R2. Discuss the time lines for these two versions of Windows. Fedora Operating Systems 1. Fedora 13 owes its parentage to UNIX, which was created by Ken Thompson and Dennis Richie. Interestingly, the acronym UNIX does not actually stand for anything. The original OS was called UNiplexed Information and Computing System (Unics) - a pun for the larger Multics OS - and the name was later changed to UNIX. Use Table 2-1 to aid the discussion. 2. Discuss the history of Linux, beginning with Linus Torvalds who developed the Linux kernel while he was a student at the University of Helsinki in Finland. 3. Explain that the Fedora Project was created in late 2003. Fedora 13, code-named Goddard, was released in May 2010. It is a general-purpose OS released under the GNU General Public License, which guarantees your freedom to share and modify free software. As part of Linux, Fedora 13 is open source software.

Common Operating System Architectures 1. Explain that for an operating system to be a useful and convenient interface between the user and the hardware, it must provide certain basic services, such as the ability to read and write files, allocate and manage memory, and make access control decisions. DOS Architecture 1. Introduce the term command-line interface (CLI). Use Figure 2-1 to aid the discussion. 2. Discuss the steps used by MS-DOS to process a command. Windows 7 Architecture 1. Use Figure 2-2 to discuss the simplified view of the Windows 7 architecture. 2. Discuss the following basic types of user mode processes:  System support processes  Service processes  User applications  Environment subsystem

Full file at

3. Introduce the term dynamic link library (DLL). 4. Discuss the following kernel mode components of Windows 7:  Executive  Kernel  Device drivers  Hardware abstraction layer (HAL)  Windowing and graphics Fedora 13 Architecture 1. Use Figure 2-3 to discuss a simplified view of the Fedora 13 architecture. 2. Discuss the five main subsystems that comprise the Fedora 13 kernel:  Process scheduler (SCHED)  Memory manager (MM)  Virtual file system (VFS)  Network interface (NET)  Interprocess communication (IPC)

Functions of an Operating System 1. Using Figure 2-5, provide a high-level description of the functions of an operating system. Processor Management 1. Distinguish single-tasking operating systems, such as DOS, from multitasking operating systems, such as Windows 7 and Fedora 13. 2. Introduce the terms thread and multithreading. 3. Note that the heart of managing the processor comes down to ensuring that each process and application receives enough of the processor’s time to function properly. The key to allocating processor cycles is the scheduling of processes or threads. 4. Discuss the two most common methods for sharing CPU time: cooperative multitasking and preemptive multitasking. 5. Compare and contrast cooperative multitasking with preemptive multitasking. 6. Introduce the terms multiprocessing and symmetric multiprocessing (SMP).

Full file at

Teaching Tip

Preemptive multitasking may lead to a condition known as starvation, where a process is denied the resources necessary to complete execution.

Memory Management 1. Explain that memory management is the act of handling computer memory. In its simpler forms, this management provides ways to allocate portions of memory to programs at their request and to allocate free memory back to the system for reuse when it is no longer needed. 2. Introduce the terms virtual addresses and physical addresses. 3. To maximize its flexibility in managing memory, the OS can move pages of physical memory to and from a paging file onto a disk. When a page is moved into physical memory, the OS updates the page maps of the affected processes. Use Figure 2-5 to aid the discussion. 4. Memory management is quite complicated in any operating system, and Fedora 13 is no exception. Note that several differences exist between memory management in Windows 7 and Fedora 13; for example, you can make more detailed decisions in Fedora 13 about how memory is managed. .

Teaching Tip

A principle known as locality of reference underlies much of the success of paging and caching schemes. Locality of reference asserts that a program's working set of instructions lie close to each other spatially and/or temporally.

Device Management 1. Introduce the term device driver. 2. Note that one reason that drivers are separate from the operating system is so that new functions can be added to the driver - and thus to the hardware subsystems - without requiring the operating system itself to be modified, recompiled, and redistributed. 3. Use Figure 2-6 to illustrate the concept of device management. 4. Introduce the terms graphical device interface (GDI), PostScript, and Ghostscript.

Full file at

5. The basis of a printing system in a modern OS is the spooler. Spool is an acronym for simultaneous peripheral operations online. Use Figure 2-8 to aid the discussion. Storage Management 1. Introduce the fdisk and format commands. 2. Note that in Windows 7, Disk Management is a system utility for managing hard drives and the partitions they contain. With Disk Management, you can initialize disks, create partitions, and format volumes with the FAT, FAT32, or NTFS file systems. 3. Explain that in Fedora 13, you use the fdisk command to add a partition to a hard drive. After the partition is created, you use the mke2fs command to create the ext2, ext3, ext4, and vfat32 file systems. User Interface 1. Explain that in DOS, you enter commands using the command-line interface (CLI). A CLI is a method of interacting with a computer by giving it lines of textual commands (that is, a sequence of characters) from the keyboard. 2. Compare and contrast the GUI interfaces used in Windows 7 and Fedora 13. Use Figures 2-9 and 2-10 to aid the discussion.

Quick Quiz 1 1. The ____ desktop is the default desktop for Red Hat’s distribution of Fedora 13. Answer: GNOME 2. A(n) ____ is a library of executable functions or data that can be used by a Windows application. Answer: dynamic link library (DLL) 3. (True or False) Fedora 13 provides dynamically loadable device drivers that permit the inclusion of system code without having to compile the kernel code to include a device driver. Answer: True 4. Linux uses the ____ system for graphical displays. Answer: X window

OS Interaction

Full file at

1. Students need to understand how the OS controls the hardware and what valuable services it provides to applications used on the PC. This section covers both types of interaction. Interaction with Hardware 1. Introduce students to the Windows Driver Model (WDM). 2. Note that Fedora 13 divides devices into three major categories: character devices, block devices, and network devices. Each approach has merit. Teaching Tip

WDM drivers are forward compatible, but not backward compatible. For example, a WDM driver written for Windows 98 will function in Windows 7. However, a WDM driver written for Windows 7 will not load in Windows 98.

3. The following topics should also be discussed:  The Windows View of Hardware: Introduce the class to the following WDM drivers: bus drivers, function drivers, and filter drivers.  The Fedora 13 View of Hardware: Fedora 13 divides hardware devices into three major categories: character devices, block devices, and network devices. Interaction with Applications 1. Explain that operating systems provide a software platform on top of which other programs, called application programs, can run. These application programs require support from the operating system. 2. The following topics should also be discussed:  Installing Applications: The Microsoft Windows Installer is an installation and configuration service that ships as part of the Microsoft Windows 7 operating system. Fedora 13 uses YUM (Yellowdog Updater, Modified), which is the most common utility for installing and configuring software on Red Hat Linux systems such as Fedora 13. YUM is an automatic updater and package installer/remover for RPM packages.  Running Applications: Discuss the tasks performed by the OS after you type a command or click a program icon:  Managing Disks and Files: Windows 7 implements a folder structure to store and organize files, just as you use manila folders to organize information in a filing cabinet. Fedora 13 organizes files in a hierarchical structure similar to Windows 7, but uses the term directories instead of folders. Use Figures 2-11 and 2-12 to aid the discussion.  Connecting to a Network: Note that you can you can set up your PC to share the directories or folders on your hard drive with other PCs on a network. Introduce the Server Message Block (SMB) communications protocol and Samba. Use Figure 213 to aid the discussion.

Full file at

Printing Documents: Note that Windows 7 provides the Add Printer Wizard to make a printer available for your applications. In Fedora 13, you use the Add Printer program to set up your printer.

Quick Quiz 2 1.

____ is a technology developed by Microsoft to create drivers that are source-code compatible for a number of Windows operating systems, including Windows 7. Answer: Windows Driver Model (WDM)


A(n) ____ is normally 512 bytes. Answer: block

3. Windows 7 provides the ____ in Windows Explorer to locate and connect to shared folders on networked computers. Answer: Network folder 4. With networking devices, the kernel must deal with ____ (units of information transferred over a network, or network data). Answer: packets

System Utilities 1. Explain that system utilities perform various tasks on your PC. Key utilities include text editors, configuration editors, and system configuration monitors. Text Editors 1. Point out that most system utilities only know how to deal with text files. In DOS, the type command lists the contents of a text file within the command prompt window. In Fedora 13, the cat command performs the same function as the type command. Use Figures 2-14 and 2-15 to aid the discussion. Operating System Configuration 1. Introduce the term Registry. 2. The following topics should also be discussed:  Windows 7 Configuration: Introduce the class to the Regedit. Use Figure 2-16 to aid the discussion.  visudo in Fedora 13: Explain that the /etc/sudoers file holds the configuration that allows group administrators to execute privileged instructions and do their jobs. You must edit this file with the visudo command. Use Figure 2-17 to aid the discussion.

Full file at

System Information 1. Inform students that they can view information about their PCs by using the information tools provided by the OS. In Windows 7, you can use the Help and Support tool for information about your system. In Fedora 13, you can use the System Profiler. 2. The following topics should also be discussed:  Windows 7 System Information: The System Information tool provides summary information and configuration information about the computer. Use Figure 2-18 to aid the discussion.  Fedora 13 System Profiler: To see what type of CPU your computer uses, click Applications, point to System Tools, and click System Profiler and Benchmark. Use Figure 2-19. System Monitors 1. Emphasize the importance of monitoring your PC for potential problems. Explain that in Windows 7, you can use the Task Manager to see useful information about system performance; in Fedora 13, you use System Monitor. 2. The following topics should also be discussed:  Windows Task Manager: Use Figure 2-20 to discuss the following tabs: o Applications Tab o Process Tab o Performance Tab o Networking Tab  Windows Resource Monitor: Note that you can click the Resource Monitor button on the Performance tab to monitor the usage of four critical resources: CPU, hard disk, network, and memory. Use Figure 2-24 to aid the discussion.  Fedora 13 System Monitor: An important point to make is that System Monitor contains more tabs than just the Processes tab. As shown in Figure 2-26, the System tab displays a summary of the operating system and processor. Use Figure 2-28 to discuss the File Systems tab in System Monitor.

Applications 1. Introduce students to the components that make up Microsoft Office. 2. is a collection of applications that work closely together to provide the features expected from a modern office suite. Discuss is components. 3. The number of business applications supported by Fedora 13 continues to grow. Use Table 2-2 to list the various categories of applications and the offerings for Windows 7 and Fedora 13 in each category. Freeware for Windows 7

Full file at

1. Introduce the term freeware. Use Table 2-2 to aid the discussion.

Teaching Tip

Distinguish between the concept of freeware and open source software. Freeware is available for use free of charge, but may not be altered or distributed without the author's permission. Open source software can be freely used, altered, and distributed.

Quick Quiz 3 1. A(n) ____ allows you to enter, modify, and delete data in a text file. Answer: text editor 2. ____ is a special utility that allows a system administrator to edit Registry entries Answer: Regedit 3. In Windows 7, you can use the ____ to see useful information about system performance. Answer: Task Manager 4. (True or False) A high CPU usage (consistently over 90 percent) indicates that the processor speed is inadequate. Answer: True

Class Discussion Topics 1. Discuss the need for dividing an operating system into at least two modes, user and kernel. What are the advantages and disadvantages associated with this division of labor? 2. What properties of a program enable it to be divided into pages? How is it possible for a program to execute with only a subset of these pages residing in main memory at any given time? 3. Compare and contrast the development of closed-source software with open-source software. Is there some way to determine which developmental philosophy produces the superior operating system?

Additional Projects

Full file at

1. Research the sources of starvation that may affect preemptive multitasking systems. Some of these causes may be subtle; e.g., process inter-dependence. Using the concept of priority aging, specify a preemptive multitasking system that manages the problem of starvation. 2. The least recently used (LRU) page replacement algorithm was described in the Memory Management section of Chapter 2. Research at least four other page replacement algorithms. Describe each algorithm in one or two paragraphs, including advantages and disadvantages. 3. Research the causes of disk thrashing. Determine which tabs in the Windows Task Manager and which fields in the output of the top command help you diagnose the problem. Find at least three techniques for correcting the situation.

Additional Resources 1. Kernel mode in Windows: 2. How virtual memory works: 3. History of Linux at Red Hat: 4. Description of the Microsoft Windows Registry:;EN-US;256986

Key Terms  Add Printer A utility used in Fedora 13 to make a printer available for your applications.  Add Printer Wizard A wizard used in Windows 7 to make a printer available for your applications.  application: A program that helps users perform tasks on a PC, such as creating a spreadsheet.  block device: A device that moves information in blocks or groups of bytes instead of characters. An example is a disk drive.  bus driver: A WDM driver for an I/O bus. It provides per-slot functionality that is device driven.  character device: A device that transmits or receives information as streams of characters, one character at a time. An example is a keyboard.  command-line interface (CLI): A program you use to give commands to an operating system.

Full file at

 configuration editor: A special program that helps you create or edit files that contain specific operating instructions for a PC.  cooperative multitasking: A form of multitasking in which each process controls the length of time it maintains exclusive control over the CPU.  core The part of the processor that actually reads and executes instructions.  DOS: A generic term for any operating system that is loaded from disk devices when the system is started or restarted.  dynamic link library (DLL): A library of executable functions or data that can be used by a Windows 7 application.  Fast User Switching: A feature in Windows 7 that allows users to switch between user accounts on a single PC without quitting applications and logging out.  filter driver: A WDM driver that filters the I/O requests for a device, a class of devices, or a bus.  freeware: Software that is available free of charge for personal use. Freeware is frequently distributed on the Web.  function driver: A WDM driver that drives an individual device.  GDI (graphical device interface): The display language interface for Microsoft Windows systems.  Ghostscript: A suite of free software based on an interpreter of the Adobe PostScript and Portable Document Format (PDF) page description languages.  GNOME :The default desktop for Red Hat’s distribution of Fedora 13.  GNU General Public License : A set of programs written by the Free Software Foundation to provide a free UNIX framework. (GNU stands for “GNU’s Not UNIX.”)  home directory: A directory associated with a user account under Fedora 13.  kernel: The core of an operating system. The kernel manages memory, files, and peripheral devices, as well as starting applications and allocating system resources.  libraries File structures that help you manage your documents, music, pictures, and other files.  Linux Refers to the family of UNIX-like computer operating systems that use the Linux kernel.  Microsoft Windows Installer: An installation and configuration service that ships as part of the Windows 7 operating system.  multiprocessing: The simultaneous execution of instructions by multiple processors within a single computer.  multitasking: Concurrently running all active processes and threads on the PC.  multithreading: Running several processes in rapid sequence (multitasking) within a single program.  Network folder A folder used to locate and connect to shared folders on networked computers.  networking device: A category used by Fedora 13 for network devices. The Fedora 13 kernel uses packets with these devices.  packet: A unit of information transferred as a whole from one device to another on a network.  physical address: A number that identifies an actual storage (memory) location in the physical memory on a computer.  PostScript: A page description language developed and marketed by Adobe Systems.

Full file at

 preemptive multitasking: A multitasking process in which the OS ensures that all active threads have the opportunity to execute. Preemptive multitasking prevents a single thread from monopolizing a processor.  Regedit: An application that allows the user to edit the entries in the Registry.  Registry: A central hierarchical database used by Windows 7 to store information that is needed to configure the system for one or more users, applications, and hardware devices.  RPM (Red Hat Package Manager) The Fedora 13 manager that provides installation services for applications.  Samba: A communications protocol used by Fedora 13 to support sharing of resources across a network.  Server Message Block (SMB): A communications protocol used by Windows-based operating systems to support sharing of resources across a network.  software components: A collection of applications that make up and relate to the operating system.  standard input device A computer device used for data input, such as a keyboard.  standard output device: Another term for a computer monitor.  symmetric multiprocessing (SMP): A system that distributes tasks among CPUs using a load-sharing method.  System Monitor A utility in Fedora 13 that lets you review process activity in real time.  Task Manager: An application used to track the progress of and provide necessary resources for separate tasks running on a computer.  text editor: A program that allows a user to create or edit text files.  thread: The basic unit of program execution. A process can have several threads running concurrently, each performing a different job.  utility: A program that performs system-related tasks and maintenance on the operating system.  virtual address: A memory location that intervening hardware and software map to physical memory.  visudo command: The command in Fedora 13 used to edit the /etc/sudoers file.  Windows Driver Model (WDM): A 32-bit architecture for creating device drivers for Windows.  YUM An installation and configuration service that ships as part of Fedora 13.

Solution manual guide to parallel operating systems with windows 7 and linux 2nd edition carswell