4.software Concepts
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
Introduction to Computer Languages
Programming Language is a set of rules called syntax which user has to follow, to instruct the
computer what operation are to be performed.
Computer language are classified into two categories:
o Low-Level Languages
Machine level languages
Assembly languages
o High-Level Languages
General Purpose languages (Ex: BASIC, PASCAL, C)
Specific purpose languages (Ex: COBOL, FORTAN, C++)
Machine Level Language
Machine level language is the fundamental language of a computer.
It is written using binary numbers i.e. 0’s and 1’s.
A program written in the machine level language is called Machine code.
The instructions provided in machine language are directly understood by the computer and
converted into electrical signals to run the computer.
For example a typical program in machine language to add two numbers:
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 executed 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 executed 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 Assembler
Translators
4|Page
Chapter 4- Software Concepts
Assembler:
Assembler is system software which translates an assembly language program into its machine
language.
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
Chapter 4- Software Concepts
Utility Software
Utilities are those helpful pro grams 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 et c.
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
Chapter 4- Software Concepts
Advantages:
User need not wait during its execution
o It will function in FIFO (First In First Out) order.
Disadvantages:
p Non-interactive mode of execution
o Offline debugging
IBM System/360 Operating system is an example for Batch Operating syste m
In DOS, we can emulate the batch processing using .BAT file.
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 re quired icon, with the help of Mouse.
Windows Operating System is the most popular OS based on GUI.
Difference between CUI and GUI:
CUI GUI
1 Command line user interface Graphical User Interface
2 The user must type the commands at the The user must click on icons, menus, dialog boxes etc to
command prompt to interact with the interact with the computer
computer
3 The user must remember the commands The user need not remember any commands as it is
and their parameters available in the form of menus and icons on monitor
4 Mouse operation not available for DOS Mouse operation required to select commands
Operating system Features
DOS(Disk Operating System) File management features (to create, edit, write
DOS is a single user operating system. and delete files)
It was developed by Bill Gates and Paul Allen in Directory management
1980 for IBM PCs Memory management
Command interpreter interprets commands and
executes DOS functions, utility programs or
application programs
Has utility programs like COPY, ERASE, DIR,
etc
UNIX OS Hierarchical file organization
UNIX was developed by Dennis Ritchie and Ken Portability
Thompson on a DEC in 1985 by Sun Micro systems Multi-use, multitasking support
Facilitates Kernel and Shell Programming
Machine independent
Excellent tools and tool-building utilities
LINUX OS Facilitates Kernel programming, which provides
Linux was initially developed by Finnish University access to software and hardware
student Linus Torvalds. Open Source development operating system
It is a free download from www.linux.org Machine independent
Multi-user, multitasking support
Compatibility and portability
SOLARIS OS Advanced networking capability supporting
The Solaris OS is a free Unix-based operating system wireless and high throughput networks
introduced by Sun Microsystems in 1992 as the Facilitates zoning security
successor to Sun OS User-interface for internet browsers, media
players, office suite
Managing hardware usage of a particular
application
WINDOWS It is a Graphical User Interface OS
Developed by Microsoft Corporation Helps in sharing of files and folders
Automatic defragmentation of disk
Inbuilt Internet Explorer
Multimedia support
High security support
Easy installation of software
Supports multi-tasking multi-user and
multithreading
Supports multi-core processors
**************