You are on page 1of 39

Chapter-6

USER COMPUTER INTERFACE


Software
A system consist of s/w & h/w.
The s/w is a set of programs that instructs the computer
about the tasks to be performed.
The computer h/w cannot perform any task its own.
Different sets of software can be loaded on the same h/w to
perform different kinds of tasks.
Types of software
2 types
1. System software
2. Application software
1) System Software
It provides basic functionality to the computer.
System s/w have direct control & access to your computer
h/w, and memory locations. They perform i/o operations
on various memory locations & control the h/w to make the
application s/w do a task.
The user of computer does not need to be aware about the
functioning of system s/w, while using the computer.
System software
Examples:
1) Microsoft Windows
2) Linux
3) Unix
4) DOS
5) BIOS Software
6) Boot Software
7) Device Driver Software
8) Linker Software
9) Assembler and Compiler Software
Purpose of the s/m software are:
To provide basic functionality to the computer.
To control computer h/w.
To act as an interface between to user,application s/w &
computer h/w.
OPERATING SYSTEM
Important part of a computer
An OS is a program that acts as an interface between the
user and the computer h/w and it controls the execution of
all kinds of programs
The key functions of OS are:
It provides an environment in which users & application s/w
can do work.
It manages different resources of the computer like CPU
time, memory space, file storage, I/O devices etc.
It controls the execution of different programs.
It provide interface to the user in the form of commands &
graphical interface, which improves the use of computer.
Exaple:
MS-DOS,linux,windows 7etc
Device Driver
It is an intermediates between the device & the s/w in order
to use the device.
Some devices are commonly connected to the computer are-
-- keyboard, mouse, hard disk, printer, speakers, micro
phone, joy stick, webcam, scanner, digital camera &
monitor.
For proper working of a device, device driver must be
installed on the computer.
For example:
when, we give a command to read data from the hard disk,
the command is send to the hard disk driver & is translated
to a form that the the hard disk can understood.
Device drivers are 2 types
1. Character device drivers
Used for character based devices like keyboard. Which
transfer data character by character.
2. Block device drivers
It transfer data as a block like in hard disk.
System utilities
System utility s/w is required for the maintenance of
computer.
Some system utilities may come embedded with OS & others
may be added later on.
Examples are:
Anti-virus utility
Data compression utility
Cryptographic utility
Disk compression utility
Disk partitioning disk cleaners
Backup utility
Network managers
PROGRAMMING LANGUAGE
It consists of a set of vocabulary & grammatical rules to
express the computations & the tasks that the computer
has to perform.
Each language has a unique set of keywords & a special
syntax for organizing program instructions.
The programming language should be understood, both by
the programmer & the computer.
A computer understands the language of 0s & 1s while the
programmer is more comfortable with english-like
language.
3 categories.
1. Machine language
2. Assembly language
3. High level language
Figure page 121
Machine languages and assembly languages are also called
low-level languages, & are generally used to write the s/m
software.
Application software is usually written in high-level
languages.
The program written in programming language is also called
the source code.
Machine Language
The lowest level of language.
The language used to program the first-generation
computers.
The instructions in machine language are made of binary
numbers, represented by 1s and 0s.
1s and 0s correspond to the on and off states of electrical
switches.
Suitable for the understanding of the machine but very much
difficult to interpret and learn by the human programmer.
It is a s/m of instructions & data executed directly by a
computers CPU.
Features:
1) The computer can understand the programs written in
machine language directly.
2) Programs written in machine language can be executed
very fast.
3) Machine language is defined by the h/w of a computer.
Here the program written in one computer may not work
on another computer with a different processor.
4) Different computer may not run the same machine
language program, even when the same type of
processor is used.
5) Most machine level instructions have one or more
opcode fields which specify the basic instruction
type(arithmetic, logical, jump etc) , & the operands.
6) It is difficult to write & modify a program in machine
language.
Assembly Language
Symbolic operation codes replaced binary operation codes.
Very efficient code and easier to write.
Low-level language that allows a programmer to use
abbreviations or easily remembered words instead of
numbers.
These Observations are called Mnemonics. These
Mnemonic are Op-code and Operands
For Example: ADD AX, BX
MOV CX, AX
INC CX
Op-code; ADD, MOV, INC
OperandsAX, BX,CX
Features:
The programs are easier to write than the machine language
programs.
Assembly language programs are short, english like
representation of machine code.
Example:
ADD 2,3
SUB A,B
The program written in assembly language is the source
code, which has to be converted into machine code, also
called object code using translator s/w, namely,
assembler.
Each line of the assembly language program is converted
into one or more lines of machine code.
It uses symbolic representation, they are still difficult to write.
Here the efficiency & the speed of program are the critical
issues ie., program requiring high speed and efficiency.
High-Level language
Written in English-like language.
It allowed users to write in familiar notation, rather than
numbers or abbreviations.
Most High-level languages are not Machine Dependent.
Translator for High-level languages is either a Compiler or an
Interpreter.
Examples of High-level languages:
FORTRON
COBOL
BASIC
C and C++
Features:
Easier to write,read, or understand
Programs written in high-level languages is the source code
which is converted into the object code (machine code)
using translator s/w like interpreter or compiler.
A line of code in high-level program may correspond to more
than one line of machine code.
High level languages are easily portable from one computer
to another.
DIFFERENT GENERATIONS OF PROGRAMMING
LANGUAGES
1st Generation Programming language (1GL)
Machine Language: 0s or 1s
2nd Generation Programming language (2GL)
Assembly Language : Mnemonics
3rd Generation Programming language (3GL)
High-Level Languages ; (procedure oriented or Object
Oriented) ,C, COBOL, Fortran, Pascal, c++, java,
ActiveX
4th Generation Programming language (4GL)
Very-High-Level Languages --.NET(VB.NET, C#.NET etc
5th Generation Programming Language
Natural Languages, LISP.Prolog
TRANSLATOR SOFTWARE
Translator s/w is used to convert a program written in high
level language & assembly language to a form that the
computer can understand.
The translated program is called the object code.
3 types of translator s/w:
Assembler
Compiler
Interpreter

Assembler converts a program written in assembly language


to machine language.
Compiler & interpreter convert a program written in high-level
language to machine language.
1) ASSEMBLER
Assembly language is a symbolic representation of the
machine code.
assembler is a s/w that converts assembly language
programs into machine code.
The machine language is dependent on the processor
architecture.
So the corresponding assembly language programs also
differ for different computer architectures.
2) COMPILER
It is a s/w that translates the program written in high level
language to machine language.
Program written in high level language is referred to as the
source code & compiled program is referred as the object
code.
Each programming language has its own compiler
Some programming language use compiler are:
C++,COBOL, Pascal and FORTRAN
In some languages, compilation using the compiler & linking
using the linker are required for creating the executable
object code.
Compilation process has 2 parts. That is
1) Breaking down the source code into small pieces &
creating an intermediate representation.
2) Constructing the object code for the intermediate
representation.
The compiler also reports syntax errors, if any in the source
code.
3) INTERPRETER
Purpose is similar to that of compiler.
Interpreter is used to convert the high level language
program into computer understandable form.
Interpreter reads the source code line-by-line, converts it into
machine understandable form, executes the line, & then
proceeds to the next line.
Some languages that use an interpreter are BASIC & python
Difference b/w compiler & interpreter

interpreter compiler
1) It looks the source code line- 1) Looks at the entire source
by-line code.
2) It converts a line into 2) It converts the entire source
machine executable form, code into object-code. Object
executes the line, & code is then executed by the
proceeds with the next line. user.
3) Interpreter executes line-by- 3) For a given source code,
line, so executing the once it is compiled, the
program using an interpreter object code is created. this
means that the source code object code can be executed
is first interpreted & then multiple number of times by
executed the user.
Difference b/w compiler & interpreter

interpreter compiler
4) Both interpreter & source 4) During execution of the object
code is required during code, the compiler is not
execution. required.
5) Interpreter code runs slower 5) Compared to the interpreter it
than the compiled code. is fast.
linker
Linker is a program.
The source code of a program is very large, Consisting of
several hundred or more lines.
Source code may also 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, the modules & the required libraries are
linked together using the linker s/w.
The compiled & linked program are called the executable
code.
Loader
Loader s/w is used to load & re-locate the executable
program in the main memory.
Loader assigns storage space to the program in the main
memory for execution.
At runtime, the class loader loads the byte codes from the
hard disk, checks it, and runs it in an interpreter.
The interpreter executes the byte code & makes call to the
underlying h/w
2) Application s/w
It is a s/w that a user uses for accomplishing a specific task
is the application s/w.
Application s/w may be a single program or a set of
programs.
A set of programs that are written for a specific purpose &
provide the required functionality is called s/w package.
Example of application s/w packages are:
word processing s/w
image processing s/w
accounting s/w
Spreadsheet s/w
Presentation s/w
Web Browser s/w.
S/W ACQUISITION
Different kinds of s/ws are available in different ways.
The user may have to
1. purchase the s/w,
2. download for fee from the internet
3. can get it bundled along with the h/w.
4. available through cloud
Different ways in which the s/w are made available to users
are:
Retail s/w (ex: microsoft windows os)
OEM s/w (Original Equipment Manufacturer s/w)
Demo s/w--- (design to demonstrate what a purchased
version of the s/w is capable of doing & provides the
features.)
Shareware---(try for free for a specified period of time)
freeware---( free for personal use. The commercial
use of this s/w may require a paid license.)
public domain s/w---(free s/w. source code is publically
available for anyone to use.no license restriction. )
open source s/w---(source code of the s/w is available
& can be altered within the specified guidelines laid
down by the creator.)

You might also like