Chapter 4 Software Concepts
Chapter 4 Software Concepts
Chapter 4 Software Concepts
Chapter-4
SOFTWARE CONCEPTS
Introduction
A computer system has three components viz.
o Hardware
o Software
o User
Hardware: It consists of the physical components of a computer.
Software: A set of instructions that tells the computer to perform an intended task.
Types of Software
Software is broadly classified into two categories namely,
o System Software
o Application Software
System Software
System software is a computer program that controls the system hardware and interacts with
application software.
System software is hardware dependent and not portable.
System software provides a convenient environment for program development and execution.
Programming languages like assembly language/C/C++/Visual C++/Pascal are used to develop the
system software.
System software is of three types:
o Language Translators
o Operating System
o Utilities Software
Application Software
Application software that has been written to process performs a specific job.
Application software is generally written in high level languages.
It focus is on the application, not the computing system.
Application software is classified into two types:
o Application Specific
o General Purpose
1|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
COMPUTER SOFTWARE
2|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
STATEMENTS ACTION
0001 00110010 Load the data
0100 10100101 Add the contents
1000 00101001 Store the results
0000 00000000 Stop
However a program in assembly language has to be converted to its equivalent machine language
to be excuted on computer.
The translator program that converts an assembly code into machine code is called an assembler.
Advantages: Mnemonic code are easy to remember, easy to understand, easy to modify and
debug.
Disadvantage: These languages are the mnemonic are machine dependent and assembly language
programming takes longer to code.
3|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
High-level Languages
A language designed to make programming easier through the use of familiar English words and
symbols.
High-level languages used English like language, which are easier to learn and use.
High-level languages are machine independent. Therefore, a program written for one computer can
be executed on different computers with no or only slight modifications.
Some of the high-level languages are C, C++, JAVA, FORTRAN, QBASIC, and PASCAL.
For example a typical program in high level language to add two numbers:
cin>>a>>b;
c = a + b;
cout<< “ Answer = “ << c;
However a program in high-level language has to be converted to its equivalent machine language
to be excuted on computer.
The translator program that converts an high level code into machine code is called an compiler.
Advantage:
o HLL’s are machine independent.
o Easy to learn and understand.
o Easy to modify and debug the program.
Disadvantage:
o HLL is slower in execution.
o HLL requires a compiler to convert source code to object code.
o HLL take more time to execute and require more memory.
Language Translators
The translator translates the high-level language to low level language.
There are three types of translators: Compilers, Interpreters, and Assemblers.
Translators
Assembler:
Assembler is system software which translates an assembly language program into its machine
language.
4|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
It recognizes the mnemonics used in the assembly level languages and substitutes the required
machine code for each instruction.
Example: TASM (Turbo Assembler), MASM (Microsoft Macro Assembler) etc.
Compilers:
Compiler is system software that translates high-level language (source code) into the machine
level language (machine/object code).
It reads the whole program and translates the entire program at once into a series of machine level
language instructions.
Once compiled, the program normally gets saved automatically and can be executed directly.
Examples: C, C++.
Interpreters:
An Interpreter reads once a statement of a high-level language program at a time and translates it
into machine level language and executes it immediately.
It continues to read, translate and execute the statements one by one until it reaches the end of the
program.
Therefore, it is slower than a compiler.
The machine code produced by the interpreter is not saved and hence, to execute a statement again,
it has to be interpreted again.
Example: BASIC, PROLOG
5|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
Once an executable program is generated someone will have to load the program into the main
memory of the computer so that it can be executed.
This operation is performed by software called as the loader.
A loader is system software that loads machine code of a program into the system memory
and prepares these programs for execution.
Utility Software
Utilities are those helpful programs that assist the computer by performing helpful functions like
backing up disk, scanning/cleaning viruses etc.
Utility software is generally called as Application oriented ready-made system programs.
Some of the important utility software is: Text editor, Backup utility, Disk Defragmenter,
Antivirus software.
Operating System(OS):
An operating system is a set of programs which acts
as an interface between the user and the computer.
The main system software is the operating systems,
which starts up the computer and control its
operation.
Operating system manages the resource, resolves
conflicts’ and tries to optimize the performance of the
system.
The user communicates with the computer through
operating system commands and program
instructions.
Operating System plays an important role in loading programs from disk into memory, displaying
message, translating program and in outputting the results.
Some examples of operating system are: UNIX, LINUX, MS-DOS, and Microsoft Windows such
as Win 95, Win 98, Win 2000, Win XP, Win 7, Win 8, Android, Mac OS etc.
6|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
Memory Management:
The activities of memory management handled by OS are:
o Allocate memory
o Free Memory
o Re-allocate memory to a program when a used block is freed
o Keep track of memory usage.
Process Management:
The activities of process management handled by OS are:
o Control access to shared resources like file, memory I/O and CPU
o Control execution of applications
o Create, execute and delete a process
o Cancel or resume a process
o Schedule a process
o Synchronization, communication and deadlock handling for process
Device Management:
The activities of device management task handled by OS are:
o Open, close and write device drivers.
o Communication, control and monitor the device drivers.
File Management:
The activities of file management task handled by OS are:
o Create and delete both files and directories
o Provide access to files
o Allocate space for files
o Keep back-up of files
o Secure files
The user interface is a set of commands or a Graphical User Interface via which the user interacts
with the application and the hardware.
9|Page
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
CUI Interface:
CUI interface allows the user to interact with a computer through text terminal.
It is a Non-graphical and text-based user interface.
MS-DOS is an operating system which provides a CUI.
The commands must be given at the command prompt ( C:\>)
Both input and output are character based, the interface is also known as Character User Interface.
GUI Interface:
The GUI was first introduced in 1984 by Apple with Macintosh.
GUI is an interface where the commands are selected from menus and icons rather the typing them
from the keyboard.
It allows user to click on the required icon, with the help of Mouse.
Windows Operating System is the most popular OS based on GUI.
**************
12 | P a g e