Hardware represents the physical and tangible
components of the computer i.e., the components that
can be seen and touched.
Ex : Input devices, Output devices
Software represents the set of programs that govern the
operation of a computer system and make the hardware
run.
Types of Software
System Software
The software that controls internal computer operations
Application Software
It is the set of programs necessary to carry out operations
for a specified application.
System Software can be further classified into
Operating System – It is a program which acts as an
interface between a user and the hardware (i.e. all
computer resources)
Ex : Ms-DOS, Windows
Language Processor – It is a program which converts a
program written in one language to another language.
Ex: Assembler, Interpreter and Compiler
Assembler
A software that converts the program written in assembly
language into machine language.
Compiler
A software that converts the program in high level
language into machine language.
It converts the entire program in one go and reports all
the errors of the program with line numbers.
Once the errors are corrected, the program is recompiled
to create an object file (.OBJ).
After that the compiler is not needed in the memory
Interpreter
This software converts a HLL program into machine
language line by line and executes it line by line.
If there is any error in any line, it reports it and stops the
conversion / execution.
Interpreter must always be present in the memory to
interpret and execute the program thus causing
unnecessary usage of memory.
Types of Application Software
Packages
Utilities
Customised Software
Packages
It is a general software designed to be used by individual
users to suit their needs and requirements.
Some of the packages are :
Word Processing Software
It is a package that processes textual matter and creates
organized and flawless documents.
Ex : Wordstar, Word, Softword etc.
Electronic Spreadsheet
It is a program that accepts data in a tabular form (in
rows and columns) and allows users to manipulate /
calculate / analyze data in the desired manner.
Ex : Lotus 1-2-3, Excel, QuattroPro etc.
Database Management System (DBMS)
It is a package that can handle and manage bulk of
stored data.
Ex: Foxpro, Access, Oracle etc.
Desktop Publishing (DTP) Software
It is a software that handles page layout by combining the
functions of a traditional typesetter and a layout artist, is
known as Desktop Publishing Software.
Ex: Coreldraw
Graphics Software
It is a software that manipulates images
Multimedia Software
It is a software that incorporates images, text, sound,
computer animation and video sequences
Ex: Macromedia ®Director ®
Presentation Graphics Software
It is an application software that can create professional
looking visual aids.
Ex: Power point
Utilities
These are the application programs that assist the
computer by performing housekeeping functions like
backing up data, scanning / cleaning viruses etc.
Some important utilities are :
Text Editor
Utility program for creating, editing text files.
Backup Utility
Utility program to facilitate backing up of disk.
Compression Utility
Utility to facilitate compression of files.
Disk Defragmentor
This utility program attempts to minimize the
fragmentation on the disk.
It speeds up disk access by rearranging the files and free
space on the computer, so that files are stored in
contiguous units and free space is consolidated in one
contiguous block.
Antivirus Software
It scans the disk for viruses and removes them, if found.
Customized Software
It is a tailor-made software according to a user’s
requirements.
Major OS Functions
Processor Management
Storage (Memory) Management
Device Management
Information (File) Management
Common Operating Systems
Linux
Windows
BOSS (Bharat Operating System Solutions) Linux
Solaris
Mobile Operating Systems
Android
Symbian
Windows Phone
Apple iOS
INPUT, OUTPUT AND MEMORY
DEVICES
MICROPROCESSOR
A microprocessor, also called CPU, is a multipurpose,
programmable logic device (an IC) that reads binary
instructions from a storage device called memory, accepts
binary data as input and processes data according to
those instructions and provides results as output.
Basic Characteristics :
Instruction set – The set of instructions that the
microprocessor can execute.
Bandwidth – The number of bits processed in a single
instruction.
Clock Speed – It determines the number of instructions
per second the processor can execute. Unit – megahertz
(MHz), gigahertz (GHz)
Classification of
Microprocessors
By the width of the data format
4-bit, 8-bit, 16-bit, 32-bit, 64-bit or 128-bit processors
A 64-bit processor has a data bus that is 64 bit wide.
Thus a 64 bit processor’s data bus can carry more information than
a 32-bit processor’s data bus.
By their Instruction Set
Reduced Instruction Set Computer (RISC) [uses small set of
instructions]
Complex Instruction Set Computer (CISC) [supports hundreds of
instructions]
Explicitly Parallel Instruction Computing (EPIC) [combination of
both]
Input & Output Devices
The input unit is responsible for accepting input i.e. data
and instructions from the user using input device.
Examples of input devices : Keyboard, Mouse,
Microphone etc.
The output unit is responsible for producing the output in
user readable form through output device.
Examples of output devices : Printer, Plotter, Speakers etc.
Memory Devices
Memory is used for storing both data and instructions.
Memories can be read from or written into.
Memories that can be both read from and written into are
called read-write memories.
Memories that have programs or data permanently stored
are called read-only memories.
Main memory can be divided into
Random Access Memory (RAM)
Volatile memory
Data / information can be read from / written into it
Types – Dynamic RAM (DRAM) and Static RAM (SRAM)
Read Only Memory (ROM)
Can only read from it.
Non volatile memory
Types – Programmable Read Only Memory (PROM), Erasable
Programmable Read Only Memory (EPROM), Electrically
Erasable PROM (EEPROM)
RAM ROM
Cache memory
It is a high speed memory available inside CPU in order to
speed up access to data and instructions stored in RAM
memory.
When data is found in cache, it is called cache hit.
Many cache systems use smart caching (system
recognizing certain types of frequently used data)
Types – L1 cache (built inside CPU), L2 cache and L3
cache(L2 and L3 caches reside in the motherboard, outside
CPU)
Thus when CPU needs some information, it first checks
within its registers (high speed memory locations), then
caches L1, L2 and L3 and then main memory (DRAM),
then the virtual memory implemented on hard disks and
then network or cloud.
Secondary Memory Devices
They are used to store large amount of data permanently.
Storage capacity is measured in terms of KB, MB, GB, TB
etc
Ex : Hard disks, Compact Disks (CDs), Digital Video Disk
(DVD), Pen drives, Blu Ray Disk etc.
Hard disc
Blu ray disc
Ports
Ports
Slots on the CPU to connect external devices to the
computer.
Serial Ports – Transfers data serially a bit at a time, known
as communication (COM) ports, connects mouse, modem
etc.
Parallel Ports – Can send or receive a byte (8 bits) at a
time, connects printer, scanner etc.
Universal Serial Bus (USB) Ports – gives a single,
standardized, easy-to-use way to connect various devices
like digital camera, speakers etc.
Accelerated Graphics Port (AGP) – used to connected to
graphic card
Infrared Ports (IR Port) – sends and receives infrared
signals from other devices.
Bluetooth – Technique to interconnect mobile phones,
computers using a short-range wireless connection.
Personal System /2 (PS-2) Port – an electronic receptacle
/ plug to connect mouse / keyboard
Firewire – provides a single plug-and-socket connection
on which up to 63 devices can be attached with data
transfer speeds up to 400 Mbps. Very popular on audio and
video devices.
Serial Port
Parallel Port
PS-2 Port
Firewire
General OOP Concepts
Programming Language Generations
First Generation Programming Language (1GL) – machine
level programming language
Second Generation Programming Language (2GL) – assembly
language / assembler
Third Generation Programming Language (3GL) – human
understandable form Fortran, ALGOL, COBOL, BASIC, C,
C++
Fourth Generation Programming Language (4GL) – non
procedural – programmers have to specify WHAT is required
rather than HOW it is to be done Ex: SQL
Fifth Generation Programming Language (5GL) – designed to
make the computer solve the problem for you, used in
Artificial Intelligence Research, Ex: Prolog, Mercury
Programming Paradigms
Paradigm – a way of thinking or doing things
Procedural Programming
Emphasis is on doing things
Data is given secondary status
A change in data type requires changes to be done in many places
Does not model real world objects
Modular Programming
Extension of procedural programming
A program consists of a number of modules (A block of code with some
input / output) which work independently of all others.
Each module can work with its own data as well as with the data passed to
it.
Object Oriented
Programming
The emphasis is on the data.
The problem is viewed in terms of the objects involved.
Models real world entities
Object
It is an identifiable entity with some characteristics and
behaviour.
Class
A class is a template / blue print representing a group of
objects that share common properties and relationships
Example :
Vehicle is a class, Car is an object
Bird is a class, Parrot is an object
Fruit is a class, Apple is an object
Student is a class, Rahul is an object
OOP Concepts
Data Abstraction
It refers to the act of representing essential features without
including the background details or explanations
Implemented by the data type class in C++
Encapsulation
The wrapping up of data and operations / functions that
operate on the data into a single unit called class is known as
encapsulation.
Implemented by the data type class in C++
Encapsulation is a way of implementing data abstraction.
Modularity
It is the property of a system that has been decomposed into a
set of cohesive and loosely coupled modules.
It is implemented in C++ through separately compiled header
files.
Inheritance
It is the capability of one class of things to inherit capabilities
or properties from another class.
Base class , derived class in C++
Advantages – Models real world objects
Code reusability
Because of transitive nature, changes in base class are
automatically reflected in derived classes.
Polymorphism
It is the ability for a message or data to be processed in more
than one form.
It is the property by which the same message can be sent to
objects of several different classes and each object can
respond in a different way depending on its class.
Implemented by function and operator overloading in C++
Advantages of OOP
Reuse of code, ease of comprehension, maintenance, redesign and
extension
Disadvantages
Overly generalised, tricky design, good programming skills