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

feastcanadianΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 6 μήνες)

82 εμφανίσεις

1


Chapter
3


System
Software


Objectives:

In this chapter we will

discuss the following topics
:



The t
wo

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 t
he t
wo

basic functions of any operating system

2.

Identify t
he
four

categories of operating systems

3.

Explain t
he purpose of utilities and utility suites

4.

Discuss th
e five most essential utilities

5.

Understand the importance and use of
Device drivers

6.

Appreciate the func
tions of
Language translators


3.
0

Introduction

An
operating

system

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
device
s 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 li
ves in behaves in a flexible
but predictable way.

2


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 overco
me 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 i
ncludes 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 profe
ssional 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 t
wo

basic functions of any operating system

At the simplest level, an operating system does two things:


3


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.








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 consiste
nt
application program
interface

(API) allows a software developer to write an application on one computer and have a
Applications

I/O Management

Device Drivers

Memory Management

CPU Management

Hardware

4


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.


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:

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 re
act 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 th
e same amount of time, every time it occurs.


II.

Single
-
user, single task

-

T
his 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 moder
n single
-
user, single
-
task operating system.


III.

Single
-
user, multi
-
tasking

-

This operating system
is
most
ly
use
d

on de
sktop 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

i
s entirely possible for a Windows user to
5


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 messag
e.


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 th
e 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 perf
ormance
.

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 use
r
s, 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

6


from the most recent viruses. Virus scanning
packages come with directions on how to
receive updates to our software!


II.

Backup software

is software that assists
us

in backing up our files and even the entire
computer hard drive. It is
important

for u
s

to back up our files regularly
.

We
should
backup o
ur valuable data on
our hard drive.


III.

Scandisk

is a utility provided with Windows computers. Scandisk scans our disks to see if
there are any potential problems on the disk, such as bad disk areas. Since disks are
magnetic media, all disks, including our h
ard drive can be corrupted.


IV.

Disk Defragmenter software

reorganizes
our disk drives. After files are saved, deleted
and resaved again, the disk can become fragmented
---

available space is in small blocks
located throughout the disk. Disk defragmenters ga
ther those free spots and put them
together to enable u
s

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 i
nclude:



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:

7


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 ess
ential 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 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 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 i
n our system. 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 avail
able under the System Tools.



8


d)

Windows Registry Editor

This program can be used to view the system configuration and environment.


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


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.

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 ro
utine 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 d
iversity 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

9




Choosing and installing the correct device drivers for
a
given hardware is often a key
component of computer system configurati
on.


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 langua
ge 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 in
to 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.


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.


10


A device driver or software driver is a computer program allowing higher
-
level computer
programs (an ap
plication) 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.


Exer
cises:

Choose the best answer.

1.

Which of the following statement is not true about operating system?

a.


It
manag
es

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

m
ulti
-
user Operating system

d.

Single
-
user single task

Operating system


4.

Wh
i
ch of the following is not a utility program?

a

Virus scanning software

11


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

12


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

m
ulti
-
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