Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 3 System Software Objectives: In this chapter we will discuss the following topics: The two basic functions of any operating system The four categories of operating systems The purpose of utilities and utility suites The five most essential utilities Device drivers Language translators Learning outcomes: At the end of the chapter, students will be able to: 1. Describe the two basic functions of any operating system 2. Identify the four categories of operating systems 3. Explain the purpose of utilities and utility suites 4. Discuss the five most essential utilities 5. Understand the importance and use of Device drivers 6. Appreciate the functions of Language translators 3.0 Introduction An operating system [1], [2], [3] is a program designed to run other programs on a computer. A computer’s operating system is its most important program. It is considered the backbone of a computer, managing both software and hardware resources. Operating systems are responsible for everything from the control and allocation of memory to recognizing input from external devices and transmitting output to computer displays. They also manage files on computer hard drives and control peripherals, like printers and scanners. The purpose of an operating system is to organize and control hardware and software so that the device it lives in behaves in a flexible but predictable way. 1 When the operating system was first developed, users had to input commands in a program such as DOS. Using this type of system isn't very efficient, but effective. A newer interface was developed to overcome the command line interface. Nowadays, a graphical user interface, or GUI, allows you to initiate commands by simply pointing and clicking different objects that appear on your computer monitor. By calling upon these interfaces, the application can then request a service from the operating system, pass parameters, and begin the results of the operation you selected. The operating system of a large computer system has even more work to do. Such operating systems monitor different programs and users, making sure everything runs smoothly, without interference, despite the fact that numerous devices and programs are used simultaneously. An operating system also has a vital role to play in security. Its job includes preventing unauthorized users from accessing the computer system. You're probably familiar with the most popular operating system that uses a graphical user interface, Microsoft Windows. Windows uses a graphical user interface to try and make it easier for people to use their computers and utilize their time. Currently, Windows XP and Windows Vista dominate the majority of household computers. Windows XP professional was developed for businesses to utilize their time and focus on their customers. It provided a new standard in reliability and performance and was designed to accommodate businesses of any size or for individuals in households that wanted the most from their computer experience. Windows Vista is the most recent consumer version of Windows and has relatively high system requirements compared to Windows XP. A mobile version of the Windows operating system has been developed also. It is generally used in Pocket PCs and smart phones 3.1 The two basic functions of any operating system At the simplest level, an operating system does two things [4]: 2 1. It manages the hardware and software resources of the system. In a desktop computer, these resources include such things as the processor, memory, disk space and more (On a cell phone, they include the keypad, the screen, the address book, the phone dialer, the battery and the network connection). 2. It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware. The first task, managing the hardware and software resources, is very important, as various programs and input methods compete for the attention of the central processing unit (CPU) and demand memory, storage and input/output (I/O) bandwidth for their own purposes. In this capacity, the operating system plays the role of the good parent, making sure that each application gets the necessary resources while playing nicely with all the other applications, as well as husbanding the limited capacity of the system to the greatest good of all the users and applications. Applications I/O Management Device Drivers Memory Management CPU Management Hardware Figure 3.1: The operating system controls every task your computer carries out and manages system resources. The second task, providing a consistent application interface, is especially important if there is to be more than one of a particular type of computer using the operating system, or if the hardware making up the computer is ever open to change. A consistent application program interface (API) allows a software developer to write an application on one computer and have a 3 high level of confidence that it will run on another computer of the same type, even if the amount of memory or the quantity of storage is different on the two machines [5]. Even if a particular computer is unique, an operating system can ensure that applications continue to run when hardware upgrades and updates occur. This is because the operating system -- not the application -- is charged with managing the hardware and the distribution of its resources. One of the challenges facing developers is keeping their operating systems flexible enough to run hardware from the thousands of vendors manufacturing computer equipment. Today's systems can accommodate thousands of different printers, disk drives and special peripherals in any possible combination. 3.2 The four categories of operating systems Within the family of operating systems, we can categorize them into four types [6] [7]: I. Real-time operating system (RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. They are designed to allow computers to process and respond to input instantly. They are usually used when computers must react to the consistent input of information without delay. For example, real-time operating systems may be used in navigation. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. II. Single-user, single task - This operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. III. Single-user, multi-tasking - This operating system is mostly used on desktop and laptop computers. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it is entirely possible for a Windows user to 4 be writing a note in a word processor while downloading a file from the Internet and at the same time printing the text of an e-mail message. IV. Multi-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must first make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user will not affect the entire community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems. 3.3 The purpose of utilities and utility suites Utility programs help manage, maintain and control computer resources. These programs are available to help us with the day-to-day chores associated with personal computing and to keep our system running at peak performance [8], [9]. Some examples of utility programs include: I. Virus scanning software II. Backup software III. Scandisk IV. Disk defragmenter I. Virus Scanning Software is a utility program designed to protect our computer from computer viruses. Virus scanning software is critical to users, due to the number of computer viruses (small computer programs created to disrupt and destroy computer files and/or operating system software). Virus scanning software scans our disk each time we insert it into a computer. We should have a good virus scanning software package installed and the virus scanning software needs to be updated on a regular basis (usually monthly). Updates insure that our virus scanning software will protect us 5 from the most recent viruses. Virus scanning packages come with directions on how to receive updates to our software! Backup software is software that assists us in backing up our files and even the entire II. computer hard drive. It is important for us to back up our files regularly. We should backup our valuable data on our hard drive. Scandisk is a utility provided with Windows computers. Scandisk scans our disks to see if III. there are any potential problems on the disk, such as bad disk areas. Since disks are magnetic media, all disks, including our hard drive can be corrupted. Disk Defragmenter software reorganizes our disk drives. After files are saved, deleted IV. and resaved again, the disk can become fragmented --- available space is in small blocks located throughout the disk. Disk defragmenters gather those free spots and put them together to enable us to continue to save our data in the most efficient manner. In the 1980s the only package of programs for fixing and troubleshooting a computer was “Norton”. Now we can choose from more than a dozen suites to clean, protect, tune, tweak, optimize, and defragment your system. Now, with opensource technology, we can even have free utility suites. One example was Enteractive’s WinCleaner Complete PC Care. Examples of utility suites that are recommended include: Diskeeper available at www.diskeeper.com System Mechanic 6 Professional available at www.iolo.com Norton SystemWorks 2006 Premier available at www.symantec.com TuneUp Utilities 2006 available at www.tune-up.com Vcom SystemSuite 6 Professional available at www.v-com.com When we want to choose a utility suite we will compare them with a set of criteria such as: 6 Firewall, Antivirus, Antispyware, Registry cleaner, Shortcut cleaner, Edit system settings, Disk defragger, Disk checker, Removes clutter, Memory defragger, Network optimizer, Browser optimizer, Internet history cleaner, System diagnostics, Process explorer, Task scheduler, System restore, File undeleter, Rescue disk, Uninstall tools, File compression and of course the price. 3.4 The five most essential utilities Operating systems provide utilities to administer, troubleshoot, and context sensitive help to use the tools. For Windows Operating System Utilities the five most essential utilities are: a) Windows Diagnostics The Windows Diagnostics program [10] can help you determine your operating system’s configuration. This tool can be found in Settings, Control Panel, Administrative Tools, and Computer Management b) Windows Performance Monitor Performance Monitor [11] is a Windows graphical tool for measuring the performance of your own computer or other computers on a network. We can view the behavior of the processors, memory, cache, threads, and processes. A set of counters provide information on device usage, queue lengths, and delays, as well as information used for throughput and internal congestion measurements. It provides charting, alerting, and reporting capabilities that reflect current activity along with ongoing logging. c) Windows Event Viewer Event Viewer is a tool for monitoring events in our system [12]. We can use Event Viewer to view and manage System, Security, and Application event logs. To access the Event Viewer, right-click on the My Computer icon and select Manage. The Computer Management Window is displayed. The Event Viewer is available under the System Tools. 7 d) Windows Registry Editor This program can be used to view the system configuration and environment[13]. e) Windows Task Manager The Task Manager enables you to monitor and control your computer and what is running on it. It shows you programs and processes that are running as well as performance. To access the Task Manager, right click an empty area in the task bar and click Task Manager [14]. 3.5 Device drivers A device driver or software driver is a computer program allowing higher-level computer programs (an application) to interact with a hardware device [15]. A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware is connected. When a calling program invokes a routine in the driver, the driver will issue commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific. Because of the diversity of modern hardware and operating systems, many ways exist in which drivers can be used. Drivers are used for interfacing with: Printers Video adapters Network cards Sound cards Local buses of various sorts - in particular, for bus mastering on modern systems Low-bandwidth I/O buses of various sorts (for pointing devices such as mice, keyboards, USB, etc.) computer storage devices such as hard disk, CD-ROM and floppy disk buses (ATA, SATA, SCSI) Implementing support for different file systems Implementing support for image scanners and digital cameras 8 Choosing and installing the correct device drivers for a given hardware is often a key component of computer system configuration. 3.6 Language translators Programmers use different programming languages to write their applications. In order to convert their program codes from a high level language to machine language, we need to use a language translator. Another name for language translator is the compiler. A compiler is actually a computer program that translates programs written in a high-level language into machine code (the form in which they can be run by the computer). The compiler translates each high-level instruction into several machine-code instructions - in a process called compilation - and produces a complete independent program that can be run by the computer as often as required, without the original source program being present [16]. Examples of compilers: C compiler - a compiler for programs written in C Fortran compiler - a compiler for programs written in FORTRAN LISP compiler - a compiler for programs written in LISP Pascal compiler - a compiler for programs written in Pascal Summary An operating system is a program designed to run other programs on a computer and it is the most important program. It manages the hardware and software resources of the system and It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware. Within the family of operating systems, we can categorize them into four types: Real-time operating system (RTOS), Single-user, single task, Single-user, multi-tasking and Multi-user. Utility programs help manage, maintain and control computer resources. Operating systems provide utilities to administer, troubleshoot, and context sensitive help to use the tools. 9 A device driver or software driver is a computer program allowing higher-level computer programs (an application) to interact with a hardware device. Programmers use different programming languages to write their applications. In order to convert their program codes from a high level language to machine language, we need to use a language translator. Exercises: Choose the best answer. 1. Which of the following statement is not true about operating system? a. It manages both software and hardware resources b. It manages files on computer hard drives and control peripherals, like printers and scanners. c. It prevents unauthorized users from accessing the computer system. d. Operating systems for small and big computers have the same jobs to do. 2. Operating systems provide a stable, consistent way for applications to deal with the ……….. without having to know all the details of the …………. a. Hardware, software b. Hardware, hardware c. Software, hardware d. Software, software 3. Which of the following is not a category of the operating system? a. Multi-user Operating system b. Real-time operating systems c. Real-time multi-user Operating system d. Single-user single task Operating system 4. Which of the following is not a utility program? a Virus scanning software 10 b Backup software c Scandisk d Disk patch 5. A utility suite can do many tasks. Which of the following statement is not true? a. Firewall, Antivirus, Antispyware, Registry cleaner, data compression b. Shortcut cleaner, Edit system settings, Disk defragger, Disk checker, c. Removes clutter, Memory defragger, Network optimizer, Browser optimizer, d. Internet history cleaner, System diagnostics, Process explorer, Task scheduler, 6. In a Windows Operating system, the ……… shows you programs and processes that are running. a. Windows diagnostic b. Windows performance monitor c. Windows task manager d. Windows even viewer 7. Drivers are used for interfacing with: a. Printers, Video adapters, Network cards, Sound cards b. Local buses of various sorts, Printers, Video adapters, c. computer storage devices such as hard disk, CD-ROM and floppy disk buses d. All of the above 8. A compiler is actually a computer program that translates programs written in a high-level language into …….. a. machine code b. low-level code c. machine readable code d. binary code 11 9. ………… is a Windows graphical tool for measuring the performance of your own computer or other computers on a network. a. Windows diagnostic b. Windows performance monitor c. Windows task manager d. Windows even viewer 10. A ………… operating system allows many different users to take advantage of the computer's resources simultaneously. a. Multi-user b. Real-time c. Real-time multi-user d. Single-user single task Answers: 1. d, 2. b 3. c 4. d 5. a 6. c 7. d 8. a 9. b 10. a References: Books: 12 1. Diane M. Coyle, Computers Are Your Future, Complete, 10/E, Prentice Hall, 2009. ISBN-10: 0135045118, ISBN-13: 9780135045114. 2. John Preston, Sally Preston and Robert L. Ferrett, Computer Literacy for IC3, Prentice Hall, 2009. ISBN-10: 0131498649, ISBN-13: 9780131498648. 3. Alan Evans, Mary Ann Poatsy and Kendall Martin, Technology in Action, Introductory, 5/E, Prentice Hall, 2009. ISBN-10: 0135137667, ISBN-13: 9780135137666. 4. Brian K.Williams and Stacey Sawyer, Using Information Technology: A Practical Introduction to Computers and Communications, 7th Edition, McGraw-Hill, 2007. ISBN-13 9780072260717. 5. James A. O'Brien and George Marakas, Introduction to Information Systems, 13th Edition, McGraw-Hill, 2007, ISBN-13 9780073043555. Online References: [1] http://www.webopedia.com/TERM/O/operating_system.html [2] http://www.howstuffworks.com/operating-system.htm [3] http://www.computerhope.com/os.htm [4] http://www.comptechdoc.org/basic/basictut/osintro.html [5] http://www.blurtit.com/q938183.html [6] http://en.wikipedia.org/wiki/Category:Operating_systems [7] http://wiki.answers.com/Q/The_3_categories_of_operating_system [8] http://www.doc.eng.cmu.ac.th/course/cpe101/Chapter08.ppt [9] http://reviews.cnet.com/4566-3690_7-0.html [10] http://oca.microsoft.com/en/windiag.asp [11] http://www.hexagora.com/en_dw_davperf.asp [12] http://kbalertz.com/308427/Manage-Event-Event-Viewer-Windows.aspx [13] http://en.wikipedia.org/wiki/Windows_Registry 13 [14] http://support.microsoft.com/kb/323527 [15] http://www.absoluteastronomy.com/topics/Device_driver [16] http://www.answers.com/topic/programming-language 14