0% found this document useful (0 votes)
26 views53 pages

Computer S.W

There are two major types of software: 1. System software - Programs that perform background tasks and interact directly with hardware. This includes operating systems and device drivers. 2. Application software - Programs that interact with users to perform useful tasks. They generally interact with hardware through system software and the operating system.

Uploaded by

Saad Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views53 pages

Computer S.W

There are two major types of software: 1. System software - Programs that perform background tasks and interact directly with hardware. This includes operating systems and device drivers. 2. Application software - Programs that interact with users to perform useful tasks. They generally interact with hardware through system software and the operating system.

Uploaded by

Saad Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 53

Two Major Types of SW

• System SW
– Programs that generally perform the background tasks in a
computer. These programs, many times, talk directly to
the HW

• Application SW
– Programs that generally interact with the user to perform
work that is useful to the user. These programs generally
talk to the HW through the assistance of system SW

• The diagram on the screen shows the relationship


between HW and these two types of SW
Hardware
Device Driver
Operating System

Language Scientific Business Productivity Entertainment


Utility
Translator Apps. Apps. Apps. Apps.

System software

Application software
System SW are programs that …
• Control the overall operation of the computer
– OS

• Interact directly with HW


– Device drivers

• Perform system management & maintenance


– Utilities

• Are used to develop or maintain other programs


– Language translators
Operating System
• Performs its work invisibly to control the internal
functions of a computer, e.g. maintaining files on the
disk drive, managing the screen, controlling which
tasks the uP performs and in what order
• It interacts directly with the computer HW

• Other SW normally does not directly interact with the


HW, but through the OS

• Examples:
Windows Mac OS Linux
Unix Solaris DOS
CP/M VMS
Operating System
• An OS manages and coordinates the
functions performed by the computer
hardware, including CPU, I/O devices,
secondary storage devices and
communication equipments.
• It is the most important program runs on
a computer.
• Every general-purpose computer must
have an OS to run other programs
General Over View
• OS keeps the track of each h/w resource, to
determine who gets what and when.

• The complexity of an OS depends computer


system’s size and scope. eg. Single stand-alone
microcomputer has relatively simple OS then
Mainframe.

• The primary purpose of an OS is to maximize the


productivity of a computer system by operating it in
the most efficient way by minimizing the human
intervention.
General Over View
• The 1st program that runs when a typical
computer is turned ON, and the last one to
finish running when the computer is turned OFF

• It manages the HW and SW resources of the


computer system, often invisibly. These include
the processor, memory, disk drives, etc.

• It provides a simple, consistent way for


applications to interact with the HW without
having to know all the details of the HW
Advantage for App. Developers
• App developers do not need to know much
about the HW while they are developing their
app

• They just develop with a particular OS in mind.


If the OS runs on many types of computers
having different HW configurations, so will the
app – without making any HW-specific
modifications in the app SW. The OS hides the
HW differences from the app
Are OS’es Essential?
• No. If a computer has been designed for
limited functionality (e.g. it runs just a single
program all the time as in a automatic clothes
washing machine), it does not require a
traditional OS

• In limited-functionality computers, an OS just


adds to the overhead unnecessarily, which
impedes the computer’s performance

• In these situations, the required parts of the OS


are integrated into the the only program that is
going to run
In the beginning …
• A single user ran a single program ran on a single
computer – there was no need for an OS

• Then came computer operators who ran multiple


programs for multiple users one after the other – still,
no need for an OS

• Later computers became powerful, & became able to


run multiple programs, simultaneously. That’s when
the need for OS’es arose for:
– Managing the resources of the computers efficiently
– Making use of computers convenient for users/programmers
Core Tasks / Functions of an OS

1. Processor management (Job Mgt)


2. Memory management
3. Device management
4. Storage management
5. Application Interface
6. User Interface
Processor Management – Job Mgt
• Various programs compete for the attention of
the uP for their own purposes

• The OS plays the role of the honest referee,


making sure that each app gets the necessary
attention required for its proper execution

• It tries to optimally manages the limited


processing capacity of the uP to the greatest
good of all the users & apps
Memory Management – Data Mgt
• Straight forward for a single-user, single tasking

• Each app must have enough private memory in


which to execute

• App can neither run into the private memory space


of another app, nor be run into by another app

• Different types of memory (e.g. main, cache) in the


system must be used properly, so that each app
can run most effectively
• Virtual Memory: Create pages or segments to
increase the size of main memory.
Storage Management
• The OS manages storage through one of its
sub-modules, the File Manager

• A file system is a collection of directories,


subdirectories, and files organized in a logical
order

• File manager maintains an index of the


filenames & where they are located on the disk

• File manager make it easy to find the required


file in a logical and timely fashion
Device Management - I/O Mgt
• Applications talk to devices through the OS and
OS talks to and manages devices through
Device Drivers

• Example: When we print to a laser printer, we


do not need to know its details. All we do is to
tell the printer device driver about what needs
to be printed and it takes care of the details
Application Interface
• App developers do not need to know much
about the HW, especially the uP, while they are
developing their app

• The OS provides all apps with a straight-


forward and consistent interface to the HW

• Example: An app uses the OS to store data on


the disk drive. For that, the app does not need
to know about the exact physical characteristics
of that drive; it just tells the OS to do that
through the app interface, and the OS takes
cares of all the details of the task
User Interface
• Users communicate with the computer using a
consistent user interface provided by the OS

• This UI can be a command-line interface in which a


user types in the commands. Example:
copy a:/file1.html c:/file1.html

• Or, it can be a graphical UI, where Windows, Icons,


Menus, and a Pointing device (such as a mouse) is
used to receive and display information. Example:
With the help of the mouse, drag
file1.html from drive a to drive c
OS Components
Device
Manager

File
Manager

Loader Kernel
Command
Interpreter
(Shell) GUI
Kernel
• The heart of the OS

• Responsible for all the essential operations like


basic house keeping, task scheduling, etc.
Also contains low-level HW interfaces

• Size important, as it is memory-resident


Types of OS’es
Classification w.r.t. the type of computers they
run on and the type of applications they support

– Real-Time Operating System (RTOS)


– Single-User, Single Task
– Single-User, Multi-Tasking
– Multi-User
Classification of OS
• OSs can be classified as:
o Multi-user
o Multi-processor
o Multi-tasking
o Multi-threading
Classification of OS
1. Multi-User Operating System:
• Also known as Time Sharing
• It allows two or more users to run
programs at the same time.
• Some OS allows 100’s or even 1000’s of
users.
• Mainframe and minicomputers are multi-
user operating systems.
• Examples: MVS, UNIX etc.
Classification of OS
2. Multi-Processing Operating System:
• Also known as Parallel Processing.
• It allows two or more programs or processes
to run programs at the same time.
• It also refers to the utilization of multiples
CPUs in a single computer system.
• Examples: MVS, UNIX, OS/2 etc.
Classification of OS
3. Multi-tasking Operating System:
• It allows more than one program programs to
run concurrently programs at the same time.
• Multi-tasking is different from multi-processing
because sometimes in M-P more than one
CPU is involved and M-T only one CPU is
used which switches from one program to
another.
• Types of Multi-tasking OS:
1. Preemptive
2. Cooperative
Classification of OS
3. Multi-tasking Operating System:
• Types of Multi-tasking OS:
– Preemptive
In this type CPU give time slice to each program.
Example: OS/2, Windows 9x, Windows NT, Unix etc.

– Cooperative
In this type each program can control CPU for as long
as it needs it. If program is not using CPU it can
allow any other program to use it.
Example: Windows 3.x and MultiFinder (for Macintosh)
etc.
Classification of OS
4. Multi-threading Operating System:
• It allows different parts of a single
program to run concurrently at the
same time.
• These parts are known as threads.
• The programmer must design program
carefully so that its parts cannot
interface each other during processing.
RTOS (1)
• Used to run computers embedded in
machinery, robots, scientific instruments and
industrial systems

• Typically, it has little user interaction capability,


and no end-user utilities, since the system will
be a "sealed box" when delivered for use

• Examples: Wind River, QNX, Real-time Linux,


Real-time Windows NT
RTOS (2)
• An 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

• In a complex machine, having a part move


more quickly just because system resources
are available may be just as catastrophic as
having it not move at all because the system
was busy
Single-User, Single Task
• OS’es designed to manage the computer so
that one user can effectively do one thing at a
time

• The Palm OS used in many palmtop computers


(PDA’s) is an example of a single-user, single-
task OS
Single-User, Multi-Tasking
• Most popular OS

• Used by most all PC’s and Laptops

• Examples: Windows, Mac OS, Linux

• Lets a single user interact with several


programs, simultaneously
Multi-User
• A multi-user OS allows many users to take
advantage of the computer's resources,
simultaneously

• The OS must make sure that the requirements


of the various users are balanced, and that the
programs they are using each have sufficient
and separate resources so that a problem with
one user doesn't affect any of the other users

• Examples: Linux, Unix, VMS and mainframe


OS’es, such as MVS
Another Way of Classifying
Uni-processor OS’es
Designed to schedule tasks on a single uP only
Example: DOS

Multi-processor OS’es
Can control computers having multiple uPs, at
times 1000’s of them
Example: Current versions of Windows,
Mac OS, Linux, Solaris
How many different OS’es are there?
• 100’s

• OS’es from the Windows family dominate the


desktops and run on millions of PC’s

• OS’es from the Unix family (Unix, Linux, etc)


are quite popular on servers

• There are hundreds more. Some designed for


mainframes only. Some for embedded
applications only.
Comparing Popular OS’es
OS HW Stability Cost Apps. Support Security Popularity
Windows
PC Poor $300 Huge no. OK Poor Amazing
(GUI)

Mac OS
Mac Good $60 Many OK Good Low
(Shell/GUI)

Linux
Many Good Low Many Variable Good Low
(Shell/GUI)

Unix
Many Excellent High Many Expensive Excellent Servers
(Shell/GUI)
Firmware
• OS components that are stored permanently
on chip (ROM) and not on the disk drive

• When a computer is powered-on, firmware is


the first program that it always executes

• Firmware consists of startup and a few low-


level I/O routines that assist the computer in
finding out and executing the rest of the OS

• On IBM-compatible PC’s, it is called BIOS


Utilities
Computer programs that perform a particular
function related to computer system
management and maintenance

Examples:
1. Anti-virus SW
2. Data compression SW
3. Disk optimization SW
4. Disk backup SW
Language Translators
Programs that take code written in a HLL and translate
it into a low-level language that is easily understood by
the uP

1. Compiler translates the program written in a HLL in


one go. The translated code is then used by the uP
whenever the program needs to be run

2. Interpreter translates the HLL program one


statement at time. It reads a single statement,
translates it into machine language and passes that
machine language code to the uP and then translates
the next statement, and so on …
Device Drivers
• A computer program that facilitates the
communication between the computer and a
peripheral device (e.g. printer, mouse, etc.)

• It takes the instructions and/or data from the


computer and converts them into a form that is
readily understood by a peripheral device, and
vice versa
Application SW
Application SW are programs that interact directly with
the user for the performance of a certain type of work

• Scientific/engineering/graphics SW
– Mathematica; AutoCad; Corel Draw
• Business SW
– The billing system for the mobile phone company
• Productivity SW
– Word processors; Spreadsheets
• Entertainment SW
– Games
• Educational SW
– Electronic encyclopedias; The VU Web site
Hardware
Device Driver
Operating System

Language Scientific Business Productivity Entertainment


Utility
Translator Apps. Apps. Apps. Apps.

System software

Application software
Another way of classifying SW
• Shrink-Wrapped SW
– You can just go to a shop and buy it

• Custom-built SW
– You cannot just go to a shop and buy it; you have to
find someone who can develop it for you
Shrink-Wrapped SW

• SW built in such a way that it is useful for many


different users in many different ways

• Example: MS Word. Individuals use it and so


do many large corporations. It is used for
writing one-page letters and also to typeset
books
Custom-Built SW (1)
• SW built for a particular organization to fulfill the
needs of that particular organization

• Example: A system for predicting the


preferences of the Nortwest Airline pilots

• This type of SW is expensive because the


builder has to recoup costs and make a profit
from a single sale
Custom-Built SW (2)
• The delivery time is longer

• Customers get more productivity out of it


because it is built according to their exact
specifications – just like a custom-built shoe fits
better, but generally is more expensive, and
requires a longer period for delivery
Who Owns Software?
• Generally, although a piece of SW that is being
used by millions, it is not owned by any of them!
Instead, it is owned by the maker of the SW

• The makers let us use their SW but keep the


ownership to themselves. When we buy a SW
package, we do not really buy it – we just buy a
license that allows us to use it, the ownership
stays with the maker

• However, there are variations on this theme …


3 main types of SW licensees
1. Proprietary – Most software on a Windows
PC or a Macintosh belongs to this category

2. Freeware – Most software on a Linux PC


belongs to that category

3. Shareware – the category which lies


between the above two categories
Proprietary SW License
• The user needs to pay the maker of the SW for
buying a license that allows the user to use the SW

• The license, generally, does not transfer the


ownership of the SW; it just allows the user to use it

• The user is legally barred from making copies of the


licensed SW. Generally, the license is for the
personal use only

• Most SW in use in the world is of this type

• Examples: Windows, Mac OS, MS Word, Adobe


Photoshop, Norton Antivirus
Types of Proprietary Licenses
• Single-user license
• Multi-user license
• Concurrent-user license
• Site license
Freeware SW License
• Also known as “Public Domain SW”

• Allows the user free use of the SW

• The author, however, generally retains ownership

• Can usually be downloaded from various Web sites

• Examples: Linux; LaTeX; Netscape Web browser – the


Navigator; MS Web browser – the Internet Explorer

• Why give away SW for free? (message board)


Open-Source SW License
• Some authors give away the machine code only, which
is extremely difficult to modify, if at all!

• Others even give away the high-level language source


code so that users can make changes according to
their own requirements

• The later practice is called open-source licensing

• Examples: Linux; Netscape Navigator


Shareware SW License
• Allows the user free use of the SW, but with a request
that the user pay the author a small amount (US$10-50) if
the user is satisfied with the SW
• The author retains ownership

• Can usually be downloaded from various Web sites

• Examples: WinZip, Download Accelerator

• Why give away SW (initially) for free?


– The author is an individual or a small business that cannot
afford to advertise. No one’ll even try the SW if it had a price
– The expectation is that the user will try the SW for free, find it
useful, and then pay the very small price for the SW
Trialware
• Similar to shareware, but different

• The SW is usable for a short period only

• After an initial trial period that can range from a week


to a few months, the SW self-destructs

• Can be downloaded from the Internet or alternatively,


the user can receive a copy my snail-mail by writing to
the maker of the SW

• Why trialware?
– So that the customer can have a risk-free trial for a limited-
period only

You might also like