Download Chapter 3 System Software Objectives: In this chapter we will

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Security-focused operating system wikipedia , lookup

Unix security wikipedia , lookup

Burroughs MCP wikipedia , lookup

Distributed operating system wikipedia , lookup

Mobile operating system wikipedia , lookup

Copland (operating system) wikipedia , lookup

OS/2 wikipedia , lookup

VS/9 wikipedia , lookup

CP/M wikipedia , lookup

Transcript
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