0% found this document useful (0 votes)
31 views14 pages

Software New

Software programs are sets of instructions written in computer languages to perform tasks. There are three main types of computer languages: low-level languages like machine language and assembly language that computers can directly understand; high-level languages like Python and Java that are easier for humans but must be translated; and interpreters and compilers that translate between low- and high-level languages. Interpreters translate instructions one at a time while compilers translate entire programs into executable machine code.

Uploaded by

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

Software New

Software programs are sets of instructions written in computer languages to perform tasks. There are three main types of computer languages: low-level languages like machine language and assembly language that computers can directly understand; high-level languages like Python and Java that are easier for humans but must be translated; and interpreters and compilers that translate between low- and high-level languages. Interpreters translate instructions one at a time while compilers translate entire programs into executable machine code.

Uploaded by

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

59

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.

• High Level Language:


4. Low Level Language: Low Level Languages are those computer languages, which can be
(usually) directly understood by a computer. Low-level languages relate to the specific
architecture and hardware of a particular type of computer. This type of languages has either
binary digits or mnemonics as their command set i.e. commands/instructions are written
using binary codes or mnemonics.
5. Binary Language: It is a low level language that was designed by Lady Ada Lovelace of
England to write instructions for computer. It uses the digits of binary number system as its
characters. It has only two “alphabets” in it i.e. binary 0 and 1. It is the “Mother Tongue” of
computer. All the instructions/commands are written in the form of binary codes.
Characteristics of Binary Language:
i. It is also called the Machine language because the machine (computer) can directly
understand instructions written in this language.
ii. The number of digits in a code is fixed. It is usually 8. That means to represent every
character of human language a combination of 8 binary digits are used. For example the
alphabet A would be written as 01000001.
iii. Computer can directly understand this language therefore computer works fastest in this
language.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


60 Software

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.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 61

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.

Advantages: of High Level Language.


i. High Level Languages are machine independent. Thus, programs written in High Level
Language can be run on any computer with the desired effects.
ii. Since they use English like words, therefore they are easy to learn and use.
iii. Only a little knowledge of hardware is required which makes the programs more
efficient.
iv. Less time and effort is required to write a program.
v. Instructions are easily understood by a programmer.
vi. It is easy to trace, correct and modify instructions as and when required.
Disadvantages: of High Level Language.
i. High Level Language programs are less efficient as compared to the Machine
Language and Assembly Language programs.
ii. They require more time for execution as each instruction is to be translated first.
iii. More memory is required than Machine Language and Assembly Language programs.
(Can you tell why?)
iv. It can’t access all the special features of Machine.
8. Interpreter: An interpreter is a system program, which translates a program written in a
High-Level Language to Machine Language. It translates each instruction of a High-Level
Language program to its Machine Language equivalent and executes it. It did so in one-by-
one manner i.e. it takes the first instruction of a High Level Language program, translates it
to Machine Language and executes it. Then takes the next instruction, translates it, executes
it, till the entire program is executed. The execution time becomes more (the computer seems
to work slower) because whenever a High Level Language program is to be executed, it is to
be translated first. It is ideal for testing new incomplete programs.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


62 Software

9. Compiler: A compiler is a system program, which translates a program of High Level


Language into its Machine Language equivalent program. It translates the entire High Level
Language program into Machine Language program, saves it as separate program. Then at
the time of execution, it is the translated program that is executed. Unlike interpreter you
don’t need to translate it over and over again. This way the execution time becomes less i.e.
the execution becomes faster, but extra memory space is needed to store the translated
program. In this scenario, the High Level Language program is called the “Source Program”
and its translated version is called the “Object Program”.
10. Compilation and Execution: The process of translating a high level program into machine
language is called compilation of that program. Running the compiled program on computer
is called execution.
Differentiation between Translation Programs

Compiler Interpreter Assembler


Translates a high-level Executes a high-level language Translates a low level
language program into program one statement at a assembly language
machine code. time. program into machine
code.
An executable file of No executable file of machine An executable file of
machine code is code is produced. machine code is
produced. produced.
One high-level language One high-level language One low-level language
statement can be program statement may statement is usually
translated into several require several machine code translated into one
machine code instructions to be executed. machine code
instructions. instruction.
Compiled programs are Interpreted programs cannot Assembled programs are
run without the compiler. be run without the interpreter. used without the
assembler.
A compiled program is An interpreter is often used An assembled program is
usually distributed for when a program is being usually distributed for
general use. developed. general use.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 63

Advantages and disadvantages of compilers and interpreters


Translators Advantages Disadvantages
easier and quicker to debug and test programs programs cannot be
during development run without the
Interpreter
interpreter
easier to edit programs during development
programs can take
longer to execute
a compiled program can be stored ready for use
a compiled program can be executed without the it takes a longer time
Compiler compiler to write, test and
a compiled program takes up less space in debug programs
memory when it is executed during development

a compiled program is executed in a shorter time


11. Types of software: Software are divided into two broad categories:
• System Software
• Applications Software.
12. System Software: System Software is that software, which deals directly with the hardware
of a computer. Their main tasks are:
i. To co-ordinate between the peripheral devices attached to a computer.
ii. To ensure that the computer functions smoothly and efficiently.
iii. To execute other software (usually application software).
iv. To make all the resources of a computer available to users/application software.
13. Components of System Software: System software has usually the following components
(sub-software):
i. Editor: It is used to write (type) programs on computer.
ii. Language Translators: These are used to translate Assembly Language and High
Level Language program into machine code. Each High Level Language has its own
language translator. These are of three types: Assembler, Interpreter, and Compiler.
iii. Loaders: These are the System programs, which are used to load a program from disk
to RAM for execution.
iv. Program Utilities: These are the programs, which are used to make-work easy for the
operator and increase the overall efficiency of a computer. These utilities include
mainly:
• Disk content analysis and repair
• Defragmentation software
• Virus checkers
• Backup software
• Security
• Screensavers.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


64 Software

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.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 65

By offering the ability for the recovery of data.


By helping to prevent illegal intrusion into the computer system
iv. Hardware Peripheral Management: OS manages the all I/O devices like Keyboard,
mouse, printer, etc that are attached to a computer. This management is necessary for
the smooth functioning of computer for doing the users’ needs. Each of the input and
output device has an Input/Output management program called "Driver", which must
be loaded in the computer before using it. it also manages input/output devices by
controlling queues and buffers.
v. File Management: One of the most important functions of an OS is its File
Management function. It helps in performing tasks (creating, saving, loading, copying,
moving, deleting files) It maintain the directory structures. It also maintain file naming
conventions.
vi. Multitasking: An Interpreter is used to translate general commands of an operating
system. This command interpreter executes pre-defined instructions issued from the
user. It is also used to start a new program and transfer the control to it. If an error
occurs then it provides the rescue procedures.
vii. Interrupts: It is a signal sent from a device or from software to the microprocessor.
This will cause the microprocessor to temporarily stop what it is doing so that it can
service the interrupt. Interrupts can be caused by:

• a timing signal

• an input/output process (for example, a disk drive or printer requiring more data)

• a hardware fault (for example, a paper jam in the printer)

• user interaction (for example, the user presses a keys (<CTRL><ALT><BREAK>,


which causes the system to be interrupted)

• 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.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


66 Software

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.

Advantages: of 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

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 67

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

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


68 Software

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.

• General Purpose Software


• Specific Purpose Software
• Customized Software
18.1. General Purpose Software: It is software that is capable of performing routine tasks of a
particular nature. For example MS-Word is a general purpose word processor that has
facilities for performing routine word processing tasks for almost all types of businesses. It
can be used with same efficiency by businesses as well at homes.

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:

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 69

• Handle a stock control system.


• Organize payroll.
• Register attendance of employees of offices.
Advantage:
• Because the package applies to other users, it is well tried and tested.
• It is usually be cheaper than a custom designed program to do the same thing, because
the program development costs are spread over a large customer base.
• Regular updates are available.
18.3. Customized Software: It is the type of software that is produced specifically for one client. It
is designed to serve the processing needs of that particular client.

Examples:

• Result Preparation software for IGCSE section of your school.


• Accounts management software of Al Rajhi Bank.
• Fee Collection Software for your school.
Advantage: The program is designed to exactly fit the user's needs hence all the
requirements of the user are fulfilled.
19. Integrated Package: An integrated package consists of several general purpose application
programs. It usually includes :

• 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.

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


70 Software

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

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


Software 71

Exercise
1. Give one example of a utility program and one example of an application package.
Utility program: ___________________________________________________
Application package: __________________________________________________

2. a. Describe device drivers.


_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

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: _________________________________________________________
_________________________________________________________

3. A company is considering whether to buy a general package or to have one specially


written. Describe five comparisons between the two which they should consider.
Comparison 1: _________________________________________________________
_________________________________________________________
Comparison 2: _________________________________________________________
_________________________________________________________
Comparison 3: _________________________________________________________
_________________________________________________________
Comparison 4: _________________________________________________________
_________________________________________________________

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]


72 Software

Comparison 5: _________________________________________________________

_________________________________________________________

4. Describe two benefits of graphical user interfaces instead of a command language.


Benefit 1: ____________________________________________________________
____________________________________________________________
Benefit 2: ____________________________________________________________
____________________________________________________________

5. Describe four different tasks performed by the operating system of a computer.


Task 1: ______________________________________________________________
______________________________________________________________
Task 2: ______________________________________________________________
______________________________________________________________
Task 3: ______________________________________________________________
______________________________________________________________
Task 4: ______________________________________________________________
______________________________________________________________

6. What is IDE. Why it is used?


_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

© Abbasi: Iftrar Husain: 059 434 9657, [email protected]

You might also like