Computer Software
Computer Software
3. Computer Software
3.1. What is Software?
Software, also called a computer program or simply a program, is a series of instructions that
tells the hardware of a computer what to do. For example, some instructions direct the
computer to allow you to input data from the keyboard and store it in memory. Other
instructions cause data stored in memory to be used in calculations such as adding a series of
numbers to obtain a total.
Before a computer can perform or execute a program, the instructions in the program must
be loaded into the memory (RAM) of the computer. Usually, they are loaded into memory
from storage like hard disk.
When you purchase a program, you will receive one or more CD-ROMs or a single DVD-ROM
on which the software is stored. To use the software, you often need to install the software
on the computer’s hard disk. Sometimes, a program can be loaded in memory directly from a
CD-ROM or a DVD-ROM so that you do not have to install it on the hard disk to use it.
When you buy a computer, it usually has some software already installed in its hard disk. Thus
you can use the computer as soon as you receive it. Software is the key to productive use of
computers. With the correct software, a computer can become a valuable tool.
Software
Programming Language
Translaters
1
Computer Centre University of Jaffna
Figure 2 The interaction among User, Application Software, System Software and Hardware.
Normally, a user interacts with application software. This then controls the hardware by calling on
operating system routines. Sometimes the user interacts directly with the operating system. (E.g.
when moving a file between two folders.)
As shown in the above figure 1 there are several types of system software. Next sections will look
at each type of system software together with examples.
The Operating System contains instructions that co-ordinate all of the activities of hardware
devices of your computer. It also contains instructions that allow you to run any applications
software. One may define the Operating system as an interface between a user and all computer
resources.
When you start a computer, the operating system is loaded or copied into memory (RAM) from
the computer hard disk. It remains in memory while the computer is running and allows you to
communicate with the computer and other software. A computer cannot function without an
operating system. It is an important component of the computer system, because it sets the
standards for the application programs that run on it. All programs must “talk to” the OS.
2
Computer Centre University of Jaffna
Following are some examples of such OS:
Windows Windows 10, Windows 8, Windows 7, Windows XP, Windows Vista etc.
Apple Mac OS
There are two main services performed by an operating system. They are:
Managing the hardware and other software of a computer
Providing user interface
Managing the Hardware and other software of a computer
Hardware and other software of a computer are managed by using the following processes;
Process Management - We can call a running computer program or part of the
program as a process. All the activities in a computer run as either a single process
or a multiple processes. Resource management activities such as allocation of CPU
time, allocation of memory, and allocation of input output devices of each process
are managed under the resource management of Operating System.
Memory (RAM) Management - Systematic management of the memory is vital for
the proper functioning of a computer. Memory management process makes sure
that enough memory is allocated for each process and it also makes sure that the
memory is freed once a particular process ends.
Input and Output Devices Management - The operating system is responsible for
the management of peripheral devices. Device controllers are used to control the
peripheral devices whereas device drivers are used to control software components.
File Management - We can save data in files and we keep the files within the folders
in order to manage methodically. The Operating System to manage the files and
folders.
3
Computer Centre University of Jaffna
Providing user interface
We need an interface to interact with the computer. An Operating System provides a user
interface to input commands and instructions in a user friendly manner. Using this interface, we
can perform tasks without using complex instructions.
There are two types of user interfaces provided by the Operating Systems. They are:
Command Line Interface (CLI) - This kind of interface was used by all the Operating System
systems of the early days. This interface had a ‘prompt’ where the commands are keyed
in using a keyboard. In using command line interface, the correct syntax has to be used.
Graphical User Interface (GUI) - This GUI provides the ability to use the mouse or finger
tips to navigate the commands. These Operating System with GUI uses four components
in order to make a friendly environment. These components are abbreviated as WIMP.
WIMP stand for:
W - Windows
I – Icons
M – Menus
P - Pointer
Utility software or utility programs are some small programs which performs specific task, usually
related to managing a computer, its devices, or its programs. Most operating systems include
several utility programs. Also, you can buy them as stand-alone software that offer improvements
over the ones supplied with the OS. Following are some of the specific tasks done by commonly
used utility programs:
4
Computer Centre University of Jaffna
Network utilities - to analyze the computer's network connectivity, configure network
settings, check data transfer or log events.
Library programs are collections of some pre-written codes or resources that are used to develop
other programs. For an example, you might have noticed that all Microsoft Programs look like the
same or have the same look and feel in the interfaces though the application differs. The reason
for this consistent look is the using of same graphical user interface libraries when developing
different applications by the Microsoft. Another classical example is, the computer game
developers often buy and use pre-done graphical user interface libraries and develop new games
as they need to save time and cost of entire development process. This will allow them to quickly
develop a good looking game that runs on the desired hardware. In Windows, you can often
identify library programs by their extension .dll (dynamic link library).
First of all you need to understand that computers and humans speak different languages. While
humans speak languages like English, French, Hindi, Tamil, Sinhala, Japanese, Arabic etc.;
computers speak only one language i.e. binary, also called as Machine language. Alphabet of
computers contains only two letters, namely zero and one. Computers are machines and for them
it is much easier to work using a simpler encoding of 0s and 1s.
The problem is that we are not comfortable with binary and computers find our languages too
difficult to understand. To get around this problem a middle path of an intermediate language is
used to convey human commands to the computers. This intermediate language is called —the
programming language.
Programming language is not plain English. It is essentially a predefined syntax of writing logical
computer instructions which humans can also understand.
We also need something to convert programming language into binary language for the
consumption by computer. In this point we need translators. There are three approaches of
program translating:
Assembler
Interpreter
Compiler
Assembler:
Compiler:
Compiler is a software that checks a computer program (called source code) and lists all the errors
found. When humans remove all these errors, compiler converts the program into binary code
(also known as machine code or object code). Computers can understand binary code and
therefore they can execute (Run) instructions written by humans using programming language.
Examples of programming languages that use compilers: C, C++, Java, COBOL
5
Computer Centre University of Jaffna
Interpreter:
Task of interpreter is also more or less the same but interpreter works in a different fashion.
Interpreter program works line-by-line. It takes one statement at a time as input and interpret
that line. If error occurs in that line it stops and reports the error. Rest of the program will not be
checked until the existing error is removed. If there is no error then the interpreted line will
execute (Run). Interpreted languages are less efficient but easier to debug. This makes such
languages an ideal choice for new students. Examples of programming languages that use
interpreters: BASIC, Visual Basic, Python, Ruby, PHP, Perl, MATLAB, Lisp
As a productivity/business tool
To assist with graphics and multimedia projects
To support household activities, for personal business, or for education
To facilitate communications
A variety of application software is available that you can buy from software vendors in retail
stores or on the Web. A specific software product, such as Microsoft Word, often is called a
Software Package.
Based on the purposes as listed above, the application software is three-fold namely General
Purpose, Special purpose, and Bespoke. Let us look at each type of applications software briefly.
A general purpose application is also called “off-the-shelf” applications. These are the software
you use at home, university, or at work place to make you more effective and efficient while
performing daily activities. These include applications such as word processors, spreadsheets,
databases, desktop publishing packages, presentation packages, graphics packages, text editors,
etc. Following table gives example uses of different general purpose applications.
6
Computer Centre University of Jaffna
Special Purpose Application Software is the software created for execution of a single specific task.
Some examples are Chess game, calculator, camera application in your mobile phone which allows
you only to capture and share pictures, web browsers, media players, calendar programs.
Some organizations may feel that the general purpose software are not suitable for their task and
it does not exactly what they want or it does not tallying with the current system in the
organization. In this type of situation, they decide on designing and developing software
specifically for them. These software are also called as the “tailor-made software” or “Bespoke
software” as they are made to a specific user and customized for a specific task only. Following
are the advantages and disadvantages of bespoke software:
Advantages:
The organization will get the exact system that they need
The software will work exactly how they want it to work
The software will only have the features that they specifically need in their job or
business feeling them comfortable to use
Disadvantages:
It takes more time to develop such systems. The development duration several months
or years
Developmental cost is very high
Sometimes it is required to employ a team of people at different stages of the
development process such as analysts, programmers, testers, etc.
7
Computer Centre University of Jaffna
Following are some examples for bespoke software:
Freeware
The term freeware is commonly used for copyrighted software that is given free by its owner. Though
it is available free, the owner retains the copyright, which means that a user does not have the right
to modify anything in the software. Thus freeware software carries a license that permits redistribution
but not modification.
Shareware
Shareware is a software that is distributed free on a trial basis. It allows People to redistribute copies
for a limited period. Anyone who continues to use a copy of this required to pay a license fee. Therefore
the free use of the software is limited to a certain period. WinZip software is an example of shareware,
which is distributed with a 30-day trial period.
Commercial software
Commercial software represent the majority of software purchased from software publishers. This
software comes pre-packaged, is available in software stores, and can be obtained through the
internet. It is developed by business organizations, which aims to earn profit from its use. It is always
copyrighted. It is generally more expensive than competing shareware products. For example
Microsoft windows.
Firmware
Firmware is a program or data that has been written onto read-only memory (ROM). For example, the
BIOS (Which is installed inside a computer on a chip) checks different parts of the system before
loading the operating system into memory.