Chapter-4 Software Concepts: Introduction
Chapter-4 Software Concepts: Introduction
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
COMPUTER SOFTWARE
2|Page
Chapter 4- Software Concepts
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
➢ 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
• 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
• 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
✓ 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
7|Page
Chapter 4- Software Concepts
• 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
✓ 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.
11 | P a g e
Chapter 4- Software Concepts I PUC, MDRPUC, Hassan
12 | P a g e