Software
Software
Computer Software
Aim:
This session aims to provide the basic ideas of Software to the Students.
Objectives:
Having studied this session the student will be able to:
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 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.
The following diagram (Figure 4.1) shows the basic categories of software. This section will give
you a description on each category of software together with some examples.
42
Computer
Software
System Application
Software Software
Operating General
Systems Purpose
Utilty Software
Special
Purpose
Library
programs Bespoke
Programming
Language
Translaters
43
There are two main types of Operating Systems:
Single-user OS: A type of OS which allows only one user at a time. There can be single-user OS
either as single-user single-task or single-user multi-task. The Single-user single-task OS has
to deal with only one person at a time running only one application at a time. MS DOS is an
example for a single user single task OS.
Think of the OS of your Personal Computer. It is designed mainly with one user (i.e. you) in
mind but that only user: you can deal with many applications running at the same time. You may
word process a document with a word processing application like MS Word while listening to
music played in the windows media player in parallel. Or you might be answering the school
assignment while searching more facts on the internet while a suitable video is being
downloaded. This type of OSs is of single-user multi-task OS. An example of such OS is
Windows 95.
Multi-user OS: In some situations, we need to share the single computer among few users. So
the OS should be a multi-user where more than one user is logged on to the computer and uses it
at the same time. These multi users may work with remote desktop connections. Further, these
different users may need to run different applications at the same time. So the OS must support
multi-task facility as well. Obviously the computer should be a powerful one. Each user draws
on a big power of the computer in a shared way. This type of Multi –user multi-task OSs have to
manage some tasks as listed below:
- Each user logged on to the system, their workspace and so on.
- Allocate resources to the jobs they want to run.
- Keep logs of how much processing time and resources they use
- Work out the most efficient use of computer processing cycles
- Maintain security
The OS can also be categorized as Desktop OS and Server OS depending on whether the OS is to
be installed in a desktop computer or a server. For example, the latest versions of the Windows
OS family can be categorized as follows:
Desktop OS: windows XP, windows 7, Windows 8
Server OS: Windows 2000Server, Windows 2005Server, Windows 2008Server
As most of you are using Desktop Personal Computers, following web article is extracted in
order to give you an overview on the different operating systems you may use.
Source: http://www.geek.com/desktop-computer-buyers-guide/operating-system/
44
Operating Systems for your Desktop PC
Following is a note extracted from the web regarding the OS and given for the reader for
additional facts about your OS
The operating system (OS) is the foundation of your computer’s software. Everything that
runs on the computer is based on this in one form or another and its stability and functionality
will determine what you can get out of the computer.
Currently there are three main options: Windows, Linux, and Apple’s OS X. They may serve the
same purpose, but they are too firmly established to say that one is better than the others.
Each has their own strengths and weaknesses and each will have unique appeal to different
buyers.
As important as this decision is, it is largely a moot issue because the vast majority of consumer
desktops sold run Windows. As of October 22, 2009 the current version is Windows 7, and it’s a
highly regarded update to the previous Windows Vista. Like it or not, 7 is going to be the only
version of Windows that ships on most new desktops.
Apple’s OS X (current version “Snow Leopard”) is also an excellent OS and it’s generally seen as
a great choice for most home users, ranging from the casual buyers to computer professionals.
While an excellent operating system it is only sold with Apple’s desktops (namely the iMac and
Mac Pro) so this guide might not be extremely helpful because those systems have limited
options available to them.
Some types of Linux are also fantastic for home users, but it is not something people generally
have experience with so it can be hard to recommend, unless if you have a close friend or
family member to help you get your on your feet. It also cannot run popular applications like
iTunes and Photoshop, so it can be an issue for some buyers. Linux is free and easy to run
though, so any computer you build/buy will be able to run it in a trial mode (via a Live CD or on
a USB key) without even having to install it. This is an ideal way to give it a try before
committing to it. Not many desktops ship with Linux so this will limit a buyer’s options as well.
As for Windows 7, it comes in a few different varieties. They won’t all be available in all areas
though. Ranging from the least to most expensive
This may look confusing but the vast majority of Windows buyers will be getting either Home
Premium or Professional, so the decision won’t be too hard. If you don’t know why you’d want
to get Professional then Home Premium will do the job nicely. Home Premium will be the right
fit almost all home users
45
4.2.2 Utility Software
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:
Viewing files
Compressing files
Diagnosing problems
Scanning disks
Defragmenting disks
Uninstalling software
Backing up files and disks
Checking for viruses
Displaying screen savers
Following figures show some of the user interfaces of the above utility programs.
46
Figure 4 .3: AVAST Software Uninstall Utility Figure 4.4: WinZip file compressing utility
Figure 4.5: McAfee Antivirus Utility Figure 4.6: Disk Defragmenter utility
47
4.2.3 Library Programs
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 w\Windows, you can
often identify library programs by their extension .dll (dynamic link library).
Assembler:
An assembler translates the symbolic codes of programs of an assembly language into machine
language instructions (See Figure 4.7 below). The symbolic language is translated to the
machine code in the ratio of one is to one symbolic instructions to one machine code
instructions. Such types of languages are called low-level languages. The assembler programs
translate the low-level language to the machine code. The translation job is performed either
manually or with a program called assembler. In hand assembly, the programmer uses the set of
instructions supplied by the manufacturer. In this case, the hexadecimal code for the mnemonic
instruction is searched from the code sheet. This procedure is tedious and time-consuming.
Alternate solution to this is the use of assemblers. The program called assembler provides the
codes of the mnemonics. This process is fast and facilitates the user in developing the program
speedily.
Interpreters also come in the group of translators. It helps the user to execute the source program
with a few differences as compared to compilers. The source program is just like English
48
statements in both interpreters and compilers. The interpreter also generates object codes from
the source program. Interpreter reads the program line by line, whereas in compiler the entire
program is read by the compiler, which then generates the object codes. Interpreter directly
executes the program from its source code. Due to this, every time the source code should be
inputted to the interpreter. In other words, each line is converted into the object codes. It takes
very less time for execution because no intermediate object code is generated.
Compiler:
Compilers are the translators, which translate all the instructions of the program into machine
codes, which can be used again and again (See Figure 4.8 below). The source program is input to
the compiler. The object code is output for the secondary storage device. The entire program will
be read by the compiler first and generates the object code. However, in interpreter each line is
executed and object code is provided. M-BASIC is an example of an interpreter. High-level
languages such as C, C++ and Java compilers are employed. The compiler displays the list of
errors and warnings for the statements violating the syntax rules of the language. Compilers also
have the ability of linking subroutines of the program.
Re-call the classification of software given in Figure 4.1. Accordingly, the second major class of
Software is the Application Software. Application software consists of programs designed to
perform specific tasks of users. Application Software, also called a software application or an
application, can be used for the following purposes, among others:
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.
49
General Purpose Application Example Uses
50
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.
Following are some examples for bespoke software:
- Membership database (Insurance Industry)
- Dispatch Systems (Factory/Processing Industries)
- Sales order Systems (Newspaper Industries)
- Invoicing System (Motor Industries)
- Freelancer System (Newspaper Industries)
- Calibrating Software (Pharmaceutical Industries)
Software that checks all medical devises to ensure that all are correctly calibrated
- Educated Marketing database (Education)
- Event Planning Database (Manages invitations, member registrations, and seminar
places)
- Marketing Databases (territory management, telemarketing, direct mail campaigns,
analysis)
- Sales Training Databases (Management reports of personal attainment, history, and team
performance)
51