COMPUTER SOFTWARE: -
➢ A computer system consists of hardware and software
➢ The computer hardware cannot perform any task on its own. It needs to be instructed
about the tasks to be performed.
➢ Software is a set of programs that instructs the computer about the tasks to be
performed. Software tells the computer how the tasks are to be performed; hardware
carries out these tasks.
TYPES OF SOFTWARE: -
➢ Software can be broadly classified in two categories:
➢ System Software
➢ Application Software
➢ System software provides the basic functions that are performed by the computer. It is
necessary for the functioning of a computer.
➢ Application software is used by the users to perform specific tasks. The user may
choose the appropriate application software, for performing a specific task, which
provides the desired functionality.
SYSTEM SOFTWARE: -
➢ System software provides basic functionality to the computer.
➢ System software is required for the working of computer itself. The user of computer
does not need to be aware about the functioning of system software, while using the
computer.
➢ The purposes of the system software are: -
➢ To provide basic functionality to computer
➢ To control computer hardware
➢ To act as an interface between user, application software and computer hardware.
➢ On the basis of their functionality, system software may be broadly divided into two
categories.
System software for the management and functionality of computer relates to the functioning
of different components of the computer, like, processor, input and output devices etc.
➢ It provides support for various services, as requested by the application software.
Operating system, device drivers, and system utilities constitute the system software
for management of computer and its resources.
System software for the development of application software provides services required for
the development and execution of application software.
➢ System software provides the software tools required for the development of
application software.
➢ The programming language software, translator software, loader, and linker are also
categorized as system software, and are required for the application software
development.
Operating System: -
➢ Operating System (OS) is an important part of a computer. OS intermediates between
the user of a computer and the computer hardware.
➢ OS controls and coordinates the use of hardware among the different application
software and the users.
➢ It provides an interface that is convenient for the user to use, and facilitates efficient
operations of the computer system resources.
➢ The key functions of OS are-
➢ It provides an environment in which users and application software can do work.
➢ It manages different resources of the computer like the CPU time, memory space, file
storage, I/O devices etc. During the use of computer by other programs or users,
operating system manages various resources and allocates them whenever required,
efficiently,
➢ It controls the execution of different programs to prevent occurrence of error.
➢ It provides a convenient interface to the user in the form of commands and graphical
interface, which facilitates the use of computer.
Device Driver: -
➢ A device driver acts as a translator between the hardware and the software that uses
the devices. In other words, it intermediates between the device and the software, in
order to use the device.
➢ For proper working of a device, its corresponding device driver must be installed on
the computer.
➢ Each device has its own device driver.
➢ Whenever a new device is connected to a computer, its device driver has to be loaded
in the computer’s memory, to enable use of the device.
➢ Device drivers can be character or block device drivers. Character device drivers are
for character-based devices like keyboard, which transfer data character by character.
Block device driver ate for devices that transfer data as a block, like in hard disk.
System Utilities: -
➢ System utility software is required for the maintenance of computer. System utilities
are used for supporting and enhancing the programs and the data in computer.
➢ Some system utilities may come embedded with OS and others may be added later on.
Some examples of system utilities are:
➢ Anti-virus utility to scan computer for viruses.
➢ Data Compression utility to compress the files.
➢ Cryptographic utility to encrypt and decrypt files.
➢ Disk Compression utility to compress contents of a disk for increasing the capacity of
a disk.
Programming Languages: -
➢ Programming Language consists of a set of vocabulary and grammatical rules, to
express the computations and tasks that the computer has to perform.
➢ Programming languages are used to write a program, which controls the behaviour of
computer, codify the algorithms precisely, or enables the human-computer interface.
➢ The programming language should be understood, both by programmer (who is
writing the program) and the computer. A computer understands the language of 0and
1, while the programmer is more comfortable with English-like language.
➢ Programming languages fall into three categories
Machine Language: -
➢ Machine Language is what the computer can understand but it is difficult for the
programmer to understand. Machine languages consist of numbers only.
➢ A program written in machine language is a collection of binary digits or bits that the
computer reads and interprets.
➢ It is a system of instructions and data executed directly by a computers CPU. It is also
referred to as machine code or object code. It is written as strings of 0&1.
Assembly Language: -
➢ Assembly Language falls in between machine language and high-level language.
➢ They are similar to machine language, but easier to program in, because they allow
the programmer to substitute names for numbers.
High-level Language: -
➢ A program in a high-level language is written in English-like language.
➢ High-level Language is easier to understand and use for the programmer but difficult
for the computer.
First Generation Machine language
Second Generation Assembly language
Third Generation C, COBOL, Fortran, Pascal, C++, Java,
ActiveX (Microsoft) etc.
Fourth Generation .NET ([Link], C#.NET etc.) Scripting
language (JavaScript, Microsoft.
Fifth Generation LISP, Prolog
Translator Software: -
➢ Translator software is used to convert a program written in high-level language and
assembly language to a form that the computer can understand.
➢ Translator software converts a program written in assembly language, and high-level
language to a machine-le language program.
➢ The translate programmes called the object code. There are the different kind of
translator software:
➢ Assembler.
➢ Compiler.
➢ Interpreter
➢ Assembler convers a program written in assembly language to machine language.
Compiler and interpreter convert a program written in high-level language to machine
language.
Assembler: -
➢ Assembly language is also referred to as a symbolic representation of the machine
code. Assembler is software that converts a program written in assembly language
into machine code.
Compiler: -
➢ A program written in a high-level language has to be converted to a language that the
computer can understand, i.e. binary form.
➢ Compiler is the software that translates the program written in a high-level Language
to machine language.
➢ The program written in high-level language is referred to as the sourer and compiled
program is referred as the object code.
➢ The object code is the executable code, which can run as a stand-alone code. It does
not require the compiler to be present during execution.
Interpreter: -
➢ The purpose of interpreter is similar to that of a compiler. The interpreter is used to
convert the high-level language program into computer-understandable form.
➢ However, the interpreter functions in a different way than a compiler. Interpreter
performs line-by-lime execution of the source code during program execution.
➢ Interpreter reads the source code line-by-line, converts it into machine understandable
form, executes the line, and then proceeds to the next line. Some languages that use an
interpreter are BASIC and Python.
Difference Between a Compiler and An Interpreters
➢ Compiler and Interpreter are used to convert a program written in high-level language
to machine language, however, they work differently. The key differences between a
compiler and an interpreter are as follows:
a) Interpreter looks at a source code line-by-line. Compiler looks at the entire
source code.
b) Interpreter converts a line into machine executable form, executes the line, and
proceeds with the next line. Compiler converts the entire source code into
object-code and creates the object code. The object code is then executed by
the user.
c) For a given source code, once it is compiled, the object code is created. This
object code can be executed multiple number of times by the user. However,
interpreter executes line-by-line, so executing the program using an interpreter
means that during each execution, the source code is first interpreted and then
executed.
d) During execution of an object code, the compiler is not required. However, for
interpretation, both interpreter and the source code is required during
execution (because source code is interpreted during execution).
e) Since interpreter interprets line-by-line, the interpreted code runs slower than
the compiled code.
Linker: -
➢ Linker is a program that links several object modules and libraries to a single
executable program. A source code of a program is often very large consisting of
several hundred or more lines.
➢ The source code may so include reference to libraries. All these independent modules
may not be stored in a single object file.
➢ The code is broken down into many independent modules for easy debugging and
maintenance.
➢ Before execution of the program, these modules and the required libraries are linked
together using the linker software. The compiled and the linked program are called the
executable code.
Loader: -
➢ The loader software is used to load and re-locate the executable program in the main
memory. Software has to be loaded into the main memory during execution. Loader
assigns storage space to the program in the main memory for execution.
APPLICATION SOFTWARE: -
➢ The software thar a user uses for accomplishing a specific task is the application
software.
➢ Applications software may be a single program or a set of programs. A set of
programs that are written for a specific purpose and provide the required functionality
is called software package.
➢ Some examples of application software packages are as follows:
➢ Word Processing Software: For writing letter, reports, documents etc. (e.g. MS-
WORD).
➢ Image Processing Software: For assisting in drawing and manipulating graphics (e.g.
Adobe Photoshops.
➢ Accounting Software. For assisting in accounting information, salary, tax returns
(Tally software)
➢ Spreadsheet Software: Used for creating budget, tables etc. (e.g. MS-Excel).
➢ Presentation Software: To make presentations, slide shows (e.g. MS-PowerPoint)
➢ Suite of Software having Word Processor, Spreadsheet and Presentation Software:
Some examples are MS-Office, Google Docs, Sun OpenOffice, Apple iWork.
➢ CAD/CAM Software: To assist in architectural design. (e.g. AutoCAD, Autodesk)
➢ Geographic Information Systems: It captures, stores, analyses, manages, and presents
data, images and maps that are linked to different locations. (e.g. ArcGIS)
➢ Web Browser Software: To access the World Wide Web to search documents, sounds,
images etc. (e.g. Internet Explorer, Netscape Communicator. Chrome).
------------------------ ooo ------------------------