Computer Software
________
Danish Ali
Two things are required for Computing
Hardware: The physical equipment in a computing environment
such as the computer and its peripheral devices (printers,
speakers...)
Software: The set of instructions that operates various parts of the
hardware. Also termed as “computer program”
• The HW needs SW to be useful; the SW needs HW to be useful
• When the user needs something done by the computer, he/she gives
instructions in the form of SW to computer HW
• These instructions need to be written in a language that is readily
understood by computer microprocessor.
Two Major Types of Software
• System Software
• Programs that generally perform the background tasks
in a computer. These programs, many times, talk
directly to the Hardware
• Application Software
• 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 Software
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
microprocessor 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
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 start microprocessor and a few low-level
Input/output routines that assist the computer in finding out and
executing the rest of the OS
• In 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 back microprocessor 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 microprocessor
1. Compiler translates the program written in a HLL in one go. The
translated code is then used by the microprocessor 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 microprocessor 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; MATLAB; Corel Draw; etc.
• 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
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 …
Types of SW licensees
1. Proprietary SW License
2. Freeware SW License
3. Open-Source SW License
4. Shareware SW License
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, MS Word, Adobe Photoshop, Norton Antivirus
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; Netscape Web browser – the Navigator;
Microsoft Web browser – the Internet Explorer
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