0% found this document useful (0 votes)
54 views87 pages

Unit 1 PDF

Uploaded by

hroy82826
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views87 pages

Unit 1 PDF

Uploaded by

hroy82826
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 87

UNIT 1

INTRODUCTION TO COMPUTER
Introduction
The term ‘Computer’ was first introduced in 1640 and referred to as ‘one who
calculates’.

It was derived from the Latin word ‘computare’, which meant ‘to calculate.

In 1822, Charles Babbage( known as the father of computer) invented an


early calculator which was named as the ‘Difference Engine’.

In 1833, he introduced the first mechanical, general purpose computer


‘Analytical Engine’.
Computer stands for: Common Operating Machine Purposely Used for
technological educational and research
Definition
“A computer is a programmable
electronic device that takes data,
perform instructed arithmetic and
logical operations and gives the
output.”

However, modern computers are not


just a calculating device anymore.
They can perform a variety of tasks.

A computer is also called a data


processor because it can store,
process and retrieve data whenever
desired.
Characteristics of Computer
Speed: Computer can carry around 3-4 million instruction per second.
Accuracy: Computer can complete the given jobs at almost 100% accuracy
Storage capacity: Computers can easily store a massive size of data
Diligence: Computer can perform millions of tasks or calculations with the
same consistency and accuracy. It doesn’t feel any lack of concentration
Versatility: Computers are capable to perform different kinds of tasks with
same accuracy and efficiency
Automation: Computer carries out a job normally without any human
intervention.
NO I.Q.: It cannot take its own decisions, and has to be instructed what to do
and in what sequence.
Application Area
Education Safety and security
Science Publishing
Government Communication
Medical Weather forecasting
Banking Industry
Training Business
Arts Finance
Entertainment Transport
Sports Navigation

Robotics
agriculture
Generations of Computer
In computer terminology, the word ‘generation’ is described as a stage of
technological development or innovation.

A major technological development that fundamentally changed the way


computers operate, resulting in increasingly smaller, cheaper, more
powerful, more efficient and reliable devices characterize each generation
of computer.

According to the type of processor installed in a machine, there are five


generations of computers.
First Generation(1940-1956)
Characteristics:
These computers were based on vacuum tube technology
These were the fastest computing devices of their times(computation time was in
milliseconds).
 These computers were very large and required a lot of space for installation
Since thousands of vacuum tubes were used, they generated a large amount of heat
These were nonportable and very slow equipment
They lacked in versatility and speed
They were very expensive to operate and used a large amount of electricity
These machines were unreliable and prone to frequent hardware failure
Manual assembling of individual components was required
Example: ENIAC, EDVAC and UNIVAC
Second Generation(1956-1963)
Characteristics:
These machines were based on transistor technology
These were smaller when compared to the first generation computers
The computational time of these computers was reduced to microseconds
These were more reliable and less prone to hardware failure
These were more portable and generated less amount of heat
Assembly language was used to program computers
Second generation computer still required air conditioning
Manual assembling of individual components was required
Example: PDP-8, IBM 1401 and IBM 7090
Third Generation(1964-1970)
Characteristics:
These computers were based on integrated circuit(IC) technology
These were able to reduce computational time from microseconds to nanoseconds
These were easily portable and more reliable than second generation computers
These devices consumed less power and generated less heat
The size of these computers was smaller as compared to previous-generation
computers
Since hardware rarely failed, the maintenance cost was quite low
Extensive use of high-level languages became possible
Manual assembling of individual components was not required
Commercial production became easier and cheaper
Example: NCR 395 and B6500
Fourth Generation(1971-Till Date)
Characteristics:
These computers are microprocessor based systems
These computers are very small in size
These are the cheapest
These are portable and quite reliable
These machine generate negligible amount of heat
Hardware failure is negligible
The production cost is very low
GUI and pointing devices enable the users to learn computer quickly
Interconnection of computers leads to better communication and resource sharing
Example: Apple II, Altair 8800 and CRAY-1
Fifth Generation(Present and beyond)
Characteristics:
ULSI(Ultra large scale integrated) chips technology
Development of Artificial Intelligence
Advancement in Parallel Processing
More user friendly interfaces with multimedia features
Availability of very powerful and compact computers at cheaper rates
Natural language processing is now in its fifth phase of development

Example: Notebooks from IBM, PCs of Pentium, IBM SP/2,


Supercomputers with PARAM
Evolution of Computers
The need for a device to do calculations along with the growth in
commerce and other human activities explain the evolution of computers.

Computers were preceded by many devices that mankind developed for


their computing requirements.

Many centuries elapsed before technology was adequately advanced to


develop computers.

To understand the recent impact of computers, it is worthwhile to have a


look at the evolution of computers.
Abacus
First mechanical device used for calculation
Invented by Mesopotamians around 3000BC
Consisted of beads on movable rods divided in 2 parts
The arithmetic operations like addition and subtraction
can be performed by positioning the beads appropriately
Used even today by young children to learn basic calculations
Napier Bones
Invented by John Napier, a Scottish mathematician in 1617
It has set of 10 rods or bones with multiplication table on them
Performed addition, subtraction, multiplication and division
It was also the first machine to use the decimal point
Napier played a crucial role in the development of logarithms
Pascaline
Invented by Blaise Pascal, a French Mathematician in 1642
It was the first mechanical automatic calculator made up of gears or
wheels
Addition and subtraction was faster than Abacus
This device was limited to addition and subtraction only
A computer programming language, Pascal was named to honor his
contribution
Stepped Reckoner
Invented by Gottfried Wilhelm Leibniz in 1694
Extended Pascal Calculator to have automatic multiplication
division and evaluate square roots by series of stepped
additions
It had a cylinder or stepped drum with a set of teeth of
incremental lengths which, was coupled to a counting wheel
Leibniz was the first to support the use of a binary number system
Jacquard Loom
Invented by Joseph Marie Jacquard in 1804
It made the cotton weaving process automatic
The loom was controlled by a number of punched cards laced
together into a continuous sequence
This idea of using punched cards to communicate with
Machines was an important step in the development of
computers
The presence or absence of a hole in a punched card
represented the two digits of the binary system, which is the
base for all modern digital computers
Punched Card
These are paper cards with holes that can be made manually or mechanically
to represent computer data and instructions.
They are also referred to as Hollerith cards and IBM cards.
 Entering data into early computers, they were a commonly utilized method.
The cards were placed into a card reader that was attached to a computer, and
the computer translated the holes' order into digital data.
 A handwritten program might be converted into numerous punched cards
using a punch card machine by a computer programmer in the early days
The programmer would bring the stack of cards to a computer and input the
program using a card reader.
The ability to save files was not present in early computers. The only way to
use data with other computers was to use a punch card to construct a data file
or program. Punch cards were no longer utilized after the development
of magnetic media, which became more affordable.
Punched cards are not input device. Punched card reader is regarded as an
input device because it transfers data from the punch card to the computer
Difference Engine
Invented by Charles Babbage, a British Mathematician in 1822
He also known as Father of Computers
It could solve differential equations
It stored program to perform calculations and print results
automatically
Babbage could never finish a full scale functional version of this
machine because of funding
Analytical Engine
Invented by Babbage in 1833 which was the basis of modern computer
This machine had five units- Input, Output, Store, Mill(Process) and Control
Performed addition, subtraction, multiplication and division
Analytical engine is considered to be the first general-purpose programmable computer
Lady Ada Lovelace programs for the proposed machine
She is known as the ‘First Computer Programmer’
A programming language named ‘ADA’ is named after her
But, this computer was never built while Charles Babbage was alive because of budget
issue
In 1910,Charles babbage’s youngest Son, Henry Babbage, completed a portion of this
machine and performed some basic calculations
Some Early Computers
MARK-I Computer: ABC Computer:
Period- 1937 to 1944 In 1939, John Vincent Atansoft and
Clifford Berry build the first electronic
Howard Aiken, an American computer named as ABC(Atansoft Berry
mathematician, under the sponsorship of Computer)
IBM, developed MARK-I
It is consider the first computing
It was an electro-mechanical device machine, which introduced the idea of
It was about 50feet long and 8feet high binary arithmetic, regenerative memory
and logic circuits
It could perform addition, subtraction,
multiplication, division and table This computer used electronic vacuum
reference tubes and the circuitry was based on
George Boole’s Boolean algebra
It was extremely slow, noisy
Some Early Computers
ENIAC: EDVAC:
In 1946, John Eckert and John Mauchly In 1949, John Eckert and John Mauchly
of the Moore School of Engineering at the also proposed the development of
university of Pennsylvania developed
Electronic Discrete Variable Automatic
Electronic Numerical Integrator and Computer(EDVAC)
Calculator(ENIAC)
It is the stored program concept introduced
It consisted of 18,000 vacuum tubes, by John Von Neumann
which required around 160KW of
electricity and weight nearly 30 tons It also had the capability of conditional
transfer of control
It could compute at a speed 1000 times
that of MARK-I It contained approx. 4000 vacuum tubes
and 10,000 crystal diodes
It had limited amount of space to store
and manipulate information
Some Early Computers
EDSAC: UNIVAC:
In 1949, A group of scientists In 1951, Eckert-Mauchly Corporation manufactured the
headed by Maurice Wilkes of UNIVersal Automatic Computer (UNIVAC)
Cambridge University build
It is the first commercially available electronic computer
Electronic Delay Storage
Automatic Calculator It was also first general purpose computer, which was
(EDSAC) designed to handle both numeric and textual information
It had 3000 vacuum valves Its implementation marked the real beginning of the
arranged on 12 racks and used computer era
tubes filled with mercury for
memory It could compute at a speed of 120-3600 microsecond

It could carry only 650 Magnetic tapes were used as input and output media at
instructions per second a speed of around 13,000 characters/s
Its first installation was in the Census Bureau, which
was used for 10 years
Classifications of Computers
Today, computers are available in
different sizes and types
One can have a computer that can fit in
the palm to those that can occupy the
entire room
Some computers are designed to be used
by a single user only whereas some
computers can handle the needs of many
users simultaneously
Computers also differ based on their
data-processing abilities
In general, the computers can be classified
according to size, based on work and
purpose-
Classification According to
Purpose
General-Purpose Computers: Special–Purpose Computers:
A general-purpose computers, as the These computers are designed to handle a
name suggests, is designed to perform a specific problem or to perform a single
range of tasks specific task
 These computers have the ability to store A set of instructions for the specific task is
numerous programs built into the machine
 These machines can be used for various They cannot be used for other applications,
applications, ranging from scientific to that is, they lack versatility
business-purpose applications
They can provide the result very quickly
 Even though such computers are and efficiently
versatile, they generally lack in speed and
efficiency These computers are used for airline
 The computers used in schools and reservations, satellite tracking and air traffic
homes are general-purpose computers. control
Classification According to Data
Handling(work)
Analog Computer:
A computing machine that operates on data in the form of continuously
variable physical quantities is known as analog computer
They measure continuous physical magnitudes(e.g. temperature,
Pressure and voltage)
Analog computers are used for scientific and engineering purpose
These computers give approximate results since they deal with quantities that vary
continuously
They are vary fast
It is very easy to get graphical results directly using analog computer
The accuracy of analog computers is less
Example: speedometer of car, ECG machine
Classification According to
Data Handling(work)
Digital Computer:
A computer that operates with information, numerical or
otherwise, represented in a digital form in known as digital computer
Such computer process data (including text, sound, graphics
and video) into a digital value(in 0s and 1s)
In digital computers, analog quantities must be converted
into digital quantity before processing and after processing
digital output is converted into analog quantity
Digital computers can give the results with more accuracy
They are slower than analog computer
Example: Desktop PC
Classification According to
Data Handling(work)
Hybrid Computer:
Hybrid computer incorporated the measuring feature of
an analog computer and counting feature of a digital computer
For computational purposes, these computers use the
analog components and for the storage of the information,
digital memories are used
Hybrid computers comprehensively use converters
It combines the best features of analog and digital computers
Such computers are broadly used in scientific applications,
various fields of engineering and industrial control process
Example: Hybrid computer is used in hospital to measure the heart beat of the ICU patients
Classification According to
Size(Functionality)
Micro Computers:
It consists of a microprocessor, a storage unit, an input unit and an output unit,
the addition of a power supply and connecting cables,
appropriate peripherals( keyboard, mouse, monitor), an operating system
and other software programs
They are extensively employed for personal usage
They are smaller and comparably less expensive
It has a limited computational capacity.
They are quite simple to use
They are the most affordable
These computers were designed only for individual users, but nowadays, when networked
together, they can serve more than one user
Example: IBM-PC Pentium 100, Apple Macintosh
Types of Micro-Computer
Desktop: Laptop:
Desktop Computer is a Personal Laptop is a small size of the computer system
Computer(PC) enclosing all the basic features of a normal
desktop
This computer is heavyweight it is used a
one location and one person work at a time Laptop is a more powerful computing device and
laptop is a multi-tasking computer
The main part of desktop computer is LCD We can carry very easily because this is
Screen, CPU, Keyboard, Mouse, and UPS lightweight
They are not very expensive for the We can do many types of work with the help of
individual laptop
PC manufacturers: APPLE, IBM, Dell and Light weight version of laptop is called note book
HP(Hewlett-Packard)
They are expensive as compared to desktop
It has a rechargeable battery
Types of Micro-Computer
Tablet: Smartphone:
Tablet Computer just like a Mobile Device Smartphone is a cell phone that functions
but bigger than Smartphone and smaller like a computer.
then Notebook Computer.
A new generation Smartphone build is very
Just like Totally Smartphone feature like advanced and high technology.
Touch screen display, power full Battery
Backup and we can calling and receiving The New generation Smartphone is Multi-
call and click pictures and anything. purpose and Multi-tasking phone.
We can do send Email, Listing Music, take
pictures, and use Face book and other
social media platform.
Classification According to
Size(Functionality)
Mini Computers:
A mini computer is a small digital computer, which normally is able to process and less data
than mainframe, but more than micro computer
They are used as desktop devices that are often connected to a mainframe to perform the
auxiliary operations
A mini computer(also called mid-range computer) is designed to meet the computing needs of
several people simultaneously in a small to medium sized business
It is capable of supporting 4 to 200 simultaneous users
They are used for real-time controls and engineering design work
High performance work-stations with graphics I/O capability use mini computers
Example: PDP 11, IBM(8000 series), VAX 7500
Classification According to
Size(Functionality)
Mainframes Computer:
A mainframe is an ultra high-performance computer made for high-volume, processor-intensive
computing
They can usually execute many programs simultaneously at a high speed
Mainframes are the second largest(in capability and size) of the computer family
It is able to process and store more data than a mini computer
Mainframe computer allows its user to maintain large information storage at a centralized location and is
able to access and process this data from different computers located at different locations
It is typically used by large businesses and for scientific purpose
They have a significant number of CPUs with powerful processing speeds.
Tightly Coupled Clustering Technology is employed.
Example: IBM’s ES000, VAX 8000 and CDC 6600
Classification According to
Size(Functionality)
Super Computer:
Super computers are the special purpose machine, which are specially designed to maximize the numbers of
FLOPS(floating point operation per second)
Its processing speed lies in the range of 400-10,000 MFLOPS(millions of floating point operation per second)
It has the highest processing speed at a given time for solving scientific and engineering problems
It basically contains a number of CPUs that operate in parallel to make it faster
They can resolve complex mathematical equations in a few hours, which would have taken a scientist with paper and
pencil a life time
They are the fastest, costliest and most powerful computers
They are used to solve multivariant mathematical problems of existent physical processes such as aerodynamics,
metrology and plasma physics
These are also required by the military strategists to simulate defence scenarios
Cinematic specialists use them to produce sophisticated movie animation
Scientists build complex models and simulate them in a super computer
They has limited use because of its high cost and limited market
Example: CRAY-3, Cyber 205 and PARAM
The Computer System
A computer can be viewed as a system, which consists of a number of interrelated
components that work together with the aim of converting data into information
In a computer system, processing is carried out electronically, usually with little or no
intervention from the user
Computer needs to be instructed on exactly what to do and how to do
The instructions given to the computers are called Programs
 without programs, computers would be useless
Any physical parts connected to the computer or any part of the computer outside the
CPU and the working memory is known as a peripheral, example: keyboard, mouse and
monitor
Block diagram of a Computer

A Block diagram of a
computer displays a
structural representation of
a computer system. The
block diagram gives you a
quick overview of the
working process of a
computer form inputting
the data to retrieving the
desired output.
Components of Computer System
Computer components are the essential building parts of developing a functional computer
system
The processor (CPU), memory, and input/output devices are every computer's three main
building blocks
 Initially computers were primarily used for numerical computations because any
information can be numerically encoded.
The ability of computers to interpret information for several purposes was quickly
recognized
There are 5 main computer components that are given below:
Input Unit
CPU
Output Unit
Primary Memory
Secondary(Auxiliary) Memory
Functions of computer component
The following five are major operations carried out by computer components:
1.Inputting: It is the process of entering data and instructions into a computer system
2.Storing: It is the process of saving data and instructions to make them readily
available for initial or additional processing as and when required
3.Processing: Performing arithmetic operations(add, subtract, multiply, divide , etc.) or
logical operations(comparisons like equal to, less than, greater than, etc.) on data to
convert them into useful information is known as processing
4.Outputting: It is the process of producing useful information or results for a user, such
as printed report or visual display
5.Controlling: Directing the manner and sequence in which the above operations are
performed is known as controlling
Input Unit
The input unit that links a computer with its external environment performs this task
Data and instructions enter a computer through an input unit in a form that depends
upon the input device used
A computer’s memory is designed to accept input in binary code and hence, all input
devices must transform input signals to binary codes. Units called input interfaces
accomplish this transformation
Input interfaces match the unique physical or electrical characteristics of input devices
to the requirements of a computer system
The devices used to input data into the computer are called input devices
Example: keyword, mouse, scanner
Output Unit
Output unit supplies information obtained from data processing to outside world. It links
a computer with its external environment
Before supplying the results to outside world, this unit must convert them binary code to
human readable form. Units called output interfaces accomplish this task
This unit is an essential component of a computer because without it we cannot obtain
or see information or desired results
The output unit contains the devices needed to receive and view information from a
computer
Example: monitor, Printer, speaker, projector
Central Processing Unit(CPU)
A computer machine's "brain" is its central processing unit (CPU) also known as
processor
 It executes the calculations and commands required for functioning of the computer
device
 The CPU comprises some components: the control unit, the arithmetic logic unit (ALU),
and registers
It issue commands to all parts of the computer system
It controls the sequence of operations as per the stored instructions
it performs the data-processing operation and sends the results to the output unit
CPU works with data in discrete form that is 1 or 0
Central Processing Unit(CPU)
The CPU itself has three parts:
•The CPU’s Control Unit(CU) is a crucial component. It is in charge of reading and
decoding instructions from memory. The right part of the CPU receives and executes
these instructions from the control unit. It also controls the I/O devices and directs the
overall functioning of the other units of the computer
•The ALU, often known as the Arithmetic Logic Unit(ALU), is another crucial CPU part.
The ALU operates addition, subtraction, comparison calculations, and other logical and
mathematical processes. These operations are carried out using binary logic, which
limits operations to the 0 and 1 digits
•Registers are compact, high-speed data and instruction storage spaces within the CPU.
They are utilized to store data that is being processed by the CPU momentarily.
Registers are used to accelerate data processing because they are much faster than
other forms of memory, such as RAM
Primary Memory
The CPU has direct access to primary memory
The data and instructions that are currently being processed are kept in primary memory
The data and instructions are accessed by the CPU from primary memory when a computer
program is running
 The information is removed from primary memory once the program is completed
Primary memory is classified into two types: Random Access Memory (RAM) and Read-Only
Memory (ROM)
RAM is the most common form of primary memory and is used to store data and instructions that
the CPU wishes to access frequently. RAM is volatile.
ROM is a form of memory this is used to store data and instructions that don't change. ROM is
non-volatile.
Other primary memory types, including cache memory, are sometimes used in computer
systems. High-speed memory called cache saves information and instructions, which might be
utilized often.
Secondary Memory
Secondary memory, also called auxiliary storage, is a type of computer memory that is
used to store data and programs that aren't currently being utilized by the CPU
 secondary memory is non-volatile, which means that its contents are not lost when the
computer is turned off
These devices have varying storage capacities, read and write speeds, and different
capabilities that make them appropriate for different types of applications
Users can store a lot of data and programmed in secondary memory, which is useful
since it makes them accessible fast and readily when needed
Users can also protect crucial data from loss due to system crashes or other issues by
using secondary memory devices as backups
There are several types of secondary memory devices, such as hard disk drives
(HDD), solid-state drives (SSD), optical disks (including CDs and DVDs), and USB
flash drives
Primary Memory Secondary Memory
Parts of Computer
A computer system is divided into two
categories: Hardware and Software

 Hardware refers to the physical and


visible components of the system such as
a monitor, CPU, keyboard and mouse

Software refers to a set of instructions


which enable the hardware to perform a
specific set of tasks
Hardware
Hardware refers to the physical components of a computer or a machine that we can see
and touch
 It contains circuit board, ICs, or other electronics in a computer system
 It is a physical component that is used in different ways to build a computer or any other
machine
 The Memory Devices, Processor, Central Processing Unit, Mouse, keyboard and display
device all are the hardware in the computer system.
A computer system would not be existing without any hardware and not able to run any
software
Example:
Input Device: keyboard, mouse
Output device: monitor, speaker
Storage device: RAM,ROM,HDD,SSD
Internal component: CPU, Mother Board, Buses
Software
"Software is a set of programs (sequence of instructions) that allows the users to perform a
well-defined function or some specified task.“
Software refers to the logical components of a computer or a machine that we can see
but cannot touch
It tells a computer exactly what to do or allows users to interact with a computer
we can say also Computer Software is a programming code executed on a computer
processor.
The software must be installed in the hardware to function properly

Examples of software are MS- Word, Excel, PowerPoint, Google Chrome,


Photoshop, MySQL, etc.
Types of Software
Software's are broadly classified into two types, i.e., System Software and Application
Software.
System Software
System software is a computer program that helps the user to run computer hardware
or software and manages the interaction between them
It is software that constantly runs in the computer background, maintaining the
computer hardware and computer's basic functionalities, including the operating system,
utility software, and interface
 You can say that the system acts as a middle man that checks and facilitates the
operations flowing between the user and the computer hardware.
This software supports a high-speed platform to provide effective software for the other
applications to work in effortlessly
They are the first thing that gets loaded in the system's memory wherever you turn on
your computer.
System software is also known as "low-level software" because the end-users do not
operate them
Types of System Software
Operating System(OS):The operating system is the most prominent example of system
software that acts as an interface between the user and system hardware.
Example: Microsoft Windows, Apple's iOS, Apple's MacOS, Android, CentOS, Linus, Ubuntu,
Unix
Device Drivers: In computing, the device driver is a type of software that operates or
controls some specific hardware devices linked to your system. They provide a software
interface to hardware devices allowing computer operating systems and other applications to
fetch hardware functions without knowing the exact specifications of the hardware.
Example: BIOS (Basic Input/Output System) Device Driver, USB (Universal Serial Bus)
Drivers, Motherboard Drivers, Display Drivers, Printer Drivers, Sound Card Driver, ROM
(Read-only memory) Drivers, VGA (Video Graphic Array) Driver
Utility Software: Utility software is developed to provide support in analyzing, optimizing,
along configuring and maintaining a computer. The job of the utility program is to offer
support to the system infrastructure. Though the system will work even if it doesn't have any
utility software, the right kind of utility software enhances its performance and makes it more
reliable.
Example: Norton and McAfee Antivirus. WinRAR, Disk defragmenter, WinZip, Windows File
Explorer
Application Software
Application programs or software applications are end-user computer programs developed
primarily to provide specific functionality to the user.
The applications programs assist the user in accomplishing numerous tasks such as
doing online research, completing notes, designing graphics, managing the finances,
watching a movie, writing documents, playing games, and many more.
 Many software applications are designed and developed every year by companies as per
the demand and requirements of the potential users.
 The application software can either be designed for a general-purpose or specially coded
as per the requirements of business cooperation.
Application software products are designed to satisfy a particular need of a particular
environment
The size of the software is big, so it requires more storage space.
Application software is more interactive for the users, so it is easy to use and design.
Application software is written in a high-level language in general
Types of Application Software
Word Processor: MS Word (Microsoft), iWork-Pages (Apple), Corel WordPerfect,
Google Docs

Database Software: Oracle, MS Access, SQLite, Microsoft SQL Server, dBase,


MySQL

Multimedia Software: VLC media player, Windows Movie Maker, Picasa, Windows
Media Player

Web Browsers: Chrome, Mozilla Firefox, Microsoft Internet Explorer, Apple Safari

Graphics Software: Adobe Photoshop, MS Paint, CorlDraw, Blender


Software Terminology
Firmware: Firmware is a combination of software permanently stored in the memory
usually ROM. BIOS(Basic Input Output System) is an example of firmware.
Liveware: People who write programs, operate and maintain the computers are
collectively known as liveware, humanware or peopleware. Programmer is an example
of Liveware
Public-domain Software: Public-domain software refers to any program that is not
copyrighted. It can thus be used freely without any restrictions, that is, the user can copy,
distribute and even modify the software without obtaining permissions from the software
developer. SQLite is an example of public-domain software.
Freeware: The term freeware is commonly used for copyrighted software that is given
away for free by its owner. The owner retains the copyright, which means the a user
does not have the right to modify. Freeware software permits redistribution but not
modification. Linux OS is an example of freeware software.
Software Terminology
Commercial Software: Commercial Software represents the majority of software
purchased from software publishers. It is developed by business organizations, which
aim to earn profits from its use. It is always copyrighted. Microsoft WINDOWS is an
example of commercial software.
Shareware: Shareware is a software that is distributed free on a trail basis. It allows
people to redistribute copies for a limited period. Anyone who continues to use a copy is
required to pay a license fee. Winzap software is an example of shareware.
Semi-free software: It is a software that is not absolutely free, but comes with
permission to use, copy, distribute and modify for non-profit purposes. PGP is an
example of a semi-free software.
Open-source software: Open source software(OSS) is a software whose source code
is made available to the public. This means that anyone can view, use, modify and
distribute the code according to the open source license. Linux, Mozilla Firefox are an
example of open source software.
Operating System
An Operating System (OS) is a software
that acts as an interface between
computer hardware components and the
user.
 Every computer system must have at
least one operating system to run other
programs.
The OS helps you to communicate with
the computer without knowing how to
speak the computer’s language.
 It is not possible for the user to use any
computer or mobile device without having
an operating system.
Operating System
Here is a list important features of OS: Function of OS
Protected and supervisor mode
Allows disk access and file systems
Device drivers Networking Security
Program Execution
Memory management Virtual Memory
Multitasking
Handling I/O operations
Manipulation of the file system
Error Detection and handling
Resource allocation
Information and Resource Protection
1.Process management: Process management helps OS to create and delete processes. It also
provides mechanisms for synchronization and communication among processes.
2.Memory management: Memory management module performs the task of allocation and de-
allocation of memory space to programs in need of this resources.
3.File management: It manages all the file-related activities such as organization storage, retrieval,
naming, sharing, and protection of files.
4.Device Management: Device management keeps tracks of all devices. This module also responsible
for this task is known as the I/O controller. It also performs the task of allocation and de-allocation of the
devices.
5.I/O System Management: One of the main objects of any OS is to hide the peculiarities of that
hardware devices from the user.
6.Secondary-Storage Management: Systems have several levels of storage which includes primary
storage, secondary storage, and cache storage. Instructions and data must be stored in primary storage
or cache so that a running program can reference it.
7.Security: Security module protects the data and information of a computer system against malware
threat and authorized access.
8.Command interpretation(Shell): This module is interpreting commands given by the and acting
system resources to process that commands.
9.Networking: A distributed system is a group of processors which do not share memory, hardware
devices, or a clock. The processors communicate with one another through the network.
Batch Operating System
This type of operating system does not interact with the computer directly. There is an operator which takes
similar jobs having the same requirement and groups them into batches. It is the responsibility of the
operator to sort jobs with similar needs.
Advantages of Batch Operating System
•Multiple users can share the batch systems.
•The idle time for the batch system is very less.
•It is easy to manage large work repeatedly in batch systems.
Disadvantages of Batch Operating System
•The computer operators should be well known with batch systems.
•Batch systems are hard to debug.
•The other jobs will have to wait for an unknown time if any job fails.
Multi-Programming Operating System
Multiprogramming Operating Systems can be simply illustrated as more than one program is present in the
main memory and any one of them can be kept in execution. This is basically used for better execution of
resources.
Advantages of Multi-Programming Operating System
•Multi Programming increases the Throughput of the System.
•It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
•There is not any facility for user interaction of system resources with the system
Multi-Processing Operating System
Multi-Processing Operating System is a type of Operating System in which more than one CPU is used
for the execution of resources. It betters the throughput of the System.
Advantages of Multi-Processing Operating System
•It increases the throughput of the system.
•As it has several processors, so, if one processor fails, we can proceed with another processor.
Disadvantages of Multi-Processing Operating System
•Due to the multiple CPU, it can be more complex and somehow difficult to understand.

Time-Sharing Operating Systems


Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of
the CPU as they use a single system. These systems are also known as Multitasking Systems.
Advantages of Time-Sharing OS
•Each task gets an equal opportunity.
•Fewer chances of duplication of software.
•CPU idle time can be reduced.
Disadvantages of Time-Sharing OS
•Reliability problem.
•One must have to take care of the security and integrity of user programs and data.
•Data communication problem.
Distributed Operating System
These types of operating system is a recent advancement in the world of computer technology and are being widely
accepted all over the world and, that too, at a great pace. Various autonomous interconnected computers
communicate with each other using a shared communication network. Independent systems possess their own
memory unit and CPU. These are referred to as loosely coupled systems or distributed systems.
Advantages of Distributed Operating System
•Failure of one will not affect the other network communication, as all systems are independent of each other.
•Electronic mail increases the data exchange speed.
•Since resources are being shared, computation is highly fast and durable.
Disadvantages of Distributed Operating System
•Failure of the main network will stop the entire communication.
•To establish distributed systems the language is used not well-defined yet.
•These types of systems are not readily available as they are very expensive.
Real Time Operating System
In Real-Time Systems, each job carries a certain deadline within which the job is supposed to be completed,
otherwise, the huge loss will be there, or even if the result is produced, it will be completely useless.
Advantages of Real-time operating system:
•Easy to layout, develop and execute real-time applications under the real-time operating system.
•In a Real-time operating system, the maximum utilization of devices and systems.
Disadvantages of Real-time operating system:
•Real-time operating systems are very costly to develop.
•Real-time operating systems are very complex and can consume critical CPU cycles.
Network Operating System
These systems run on a server and provide the capability to manage data, users, groups, security, applications,
and other networking functions. These types of operating systems allow shared access to files, printers, security,
applications, and other networking functions over a small private network.
Advantages of Network Operating System
•Highly stable centralized servers.
•Security concerns are handled through servers.
•Server access is possible remotely from different locations and types of systems.
Disadvantages of Network Operating System
•Servers are costly.
•User has to depend on a central location for most operations.
•Maintenance and updates are required regularly.
Mobile Operating System
Mobile operating systems are a subset of operating systems (OS) developed specifically to run on mobile devices
such as smartphones, tablets, and wearables. Android and iOS are two of the most well-known mobile operating
systems,
Advantages:
•The ability to do multiple tasks.
•Stability and assurance of protection
•Utilizing mobility software to provide a great experience for users.
Disadvantages:
•Apps keep running even when you're not using them.
•Things are hard for developers.
•Smartphones with low specs run slowly.
Command Line Interface(CLI)
CUI stands for Character User Interface
also known as Command Line
Interface(CLI)
It works by permitting the user to provide
commands to a program in multiple text
lines (command lines).
It is a user interface where the user
interacts with the computer solely through
the keyboard and requires a command to
perform any task.
CUI is the precursor of GUI and was
utilized in most of the early computers.
CUIs basic instances are MS-DOS and
the Windows Command Prompt.
Graphical User Interface(GUI)
GUI stands for Graphical User Interface
A GUI enables users to interact with the
operating system or application
It performs quick calculations of
arithmetic and frees up the CPU to perform
other tasks
 It offers buttons, windows, scrollbars,
iconic images, wizards, and other icons to
facilitate users
 It has a user-friendly interface for
beginners. It is easy to use, learn and also
reduces the cognitive load.
Computer Language
 Human begins use natural languages such as English, Hindi, Bengali or French to
communicate, similarly, a user communicate with the computer in a language understand by
it
The language, which the user employs to interact with the computer is known as
programming language
The process of using such languages to instruct the computer is known as programming or
coding
Similar to natural language, a programming language also consists of a set of characters,
symbols and usage rules that allow the user to communicate with computer
A programming language has to follow syntax rules to create an accurate program so that
the communication with the computer can yield desired results
The rules of programming languages are very rigid and the programmer has to follow aal
the specified rules to create an accurate program
Since computers lack common sense, its language needs to be very precise
It has relatively few and exactly define rules
Programming Language Evolution
1843-Ada Lovelace programs for Charles Babbage’s analytical engine

1949- Assembly becomes first widely-used programming language

1952-Autocode becomes first compiled computer programming language

1957- FORTRAN is designed for numeric computation and scientific computing

1960-ALGOL60 was developed by German Society of Applied Mathematics and Association of Computing Machinery

1960-COBOL(COmmon Business Oriented Language) was developed for business purpose by US Department of
Defense

BPCL, BASIC, PASCAL and B were developed in late 1960s and early 1970s

In early 1970s, Dennis Ritchie developed C at Bell laboratories using some of the features of B language

C++ was developed by Bjarne Stroustrup in early 1980s, extending the features of C and introducing object-oriented
features

Java, originally called Oak, was developed by Sun Microsystems of USA in 1991 as general purpose language

Python, was developed by Guido van Rossum in 1991 and further developed by the Python Software foundation
Language Classification
Computer understand only one language,
that is binary language or the language of
0s and 1s.
Binary language is also known as machine
or low-level language. Although these
programs were easily understood by the
computer, it proved to difficult for a normal
person to remember all the instructions in
the form of 0s and 1s.
For solving this problem, other
programming languages are developed
which are easier to learn and understand.
Programming languages can be divide into
3 major categories-
Machine Language
"Low-Level Language" is another name for machine language.
In machine language, binary digits such as 0s and 1s are used.
There's no need for interpretations since computers can understand binary codes.
They were heavily utilized in the very earliest computers.
Both learning and using them are complex.
A program's writing and compilation took a decent amount of time to create
Advantage: Disadvantage:
Translation free Machine dependent
Complex
High speed Error prone
Time consuming
Assembly Language
Assembly language is a middle-level language.
It consists of a set of instructions in a specific format
called commands.
It uses symbols to represent field of instructions.
 It is very close to machine level language.
The computer should have assembler to translate assembly level
program to machine level program.
It is in human-readable format and takes lesser time to write a
program and debug it
it is a machine dependent language.
Advantage: Disadvantage:
 Easy to understand and use  Machine dependent
 Less error prone  Harder to learn
 Efficiency  Slow development time
 More control on hardware  Less efficient
High-level Language
A High-Level Language is a computer programming language that uses English like
statements to write the computer instructions.
High-level languages are most widely programming languages because they are easy to
understand to human being.
It can be considered as a programmer-friendly language. Advantage:
 Simple to write
It is easy to understand and debug
 User familiar
It is simple in terms of maintenance.  Solving complex problem
It requires a compiler/interpreter to be translated into machine code.  Portable
 Machine independent
It can be run on different platforms.
Disadvantage:
It can be ported from one location to another.  Higher processing power is
It is less memory efficient, i.e., it consumes more memory in required
comparison to low-level languages.  More memory is required
 Time consuming
It is widely used.  Translator is required
Example of High-level Language
C Sum of two number using C programming language
C++
JAVA
PYTHON
HTML
PHP
PROLOG
ORACLE
VB.NET
ASP.NET etc.
Features of a good programming language
Ease of Use: The language should be easy in writing codes for the programs and
executing them. The ease and clarity of a language depends upon its syntax
Portability: The languages should support the construction of code in a way that it
could be distributed across multiple platforms. The computer languages should be
independent of any particular hardware or operating system
Naturalness for the application: A programming language should provide a
conceptual framework for thinking through algorithms and means of expressing those
algorithms through flowcharts
Reliability: Reliability is concerned with making a system failure-free, and thus is
concerned with all possible errors
Safety: Safety is concerned with the extent to which the language supports the
construction of safety-critical systems, yielding systems that are fault-tolerant, fail-safe or
robust in the face of systematic failure
Features of a good programming language
Structured Programming: A good language should be capable of supporting
structured programming
Compact Code: A good language should also promote compact coding, that is, the
intended operations should be coded in a minimum number of lines
Maintainability: maintainability is actually facilitated by most of the languages, which
makes it easier to understand and then change the software
Reusability: the language should facilitate the adaptation of code for use in other
applications
Concurrency support: Concurrency support refers to the extent to which inherent
language supports the construction of code with multiple threads of control
Performance: performance means that the language should not only capable of
interacting with the end users, but also with the hardware
Selection of a programming language
Nature of Application: A programmer should select a language that is suitable for the
application area at hand
Language Acquaintance: In some cases, a number of languages may suit the
application to be developed. In that case, the language, which is most familiar to the
programmers should be chosen
Ease to learning: Choose languages which are suitable for the proposed application.
Then the programmer has to decide which language is easier to learn and use
Features of a good programming language: choose programming language which
possess all the characteristics of a good programming language
Execution efficiency: If the execution efficiency of an application is important, the
programmers can use an assembly language instead of high-level language
Language Translator
Computers understand only one language consisting of 0s and 1s is called machine language
So a tool was required, which could translate a program written in a high-level programming language
to machine language
Along with every programming language developed, a language translator was also developed
Language translators help in converting programming languages to machine language, that is, they
convert programming statements into 0s and 1s that the computer is able to process
A language translator is as system software which translate source code(programmer written code) to
object code(machine code)
Depending upon the programming language used, language translators are divide into three
major categories:
Compilers
Interpreters
Assembler
Assembler
Assembler is a simple language translator which is used to translate assembly program
into machine code
The assembler recognizes the character strings that make up the symbolic names of
various machine operations and substitutes the required machine code for each
instruction
Complier
A compiler is a translator program(more complex than a assembler) that translates a high-
level language program into its equivalent machine language program
A complier is so called because it complies a set of machine language instructions for every
program instruction of a high-level language
There is a one-to-many correspondence between the high-level language instructions of a
source program and the machine language instructions of its equivalent object program
During the process of translation of a source program into equivalent object program by the
complier, the source program is not under execution
Compiler only converts it into a form that the computer can execute
Each computer requires a separate compiler for each high-level language that it supports
In addition to translating high-level language instructions into machine language
instructions, compilers also detect and indicate certain types of errors in source programs
automatically
Interpreter
An interpreter is a language translator, which analyses and executes the source code in
a line-by-line manner, without looking at the entire program
It translates a statement in a program and executes the statement immediately, that is,
before translating the next source language statement
Interpreters are easier to write because they are less complex programs than compliers
They also require less memory space for execution than compilers require
In case of an interpreter, since a user cannot save the object program for further use,
repeated interpretation of a program is necessary for its repeated execution
Interpreters allows the programmer to make corrections during interactive program
development. Therefore, interpreters make it easier and faster to correct programs
Execution Phase of a Program
The execution of a program involves 4 steps:-
1) Translation: Converting source program to object
modules. The assemblers, compilers and interpreter fall
under the category of translators.
2) Linking: combines two or more separate object modules
and supplies the information needed to allow references
between them.
3) Relocation: This modifies the object program so that it
can be loaded at an address different from the location
originally specified.
4) Loading: which brings object program into memory for
execution .It is done by a loader.
Linker
Linker is a program that links several object modules and libraries to a single executable
program.
A source code of a program is often very large consisting of several hundred or more lines. The
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 of the program, these modules and the required
libraries are linked together using the linker software.
There are two types of linkers available: Linkage Editor and Dynamic Linker.
Linker also helps combine all the object modules.
Linker is responsible to arrange the objects in the program’s address space.
Loader
Loader is special program that takes input of executable files from linker, loads it to main
memory, and prepares this code for execution by computer.
Loader allocates memory space to program. Even it settles down symbolic reference between
objects. It is in-charge of loading programs and libraries in operating system.
There are 3 types of loaders: Absolute loading, Relocatable loading and Dynamic run-time
loading.
It helps allocate the addresses to executable codes or files.

You might also like