Computer Software: Module - 1
Computer Software: Module - 1
Basic Computing
3
Notes
COMPUTER SOFTWARE
In the previous lesson, you have learnt about binary logic. Now you will be able to
understand the working of computer. As you know that computer is a machine
which cannot do anything without instructions from the user. In order to do any
specific job you have to give a sequence of instructions to the computer. These set
of instructions are called as programs and these set of computer programs are called
as software. In this lesson, you will learn about computer software, computer
languages and translators.
OBJECTIVES
After reading this lesson, you will be able to:
z define software;
z distinguish between system software and application software;
z identify various levels (or generations) of language such as machine language,
assembly language, high-level language;
z compare compilers and interpreter.
38 Computer Science
Computer Software MODULE – 1
Basic Computing
Computer software is normally classified into two broad categories:
(i) System Software
(ii) Application Software
Operating System
An operating system is the most important system
software and it is an essential software to operate Operating system like
the computer system. An operating system Microsoft Windows, Linux
manages computer’s resources very effectively, are examples of system
takes care of scheduling multiple jobs for execution software.
and manages the flow of data and instructions
between the input/output units and the main memory.
The first operating system, called batch processing operating system was developed
for the second generation computers. This operating system executes jobs serially
one after another from a batch of jobs submitted for execution. The central
processing unit is kept busy only during the processing cycle of a job and remains
idle during the input and output operations. A multi programming operating system
handles multiple jobs simultaneously by overlapping the input/ output and processing
cycles of various jobs.
Other types of operating system which are popular today are ‘multi-processing
operating systems’ and ‘real time operating systems’. A multi-processing operating
system uses multiple CPUs to process multiple jobs. A real time operating system is
a type of interactive operating system with strict time limitation. Receiving and
processing data is done quickly enough to produce output, to control, direct or
effect the outcome of ongoing activity. The reservation system used by railway,
airlines, and hotel are the examples of real time applications.
Computer Science 39
MODULE – 1 Computer Software
Basic Computing
An operating system governs the working of the computer and input/output
devices. The operating system programs act as an interface between the user’s
programs and the computer’s components and helps in the execution of user’s
programs. The major functions of an operating system are:
(i) User identification and managing of the resources used by the users. Thus
un-authorized users cannot use the computer.
Notes
(ii) Sharing of computer resources among many users. The sharing is achieved
by permitting simultaneous executions of more than one user program. This
is usually called multi-programming. A mix of programs can keep the whole
memory occupied, all devices active, and the control unit and ALU constantly
busy, thus increasing utilization of hardware.
(iii) Executive batches of programs, one after another, without human
intervention.
(iv) Protection of user’s data and programs.
(v) Controlling the transfer of data and programs between the main memory
and secondary storage and other I/O devices.
(vi) Providing programs to select appropriate translators.
(vii) Providing facilities to detect and correct errors in a user’s program.
An operating system understands a fixed set of commands. This set of commands is
often called Job Control Language (JCL). The JCL commands are used by the
computer users to indicate their requirements to the operating system. The operating
system which is used with a micro-computer is called CP/M (control program for
microprocessor). Another operating system which is gaining popularity and which is
available on a variety of different machines is UNIX (UNIX was developed by Bell
laboratories). You will be learning more about operating system in the lesson 4.
Utility Software
Utility software may be considered as system software which is used quite often in
the development of a program. Sort merge programs are used to sort records in a
particular manner or sequence. Such programs are normally provided by the
manufacturers. The programmer can also develop his/her own utility software and
keep it in the secondary memory of the computer.
40 Computer Science
Computer Software MODULE – 1
Basic Computing
Assuming that the task to be carried out has been correctly identified, carefully
defined, the prospective user will come across the following alternative sources for
this application software.
Application Software
Computer Science 41
MODULE – 1 Computer Software
Basic Computing
(b) An operating system is an essential software to operate a computer
system.
(c) JCL stands for Job Common Language.
(d) Application software is written to perform a specific task or process.
(e) Utility software cannot be considered as an application software.
Notes
3.2 COMPUTER LANGUAGE
You know that software is a set of computer programs. These computer programs
will be written in the language what computer understands. If you want to get
something done by a person, you will tell him what to do in a language that he
understands. Similarly, if you want to get some work done by the computer, you
have to tell the computer in a language that the computer understands, i.e., machine
language. The machine language consists of only binary digits, i.e. 0 and 1. It was
felt quite difficult and tedious for human beings to think in binary numbers. For
communicating with the computer, it was thought that it is advisable to develop a
third language, a programming language that can be understood by both human
beings and the computer. Thus a programming language is a set of rules that
provides a way of instructing the computer to perform certain operations.
Programming languages are said to be lower or higher, depending on whether they
are closer to the language the computer itself uses (lower, which means 0s and 1s)
or to the language that people use (higher, which means more English like).
The languages in which programs are written are called programming languages.
These languages can be classified into following categories.
z Machine language
z Assembly language
z High level language
Machine Languages
Do you know that computer can understand 0’s and 1’s? Yes 0’s and 1’s can be
directly understood by computers. Programs that have only binary digits are called
a machine language programs. It is difficult to write or understand machine
language. Letters of the alphabet are also represented in binary numbers. In one
system, the letter A is represented as 1000001. Commas, semicolons and other
special characters are also represented as bunches of 0s and 1s.
Assembly Languages
In the 1950s, to reduce programming complexity and provide some standardization,
assembly languages were developed. Assembly languages, also known as symbolic
42 Computer Science
Computer Software MODULE – 1
Basic Computing
languages use abbreviations or memonic code - codes that are more easily
memorized to replace the 0s and 1s of machine languages.
The hypothetical machine language segment we saw above is as follows:
11110010 01110011 11010010 00010000 01110000 00101011
This could be expressed in assembly language statement as :
PACK 210 (8, 13), 02B (4,7) Notes
Computer Science 43
MODULE – 1 Computer Software
Basic Computing
generation. High-level languages are sometimes used to refer all languages above
the assembly level. Here we will subdivide high-level languages into three generation.
z Procedural-oriented or third generation
Procedural-oriented Languages
High-level languages are often classified according to whether they solve general
problems or specific problems. General-purpose programming languages are called
procedural languages or third generation languages. These are languages such as
Pascal, BASIC, COBOL, and FORTRAN, which are designed to express the logic,
the procedure, of a problem. Because of their flexibility, procedural languages are
able to solve a variety of problems.
Procedural languages have many advantages over machine and assembly languages:
z The program statements resemble English language and hence are easier to
work with.
44 Computer Science
Computer Software MODULE – 1
Basic Computing
Table 3.1: Difference between 3 GLs and 4 GLs
All alternatives must be specified. Default alternatives are built in; an end user
need not specify these alternatives
Language developed for batch operations. Language developed primarily for online
use.
Natural Languages
Natural languages are still in the developmental stages, but they promise to have
profound effect, particularly in the areas of artificial intelligence and expert
systems. Natural languages have two characteristics:
z They are designed to make the connections that humans have with computers
more natural - more human like.
Computer Science 45
MODULE – 1 Computer Software
Basic Computing
language program (which is called the source code) into a machine language code.
This translation process is called compilation. The machine language code is called
the object code and can be saved and either run (executed) immediately or later.
Some of the most widely used compiled languages are COBOL, C, C ++,
FORTRAN, etc.
46 Computer Science
Computer Software MODULE – 1
Basic Computing
z Programming languages can be classified as machine language, assembly
language and high-level language.
z Machine language and assembly language programs are difficult to write and
read. High level languages are easy to learn and write.
z Compiler and interpreter convert the program written in high level language
into machine language code.
z A translation program is run to convert the high-level language program, Notes
which is called the source code, into a machine language code. This translation
process is called compilation.
TERMINAL EXERCISE
1 Write any one difference between hardware and software.
2 What are the advantages and disadvantages of machine language?
3 What is the difference between source program and object program?
4 Explain assembly language. What are its advantages over machine language?
5 Define operating system. Write down its various functions.
6 Describe briefly about application software.
3.1
1. (a) True (b) True (c) False (d) True (e) True
3.2
1. (a) True (b) True (c) False (d) True (e) False
Computer Science 47