Software New
Software New
5. Software
1. Software: Software is a concise set of computer programs, which are combined for some
predefined needs. A Computer program is a set of instructions written in any of the computer
language to perform a particular type of task.
2. Computer Language: The medium through which man communicates with computer is
called computer language. It is a set of symbols which computer can understand. The
computer languages are used to give instructions to computer and to write computer
programs.
3. Types of Computer Languages: Depending upon the style and scope of use, computer
languages are broadly categorized into two categories viz.,
• Low Level Language: These are further divided into two groups:
o Machine Language (or the Binary Language)
o Assembly Language.
iv. It is hard, complex, and tedious for a programmer to remember the codes, write and
type them correctly because it is made up of codes containing only binary 0 and 1.
v. It becomes all the more difficult for the programmer when it comes to debugging and
modifying an existing program (can you guess why?).
vi. They are highly machine dependent, which limits their scope of use. Because programs
written on one computer may not work desirously on another computer.
6. Assembly Language: To overcome the difficulties in writing programs in binary language
and to make debugging and modifications easy, Assembly Language was developed. It is a
language, which uses mnemonics along with the machine codes (Binary Codes) to write
instructions. The mnemonics are English words in abbreviated form and can be understood
by programmers easily. It is also called Low Level Symbolic Language.
Characteristics of Assembly Language:
i. This is a language, which uses certain mnemonics along with the binary codes for often-
used instructions.
ii. These mnemonics are “English like” words, their spellings were somewhat different
from the dictionary spellings and at times they would be abbreviated for the ease of use.
For example to carry out a subtraction operation the mnemonic was SUB.
iii. These mnemonics were in English language, and a microprocessor can’t understand any
language other than Binary Language therefore it needs to be translated into Binary
Language by a translating program called Assembler.
iv. They were more portable as compared to the Binary Language still they were machine
dependent.
Advantages: of Assembly Language.
i. It is easy to understand and use as compared to Machine Language.
ii. It is easy to trace and correct errors (debug) in programs written in Assembly Language.
iii. Execution time is same as Machine Language programs.
iv. Programs are efficient because 1 instruction is translated exactly in 1 machine code.
v. Modification in a program can be done in short time.
Disadvantages: of Assembly Language.
i. Assembly language is machine dependent.
ii. Sufficient knowledge of hardware is required.
iii. Whenever a program is modified, it requires translation.
7. High Level Language: High-level languages are designed with programmers in mind;
programming statements are easier to understand than those written in a low-level language.
It uses the English alphabets and English like words to give instructions to computer. They
are called “High Level” because their grammar (called Syntax) was very strict and their
vocabulary was limited. i.e., C++, Delphi, Java, Pascal, Python, VB.NET and many more.
Since this is not computer’s own language, therefore to make computer understand programs
of High Level Language, they needs to be translated to machine code (called object code).
This translation is called Compilation of program and it is done by software called either
Compiler or Interpreter.
v. Operating System: By and large, it is the most important and most essential system
software. An Operating System is the software, which controls the general operations
of a computer. It is described in the next section.
14. Device drivers are software that communicate with the operating system and translate data
into a format understood by a hardware peripheral device
15. Defragmentation software: a process that reorganises sectors on an HDD by rearranging
blocks of data so that they are contiguous. As a HDD becomes full, blocks used for files will
become scattered all over the disk surface. The consequence of this is slower data access time
After defragmentation, allows for much faster data access and retrieval since the HDD will
now require fewer read-write head movements to access and read files.
16. Operating System: An Operating System is the software, which controls the general
operations of a computer. It consists of a set of programs, which controls the resources of a
computer. The resources include: Hardware, Software, and the Data. The Operating System
provides an interface between the user and the computer hardware. A computer can’t work
without an Operating System properly loaded in its RAM.
16.1. Functions of Operating System: The functions of an Operating System are as follows:
i. Multitasking: Each task done by carry out more than one task(process) at a time. Each
of the processes will share the hardware resources under the control of the operating
system software. To make sure that multitasking operates correctly (in other words, the
processes don’t clash with each other), the operating system needs to constantly
monitor the status of each of the processes under its control: It includes:
a. Resources are allocated to process for a specific time limit..
b. The process can be interrupted while it is running
c. the process is given a priority so it can have resources according to its priority.
ii. Memory Management: The memory needs to be shared between system software,
application software and data. This is done by the OS. The programs which manage the
memory that has to be shared between the operating system and the user's program and
the other related tasks are called Memory Management Programs.
iii. Security Management: the function of security management is to ensure the integrity,
confidentiality and availability of data.
By maintaining access rights for all users.
By carrying out operating system updates.
• a timing signal
• an input/output process (for example, a disk drive or printer requiring more data)
• software errors that cause a problem (for example, two processes trying to access
the same memory location, or an attempt to divide by zero)
The computer needs to identify the interrupt type and also establish the level of
interrupt priority. Whenever an interrupt is received it needs to be serviced by Interrupt
Service Routine (ISR). A buffer is a memory area that stores data temporarily. Buffers
and interrupts are often used together to allow standard computer functions to be
carried out.
viii. Platform for running of application software: The application software will be under
the control of the operating system and will need to access system software such as the
device drivers while it is running. Different parts of the operating system may need to
be loaded in and out of RAM as the software runs.
ix. Human Computer Interface (HCI): Any processing on a computer is done by its
hardware. It is too technical for a user to directly interact (give commands) to the
hardware of a computer. There are software, which do this job for the users. These
software, which acts as a bridge between a user and his computer are called interfaces.
An interface is a medium or a mediator through which a user can communicate with
computer to get his/her job done.
Types of Human Computer Interfaces: Basically, there are two types of interfaces:
• Command Line Interface (CLI).
• Graphical User Interface (GUI).
Command Line Interface: A Command Line Interface is an interface in which a user
interacts with computer by typing predefined abbreviated commands. These commands are
given at the “Prompt”. A prompt is a message that a computer displays on its screen to inform
user about the place and time to type his command. Here the communication consists of the
following sequence:
i. The computer displays a prompt.
ii. The user types a command and presses the “Enter” Key.
iii. The computer executes the command.
Example: MS-DOS (Microsoft Disk Operating System) is a command line interface.
• Each command can usually be followed by different options so that a wide variety of
choices can be made.
• They are faster to use, as the user doesn’t have to search and follow a sequence where
the desired command is available.
Disadvantage:
• The user has to remember all the commands in order to use the software.
• There is a possibility that the commands may get mixed-up.
• There is no way a command can be cancelled once the “Enter” key is pressed.
Graphical User Interface: A Graphical User Interface, abbreviated as GUI, is an interface in
which commands are displayed on screen in the forms of graphic symbols, called icons and
menus. One of the most common is WIMP (windows icons menu and pointing device),
which was developed for use on personal computers (PC). These icons and commands are
used by means of some pointing device such as mouse.
More recently, devices such as mobile phones and tablets increasingly use touch screens and
use post-WIMP interactions. With this system, fingers are in contact with the screen allowing
actions such as pinching and rotating, which would be difficult to do using a single pointer
and a device such as a mouse.
Components of a GUI: The components of a GUI are as follows:
i. Window: It is a rectangular area of the screen for a particular display. The screen in
GUI can be split into a number of windows, each showing output from a different
program, or different parts of the same program.
ii. Icon: It is a small symbol on screen on which a command is displayed in the form of a
graphic instead a word. For example, in MS-Windows the icon of “My Computer” has a
small picture of a computer shown on it.
iii. Menu: The set of commands available in the GUI.
iv. Mouse Pointer: The cursor of Mouse, through which you can select any of the icon or
menu item on the screen.
Interface Advantages Disadvantages
the user is in direct communication the user needs to learn a number
with the computer of commands to carry out basic
operations
the user is not restricted to a number
command of pre-determined options all commands need to be typed
line in which takes time and can be
interface it is possible to alter computer error- prone
(CLI) configuration settings
each command must be typed in
uses a small amount of computer using the correct format, spelling,
memory and so on
the user doesn’t need to learn any this type of interface uses up
commands considerably more computer
it is more user-friendly; icons are memory than a CLI interface
used to represent applications the user is limited to the icons
graphical provided on the screen
a pointing device (such as a mouse) is
user
used to click on an icon to launch the needs an operating system, such
interface
application – this is simpler than as Windows, to operate, which
(GUI)
typing in commands or a touch uses up considerable memory
screen can be used where
applications are chosen by simply
touching the icon on the screen
17. Application Software: Software which are used by users to do their work on computer are
called Application Software. Application software are process-specific i.e. each software can
perform only one type of processing. For example MS-Word is a word processing software, it
can be used only for word processing jobs.
Examples:
• A Desk Top Publishing (DTP) package.
• A payroll program.
• A database package.
18. Types of Application Software: Application programs are of two types.
Advantages:
i. They are reliable as each component is well tested and well documented.
ii. Time, effort, and expense of programming are saved as the packages are purchased off
the shelf by the user.
iii. User friendly and easy to run.
iv. Often good support in terms of on-line help is available.
v. They are not expensive because the huge development costs are spread over a large
customer base.
vi. There is a wide user base that provides for:
a. Plenty of other users with whom to discuss problems.
b. Opportunities for training in the use of the package.
vii. Other software can be linked to it and use the same data.
Disadvantage: Although such software are designed to meet the general needs, they may not
meet special needs which can serve the purpose.
18.2. Specific Purpose Software: These are the software that are designed to perform a specific
type of task for users. Many problems are the same for many companies so software houses
produces software to suit a particular type of application. It is possible to buy a ready-made
package "off the shelf.
Example: Software to:
Examples:
• a word processor;
• a data base;
• a spreadsheet;
• a graphics program.
• a communication program.
Advantages:
• Cost effective as many programs come together in one package.
• Data produced in one can be easily transferred for use in another.
• Easy to learn and use as menus, icons and other features are similar for all programs.
Disadvantage:
• The individual programs may not be quite as powerful as separate programs to do the
same thing.
Example:
• Microsoft Office: It comes as a single package that usually contains Word, Excel,
Access, PowerPoint, and Outlook.
20. Integrated Development Environment (IDE): a suite of programs used to write and test a
computer program written in a high-level language. IDEs usually have these features:
• code editors
• a translator
• a runtime environment with a debugger
• error diagnostics
• auto-completion
• auto-correction
• an auto-documenter and pretty printing
Exercise
1. Give one example of a utility program and one example of an application package.
Utility program: ___________________________________________________
Application package: __________________________________________________
b. Give two reasons why a computer programmer may choose to write a program in a
high level language, rather than a low-level language.
Reason 1: _________________________________________________________
_________________________________________________________
Reason 2: _________________________________________________________
_________________________________________________________
c. Give two reasons why a programmer would choose to write code in a low-level
language.
Reason 1: _________________________________________________________
_________________________________________________________
Reason 2: _________________________________________________________
_________________________________________________________
Comparison 5: _________________________________________________________
_________________________________________________________