0% found this document useful (0 votes)
137 views62 pages

Application of ICT-2

Application of ICT

Uploaded by

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

Application of ICT-2

Application of ICT

Uploaded by

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

Course name: Application of ICT

Course code: ICT-302


INFORMATION SYSTEM
An information system (IS) is a combination of technology, people, and processes
that helps organizations collect, store, manage, and analyze information. It helps
in decision-making, solving problems, and achieving goals in various areas like
business, education, healthcare, etc.
The key components of an information system:
1. Hardware: The physical devices like computers, servers, and networks that
make the system work. Hardware, in the computer world, refers to the
Physical components of the computer that make up a computer system. In
other words, we can say that the electrical, electronical or mechanical
compo0 nents of a computer system are referred to as computer’s
Hardware. For example: Keyboard, Mouse, Monitor, Printer, Plotter USB, CD
etc. etc.

2. Software: The programs and applications that control the hardware and
process data (e.g., Microsoft Office, databases). All the computer programs
are generally known as software. Computer hardware will do nothing until
we tell it what to do. It is the Software (computer Programs) that brings the
hardware to life. Software tells the computer what to do and how to do.
Without Software, hardware is useless.

3. Data: The information that the system collects and processes (e.g., sales
data, employee records).
WHAT IS DATA & INFORMATION
DATA
Data are facts and figures which can be represented by values, numbers,
strings and/or symbols and which carry meaning in a particular sense. The
name of the person, the pay drawn by the employee, marks obtained by the
student are a few examples of Data.
Data is plural word referring to more than one fact. A single fact is referred
to as the item of the data or Data-Item. Data is actually the plural form of
the word “DATUM”. Datum comes from the Latin word and originally
meant “Some Thing Given”.
Data may be Qualitative or Quantitative. The data usually non-numeric
(Alphabetic) is called Qualitative data. This data states the characteristics of
objects or things e.g. the words like good, average, excellent, heavy, red,
green, hot, cold long, intelligent, dull etc. are the examples of Qualitative
data.
The data which can be represented by numbers is called Quantitative data
e.g. the marks obtained by the students in the examinations, total number
of the students in a class, age of a student, phone number are all the
examples of Quantitative data.
INFORAMTION
Processed form of the data is called Information
OR
Manipulation of data into useful form is called Information
OR
Information can be defined as:
“Facts and Figures which are new, timely and accurate
considered to be in structured and associated form”.
Example:
The temperature, the atmospheric pressure, the wind speed etc., at a
place represents data. These data items when combined together and
analyze become more meaningful and predict the weather as Rainy Day,
Strong Condition, or Dry Condition, which is an information.
DIFFERENTIATE BETWEEN DATA AND INFORMATION
S.N DATA INFORMATION
o
1 Data is collection of raw Information is
facts and figures. processed data.
2 Data is unarranged and Information is
unorganized. arranged
and organized.

3 Data is not meaningful. Information is


meaningful.
4 Data is input. Information is output.

5 Data is used less frequently. Information is used


frequently.
6 Data represents facts before Information represents
processing. results (obtained after
processing).

7 Data is not helpful in Information is helpful


decision-making. in decision-making.

8 Data is raw material Information is the


for information. final product of data.

9 Data are unprocessed Information contains


records processed records

10 Data is in large amounts Information is in small


amounts

11 If data is lost, it is very If information is lost,


difficult (or even impossible it is easily derived from
in some situations) to re- stored data, again.
collect.

12 Data is collected by Now we will process


observations, recordings, these temperatures
interview or survey etc. For data to find useful
example, if we information. For
record the temperature of example if we
each hour recorded in a arrange temperatures
particular day is called in ascending order,
temperature data. then we will find the
information
like:

Minimum Temperature
of
the day= 150C and
Maximum
Temperature of the
day= 250C.
4. People: The users and IT professionals who interact with the system and
ensure it runs smoothly.
5. Processes: The steps or procedures that define how tasks are completed
using the system (e.g., how to input data, how to generate reports).
Information systems help businesses and organizations operate more efficiently,
make better decisions, and communicate effectively.

Information Resources
Information resources refer to the data, tools, and technologies that organizations
use to collect, store, process, and share information. These resources are critical
for managing and using information effectively within an organization.
1. Data: The most essential resource. This includes facts, figures, or raw
information that organizations collect, store, and analyze (e.g., customer
information, sales records).
2. Information: When data is processed or organized to have meaning or
purpose (e.g., turning raw sales data into a sales report).
3. Technologies: Tools like software (databases, accounting systems) and
hardware (computers, servers, networks) that allow organizations to
process and store information efficiently.
4. People: Staff members who manage, analyze, and use the information for
decision-making (e.g., IT managers, data analysts, or other employees using
the data).
5. Policies and Procedures: Guidelines and rules that govern how information
is managed, accessed, and used in an organization to ensure accuracy and
security.
6. Networks: Communication channels that connect computers and devices,
enabling the sharing of information and resources across an organization or
the internet.

Need for Information and Processing


In today’s world, information is a crucial resource for individuals, businesses, and
organizations. It helps in decision-making, planning, and problem-solving. The
need for information arises from the necessity to make informed decisions, stay
competitive, and operate efficiently.
Information Processing
Processing information means turning raw data into something useful and
meaningful. This involves:
 Collecting data: Gathering information from various sources (like customer
records, sales data).
 Storing data: Saving the collected data securely for future use.
 Analyzing data: Using software or tools to interpret the data, like creating
reports or charts.
 Distributing information: Sharing the processed information with the right
people to make decisions or take action.
Why information and processing are essential:
1. Decision-Making: Information is needed to make better and more accurate
decisions. For example, businesses need sales data to decide on product
strategies or pricing.
2. Problem-Solving: When an organization faces problems, having the right
information helps them understand the issue and find solutions. For
instance, customer feedback helps improve products or services.
3. Planning: Organizations need information for future planning, like
forecasting market trends or planning resource allocation.
4. Control and Coordination: Information helps in monitoring operations and
ensuring that different parts of the organization work together efficiently.
For example, tracking inventory levels ensures that products are available
when needed.

Analog Computers
Analog computer is used to measure continuous values. It measures a
physical property like voltage, pressure, speed, time and temperature. An
analog computer takes input in analog form and gives output in analog
form.
Its output is usually displayed on a meter or scale. Analog computer has low
memory and fewer functions. Analog computer is mainly used in the field of
engineering and medicine.

How they work: They measure and process data as continuous signals. For
example, an analog computer could measure the speed of a moving car or
changes in temperature over time.

Uses: Analog computers are used in scientific experiments, engineering,


and industries like aviation for tasks such as flight simulations or control
systems.

Examples of Analog Computers include:

1.Thermometer
2.Speedometer
3. Analog clock

Digital Computers
A digital computer works with digital data. Digital computer uses binary
number system. Binary number system consists of only two digits 0 and 1. A
digital computer represents data in digital signals. A 0 represents OFF and a
1 represents ON. Digital computer performs arithmetic and logical
operations on data. It gives output in digital form.
Digital computers are very fast. These computers can store results. They
have large Memory (that is data storing capacity). Today most of the
computers used in offices and homes are Digital computers.

How they work: Digital computers break down data into bits (0s and 1s)
and perform calculations or process information based on this digital
representation. Everything from text, images, and sounds can be
represented digitally.

Uses: Digital computers are found in laptops, smartphones, servers, and all
modern devices. They are used for tasks like word processing, web
browsing, gaming, and controlling complex machinery.
Examples:

1. Personal Computer-(also called PC or Micro Computer)


2. Digital Score board
3. Digital watch

Differences

Analog Computers Digital Computers

Data Continuous (smooth Discrete (binary: 0s


changes) and 1s)

Accuracy Less precise Highly accurate

Speed Depends on physical Extremely fast and


measurements reliable

Usage Scientific simulations, Almost every


engineering tasks modern computing
task
Examples Speedometers, slide Laptops,
rules, old medical smartphones,
devices servers

BINARY NUMBER SYSTEM

• The binary system is the fundamental language of computers and digital


systems. It is a base-2 number system that only uses two digits: 0 and 1. All
modern computing devices, from laptops to smartphones, depend on the
binary system to store, process, and transmit information.
• The Binary Number System consist of only two digits– 0 and 1.
• Since this system use two digits, it has the base 2.
• All digital computer uses this number system and convert the data input
from the decimal format into its binary equivalent.

Why Binary?

Since the computer is made up of electronic components; it can have only


two states, either
• On (1)
• Off (0)
The data which is given to the computer is converted into binary form
because a computer understand only binary language.
It further converts the binary results into their decimal equivalents for
output.
The Structure of the Binary System
The binary system is based on powers of 2, similar to how the decimal
system is based on powers of 10. Each binary digit (called a bit) can hold
one of two possible values, 0 or 1.

Binary Number Representation:


A binary number is expressed as a sequence of bits. For example:
1101 (binary) = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13 (decimal)

Why Computers Use Binary


Computers use binary because digital circuits have only two states: on
(represented by 1) and off (represented by 0). These states can easily be
implemented in electronic hardware, where:
 1 represents (on),
 0 represents (off).
This simplicity allows computers to perform operations quickly and reliably
using binary.

Binary Arithmetic
Computers perform calculations using binary arithmetic, which follows
simple rules:

 Addition: Similar to decimal addition, but with just two digits (0 and 1).
Here are the basic rules:
o 0+0=0
o 0+1=1
o 1+0=1
o 1 + 1 = 10 (carry the 1 to the next bit)
Example:
101 (binary) + 110 (binary) = 1011 (binary)

 Multiplication: Binary multiplication also follows straightforward rules:


o 0×0=0
o 0×1=0
o 1×0=0
o 1×1=1
Binary arithmetic is used in almost every operation a computer performs,
from simple calculations to complex algorithms.

Applications of the Binary System


1. Data Representation
All types of data in computers—whether it’s text, numbers, images, or
audio—are represented in binary form.
 Text Representation: Characters are encoded into binary using standard
encoding schemes like ASCII or Unicode. For example, in ASCII:
o The letter "A" is represented as 01000001 in binary.
o The letter "B" is represented as 01000010.
 Image Representation: Images are made up of tiny dots called pixels, each
of which is represented by binary values that define their color and
brightness.
 Audio and Video Representation: Audio and video data are digitized,
converting sound waves and frames into binary streams, which can be
stored, processed, or transmitted.
2. Data Storage
All digital storage systems (hard drives, SSDs, USBs) store information as
binary data. The storage medium uses tiny physical or magnetic states to
represent 0s and 1s. Files, whether documents, music, or videos, are just
long sequences of binary numbers.
For example, the text file with "Hello" would be stored as the following
binary values:
 H: 01001000
 e: 01100101
 l: 01101100
 l: 01101100
 o: 01101111
3. Data Transmission
When computers communicate over networks (such as the internet), data is
transmitted in binary form. Binary data is encoded into electrical, radio, or
optical signals. These signals are then decoded at the receiving end to
reconstruct the original data.
 Fiber Optic Networks: Light pulses represent binary digits. A pulse of light
indicates a 1, while no pulse represents a 0.
 Wi-Fi and Ethernet: Digital signals are transmitted over airwaves or cables
using binary encoding schemes.
4. Logic Gates and Circuits
Digital circuits, the building blocks of computer hardware, use logic gates
that operate based on binary values. These gates perform logical operations
such as AND, OR, and NOT, which are fundamental to decision-making
processes in computers.
 AND Gate: Outputs 1 only if both inputs are 1.
 OR Gate: Outputs 1 if at least one input is 1.
 NOT Gate: Outputs the opposite value (1 becomes 0, and 0 becomes 1).
These gates are used to perform operations like addition, comparison, and
data storage inside the processor.
5. Programming Languages
While modern programming languages use high-level code (like Python,
Java, or C++), all of this code eventually gets translated into machine code,
which is composed of binary instructions that the computer’s hardware can
execute directly.
For example, a simple operation like adding two numbers in a high-level
language is broken down into a series of binary instructions for the CPU.
6. Control Systems and Embedded Systems
In control systems (like in robotics or automotive systems), binary data is
used to send signals and control operations. For instance, binary states
control whether a motor is running (1) or stopped (0). Similarly, binary
sensors detect on-off states in systems like alarm systems, medical devices,
or industrial machines.

Internal Design of CPU (Central Processing Unit)


The ALU is one of the core components of a computer’s CPU (Central
Processing Unit). It performs all arithmetic and logical operations, such as
addition, subtraction, and logical comparisons. These key parts are the
Control Unit (CU), decoder, Current Instruction Register (CIR),
Accumulator, Program Counter (SCR), Memory Address Register (MAR),
and Memory Data Register (MDR).

1. Control Unit (CU)


The Control Unit is like the brain of the CPU. It manages and coordinates all
the activities of the CPU, including fetching, decoding, and executing
instructions. The CU sends signals to other parts of the computer to control
the flow of data and instructions. It ensures that everything happens in the
correct order.
 Functions:
o Fetches instructions from memory.
o Decodes the instructions to understand what needs to be done.
o Sends control signals to other components (like the ALU and
registers) to execute the instruction.

2. Decoder
The Decoder takes the instruction provided by the CU and breaks it down
into a format that the CPU can understand and execute. It decodes the
instruction into the operation code (opcode) and the address of the data it
needs to work with.
 Functions:
o Converts the binary instruction into control signals.
o Helps identify what action (like addition, subtraction, etc.) the CPU
should perform.

3. Current Instruction Register (CIR)


The Current Instruction Register (CIR) holds the instruction that is currently
being processed by the CPU. This instruction consists of two parts: the
opcode and the address.
 Opcode: Specifies the operation to be performed (e.g., add, subtract).
 Address: Points to the location in memory where data is stored or to the
data itself that the CPU needs.
 Functions:
o Holds the instruction being executed.
o Sends the opcode to the decoder for interpreting the operation.
o Points to the address in memory for data fetching.

4. Accumulator (Data Register)


The Accumulator is a special register that temporarily holds the data that is
being processed by the ALU. It is often used to store intermediate results of
calculations or operations. This register plays a key role in all arithmetic and
logic operations, making it essential for the ALU.
 Functions:
o Temporarily stores data for processing.
o Holds results of arithmetic operations performed by the ALU.
o Transfers data to/from the ALU during execution.

5. Program Counter (SCR - Sequence Control Register)


The Program Counter (PC), also known as the Sequence Control Register
(SCR), keeps track of the address of the next instruction to be executed.
After each instruction is executed, the program counter automatically
increments to point to the next instruction in memory.
 Functions:
o Keeps track of the next instruction to be executed.
o Increments after each instruction is processed.
o Helps in the sequential execution of program instructions.
6. Memory Address Register (MAR)
The Memory Address Register (MAR) holds the address in memory where
data or instructions are located. When the CPU needs to fetch an
instruction or data from memory, the address is first placed in the MAR. It
works closely with the Memory Data Register (MDR).
 Functions:
o Stores the memory location of data or an instruction that the CPU
needs to access.
o Sends the memory address to the main memory during a fetch
operation.

7. Memory Data Register (MDR)


The Memory Data Register (MDR), also known as the Memory Buffer
Register (MBR), temporarily holds data that is being transferred to or from
memory. It is a buffer between the CPU and the memory. The MDR
retrieves data from memory one instruction at a time.
 Functions:
o Temporarily holds data read from or written to memory.
o Acts as a buffer during data transfers between memory and the CPU.
o In the instruction cycle, it fetches instructions from memory.

How All These Components Work Together to Execute an Instruction


1. Fetch Phase:
o The Program Counter (PC) holds the address of the next instruction
to be executed. This address is transferred to the Memory Address
Register (MAR).
o The Control Unit (CU) sends a control signal to the memory,
instructing it to fetch the instruction from the address specified in the
MAR.
o The fetched instruction is placed into the Memory Data Register
(MDR), which temporarily holds the instruction.
o The instruction in the MDR is then transferred to the Current
Instruction Register (CIR).
2. Decode Phase:
o The instruction stored in the CIR is now split into two parts: the
opcode and the address.
o The Decoder interprets the opcode (the operation to be performed)
and prepares the CPU to execute the operation.
o The address part is used to locate data in memory if needed for the
operation.
3. Execute Phase:
o If the instruction involves data manipulation (e.g., addition), the data
is fetched from memory using the Memory Address Register (MAR),
and the data is placed in the Memory Data Register (MDR).
o The data is then transferred from the MDR to the Accumulator (Data
Register) for processing.
o The ALU performs the required arithmetic or logic operation using
the data from the Accumulator.
o The result is stored back in the Accumulator.
4. Store or Next Instruction:
o Once the instruction is executed, the Control Unit checks if the result
needs to be stored in memory or if the next instruction should be
fetched.
o The Program Counter (PC) is incremented to point to the next
instruction, and the entire cycle repeats.
Example (2+3=5):
When a computer is instructed to calculate 2 + 3, the Program Counter (PC)
points to the memory location of this instruction, and the Control Unit (CU)
fetches it from memory into the Memory Data Register (MDR). The
instruction is moved to the Current Instruction Register (CIR) and decoded
into an opcode (add) and the addresses of the numbers 2 and 3. The
Control Unit sends the numbers from memory to the Accumulator. The
Arithmetic Logic Unit (ALU) then adds 2 and 3, and the result, 5, is stored
back in the Accumulator. The Program Counter is then updated to the next
instruction, continuing the cycle.

Internal Design of the ALU


An ALU is composed of multiple components, each of which has a specific
role in processing arithmetic and logic operations. The basic components of
an ALU are:
1. Input Registers
2. Arithmetic Unit
3. Logic Unit
4. Multiplexer (MUX)
5. Status Flags
6. Shifters
7. Output Register

1. Input Registers
The input registers are temporary storage areas within the ALU that hold
the data (numbers or logical values) that the ALU will process. The two most
important input registers are:
 A Register: Stores the first operand (the first input number).
 B Register: Stores the second operand (the second input number).
When an instruction is fetched, the input data (like the numbers for
addition) is placed into these registers before being sent to the arithmetic
or logic sections of the ALU.
2. Arithmetic Unit
The Arithmetic Unit is responsible for performing basic mathematical
operations. It handles:
 Addition: Adds two input numbers (e.g., A + B).
 Subtraction: Subtracts the second input from the first (e.g., A - B).
 Multiplication: In some ALUs, multiplication can be handled directly.
 Division: Similarly, more advanced ALUs can divide.
Internally, the Arithmetic Unit typically uses binary adders to perform
addition. The adder used in ALUs performs binary addition by cascading a
series of full adders.

3. Logic Unit
The Logic Unit handles logical operations. These operations are essential for
decision-making processes in computer programs. Some common logic
operations include:
 AND: Compares two bits and returns 1 only if both bits are 1.
 OR: Returns 1 if at least one of the bits is 1.
 NOT: Inverts the bits (0 becomes 1, and 1 becomes 0).
 XOR: Returns 1 if the two bits are different, otherwise returns 0.
Example of AND Operation:
If the ALU is performing an AND operation on two inputs:
A = 1010 (in binary)
B = 1100 (in binary)

AND = 1000
Only the bits where both inputs are 1 will result in 1 in the output.

4. Multiplexer (MUX)
The Multiplexer (MUX) is a switching device that selects one of several
input signals and forwards it to the output. The ALU uses a MUX to decide
whether the operation to be performed is arithmetic or logical. Based on
control signals sent from the Control Unit, the MUX chooses either the
Arithmetic Unit or Logic Unit to process the data.
Role of the MUX:
 If the instruction requires an arithmetic operation, the MUX routes the data
to the Arithmetic Unit.
 If the instruction requires a logical operation, the MUX routes the data to
the Logic Unit.

5. Status Flags
The Status Flags (also called condition codes) are used to store information
about the result of an operation. After the ALU completes an operation, the
flags are updated to reflect the outcome. Common flags include:
 Carry Flag (CF): Set if there is a carry-out from the most significant bit in
addition (used for multi-bit operations).
 Zero Flag (ZF): Set if the result of an operation is zero.
 Overflow Flag (OF): Set if an arithmetic operation results in a number too
large to fit in the allocated space.
 Sign Flag (SF): Indicates whether the result is positive or negative.
6. Shifters
The ALU often includes shifters, which are specialized circuits that shift the
bits of a binary number to the left or right. Shifting is useful for various
operations, such as multiplication or division by powers of two.
 Left Shift: Shifts all bits of a binary number to the left, effectively
multiplying the number by 2.
 Right Shift: Shifts all bits of a binary number to the right, effectively dividing
the number by 2.

7. Output Register
The Output Register holds the result of the operation performed by the
ALU, whether it is an arithmetic result (like the sum of two numbers) or a
logical result (such as the result of a comparison).
Once the ALU completes its operation, the output is stored in this register,
and the result can be sent back to memory or used for further processing.

Working of ALU
Let’s take an example of adding 2 + 3:
1. Input Registers: The values 2 and 3 are loaded into the A Register and B
Register.
2. Multiplexer (MUX): The control unit tells the MUX that this is an arithmetic
operation, so the MUX routes the input to the Arithmetic Unit.
3. Arithmetic Unit: The Arithmetic Unit adds the binary values of 2 (10) and 3
(11), resulting in 101 (which is 5 in binary).
4. Status Flags: The Zero Flag (ZF) remains 0 because the result is not zero,
and the Carry Flag (CF) is not set because there was no carry-out.
5. Output Register: The result, 5, is stored in the Output Register.
6. Shifter (Optional): If the result needs to be shifted for another operation,
the shifter can adjust the result.

Design of a Microcomputer
A microcomputer is a small, personal computer designed for individual use.
It is built using several key components that work together to process data,
store information, and communicate with the user.
CPU
(Block diagram of a computer)

The following are the main components of a Micro Computer


1. Central Processing Unit (CPU)

CPU stands for Central Processing Unit. It consists of two major units,
known as Control Unit (CU) and Arithmetic Logic Unit (ALU). It
supervises, activates and controls the operations of the other units of
the computer system. It is also called the brain of the computer.

a. Control Unit (CU)

It controls and coordinates the other parts of the computer system. It


maintains all the activities of the various components of the
computer.

b. Arithmetic Logic Unit (ALU)

ALU stands for Arithmetic Logic Unit. It performs all the arithmetic
operations like addition, subtraction, multiplications and division and
also logical comparisons.
2. Main Memory

Main memory retains all the data which has been entered through
the input device. It is very fast in operation. The main memory is also
known as internal storage, or primary storage or main storage. Main
memory consists of two types, RAM & ROM.

a. RAM

RAM stands for Random Access Memory. This is the memory whose
memory can be erased or changes.

RAM is a volatile memory, because anything stored in RAM is lost


when computer is switched off, therefore RAM is said to be the
temporary memory.

b. ROM

ROM stands for Read Only Memory. Like RAM, it is not possible to
change or write information into it. It is Non-Volatile memory. It
cannot be lost if the power supply is switched off. So ROM is a
Permanent memory.

3. Storage Devices

Storage devices hold data and programs permanently, even when the
power is off.

Examples include the hard disk drive (HDD), CD/DVD, USB flash
drives, and memory cards.
Storage devices keep our files and applications safe so that we can
access them later.

4. Input Devices

Input devices are used to enter data into the computer. They allow
the user to interact with the computer.

Examples include the keyboard, mouse, microphone, scanner, and


webcam.

These devices convert user actions (like typing or clicking) into signals
that the computer can understand.

5. Output Devices

Output devices are used to display or present the results of the


computer's processes.

Common examples are the monitor, printer, speakers, and


headphones.

These devices convert the computer's digital information into a form


that we can see, hear, or touch.

6. Motherboard

The motherboard is the main circuit board in the computer. It


connects all the components together, including the CPU, memory,
and other hardware.

It has slots for connecting additional parts like graphics cards,


network cards, and other expansion cards.
The motherboard helps control communication between the CPU,
memory, and other components.

7. BUS System

The BUS system is a collection of electrical pathways that transfer


data between the computer's components.

It includes three main types of buses:

Data Bus: Transfers data between the CPU, memory, and other
devices.

Address Bus: Carries the addresses of data (locations in memory) so


the CPU knows where to find or store information.

Control Bus: Sends control signals that manage the operations of


different parts of the computer.

The bus system is like a highway that allows data to travel back and
forth within the computer.

8. Power Supply Unit (PSU)

The Power Supply Unit (PSU) provides electrical power to all the
computer components.

It converts electricity from an outlet into the correct voltage and


current needed by the computer's parts.

The PSU ensures that all components receive a stable and consistent
power supply to function properly.
Flynn's Classification of Computer Architectures

Flynn's Classification is a system that categorizes computer architectures


based on how they handle data and instructions. It was introduced by
Michael J. Flynn in 1966 and is widely used to understand different types of
computer systems. Flynn's classification divides computer architectures into
four main categories:

1. Single Instruction, Single Data (SISD)

 In an SISD architecture, the computer executes a single instruction on a


single data set at a time.
 The processor performs one operation on one piece of data in each clock
cycle.

 Traditional computers like personal computers (PCs) generally use SISD.

 Suitable for tasks where only one sequence of instructions is needed, like
simple calculations.

2. Single Instruction, Multiple Data (SIMD)

 SIMD systems execute the same instruction on multiple data sets


simultaneously.

 A single instruction controls multiple processors or cores that work on


different pieces of data at the same time.

 Graphics Processing Units (GPUs) use SIMD to process large sets of pixels
or graphical data.

 Ideal for tasks that involve a lot of repetitive calculations, like image
processing or scientific simulations.

3. Multiple Instruction, Single Data (MISD)

 In MISD architecture, multiple processors execute different instructions on


the same data.

 Each processor applies a different operation or function to the same input


data.

 This architecture is quite rare and is mostly used in specialized systems like
fault-tolerant computers where multiple checks are performed on the
same data.
 Useful in applications where data integrity is crucial, like redundant systems
in aerospace and military control.

4. Multiple Instruction, Multiple Data (MIMD)

 MIMD systems can execute different instructions on different data sets at


the same time.

 Multiple processors perform different tasks on different data, making them


very flexible and powerful.

 Modern multi-core processors and supercomputers often use MIMD


architecture.

 Ideal for multitasking and parallel processing, such as running multiple


applications or large-scale computations.

Design of Parallel Computers

Parallel computers are systems designed to perform multiple tasks simultaneously


by using multiple processors. The idea behind parallel computing is to divide a
large problem into smaller parts so that each part can be processed
simultaneously, resulting in faster execution. Let’s look at the main components
and concepts involved in the design of parallel computers.

Components of Parallel Computers

1. Multiple Processors (CPUs or Cores)

o Parallel computers have multiple processors or cores that work


together to process tasks simultaneously.
o Each processor can handle its own set of instructions, allowing the
system to perform many operations at once.

o These processors can be located on a single chip (multi-core


processors) or spread across multiple chips (cluster of computers).

2. Memory Architecture

o Memory architecture in parallel computers is designed to ensure


that data can be accessed quickly by all the processors.

o There are two main types of memory architectures:

 Shared Memory Architecture: All processors share the same


memory space. This makes it easy for processors to
communicate with each other but can lead to memory access
conflicts.

 Distributed Memory Architecture: Each processor has its own


local memory. Processors communicate with each other
through a network, which can be slower but avoids memory
access conflicts.

3. Interconnection Network

o The interconnection network connects the processors to the


memory and to each other.

o It determines how data is transmitted between processors and


memory units.
o Common network topologies include bus, ring, mesh, star etc. Each
topology has its advantages and is chosen based on the specific
needs of the parallel system.

4. Input/Output System

o The Input/Output (I/O) system is designed to handle data transfer


between the parallel computer and external devices.

o In parallel systems, the I/O system must efficiently manage multiple


data streams to and from the processors.

5. Control Unit (CU)

o The Control Unit in a parallel computer coordinates the execution of


tasks across multiple processors.

o It manages how tasks are distributed among processors, how they


synchronize, and how data is shared or communicated between
them.

Types of Parallel Computer Designs

Parallel computers can be classified into different designs based on how the
processors are organized and how they communicate with each other. The main
types include:

1. Shared Memory Parallel Computers

All processors have access to a common memory space.

Data can be easily shared between processors, making


communication fast.
Multi-core processors found in modern laptops and desktops.

Best suited for tasks where multiple processors need to work on the
same data set.

2. Distributed Memory Parallel Computers

Each processor has its own local memory, and processors


communicate over a network.

Communication is done by passing messages between processors.

Cluster computers or supercomputers where nodes are connected via


high-speed networks.

Ideal for tasks that can be divided into independent parts with
minimal communication between them.

3. Hybrid Parallel Computers

Combines both shared memory and distributed memory


architectures.

Processors are grouped into clusters with shared memory, and these
clusters are connected using distributed memory techniques.

Large supercomputers that use both multi-core processors and


clusters.

Suitable for complex tasks that require a mix of shared and


distributed processing.

Design Principles of Parallel Computing


1. Task Decomposition

o Breaking down a large problem into smaller tasks that can be


executed simultaneously.

o Each task is assigned to a separate processor to be executed in


parallel.

2. Load Balancing

o Ensuring that all processors are used efficiently and that no processor
is idle while others are overloaded.

o Tasks are distributed evenly among the processors to maximize


performance.

3. Communication and Synchronization

o Efficient data transfer between processors is crucial for parallel


computing.

o Processors must synchronize their operations to ensure that data is


accessed and modified correctly without conflicts.

4. Scalability

o The design of parallel computers must be scalable, meaning that


adding more processors should increase the system's performance.

o Scalability is essential for handling larger problems or improving


speed.

Benefits of Parallel Computing


 Increased Speed: Parallel computers can solve problems faster by dividing
tasks among multiple processors.

 Efficient Resource Utilization: It allows for the efficient use of available


computational resources.

 Scalability: Parallel systems can be expanded to handle larger tasks by


adding more processors.

 Better Performance: Suitable for handling complex tasks like simulations,


data analysis, and scientific research.

Role and Function of Operating Systems

An Operating System (OS) is a software program that acts as the middleman


between the computer hardware and the user. It manages the computer's
resources and provides an environment in which applications can run efficiently.
The OS controls everything from the hardware to the software and ensures that
the system operates smoothly.

1. Role of the Operating System

The operating system plays a crucial role in the functioning of a computer system.
It serves as:

 Resource Manager: The OS manages the computer's hardware resources,


including the CPU, memory, storage devices, and input/output devices. It
ensures that each program gets enough resources to function properly
without interfering with others.
 Interface between User and Hardware: It provides a user-friendly interface
that allows users to interact with the computer hardware. This can be
through a graphical user interface (GUI) or command-line interface (CLI).

 Application Platform: The OS provides a platform on which application


software runs. It offers services like memory allocation, file management,
and device handling to software applications.

 Security Controller: It protects the computer system from unauthorized


access by implementing security measures like passwords, permissions, and
encryption.

2. Functions of the Operating System

The main functions of an operating system can be divided into several key areas:

1. Process Management

 The OS manages all the processes (programs in execution) that are running
on the computer.

 It handles the scheduling of processes, allocation of CPU time, and ensures


that each process runs efficiently.

 If multiple applications are open, the OS decides which one gets the CPU's
attention first.

2. Memory Management

 The OS manages the computer’s memory, both RAM (Random Access


Memory) and virtual memory.
 It allocates memory to each application as needed and ensures that no two
applications interfere with each other’s memory space.

 It prevents memory leaks by freeing up memory when an application is


closed.

3. File System Management

 The OS manages files and directories on storage devices like hard drives or
SSDs.

 It controls how data is stored, retrieved, and organized into files and folders.

 It handles file operations like creating, deleting, reading, writing, and


renaming files.

4. Device Management

 The OS manages all the computer's hardware devices, such as printers,


keyboards, and disk drives.

 It uses device drivers (software) to communicate with the hardware and


makes sure that input/output operations are performed smoothly.

 When you print a document, the OS sends data from the computer to the
printer.

5. Security and Access Control

 The OS provides security features to protect data and resources from


unauthorized access.
 It uses mechanisms like user authentication, file permissions, and
encryption to ensure data safety.

 You need to enter a password to log into your computer or to access certain
files.

6. User Interface

 The OS provides a way for users to interact with the computer.

 It offers either a Graphical User Interface (GUI) or a Command-Line


Interface (CLI) for user interaction.

 Windows, macOS, and Linux use GUI, while older systems like MS-DOS use
CLI.

Operating System Concepts

Operating systems (OS) are essential software that control and manage the
hardware and software resources of a computer. They provide the environment in
which other programs can run and help users interact with the computer easily.
Understanding the core concepts of operating systems is crucial to knowing how
computers work. Let's go through the fundamental concepts of operating systems:

1. Process Management

 A process is a program in execution. The operating system manages


processes to ensure that they run smoothly and efficiently.

 Functions:
o Process Scheduling: Decides the order in which processes are
executed by the CPU.

o Process Creation and Termination: Handles the starting and stopping


of processes.

o Multitasking: Allows multiple processes to run simultaneously by


switching rapidly between them.

2. Memory Management

 Memory management is about controlling and coordinating computer


memory, including RAM (Random Access Memory).

 Functions:

o Memory Allocation: Allocates memory to programs and deallocates


it when no longer needed.

o Virtual Memory: Uses a portion of the hard drive as an extension of


RAM to increase the available memory.

3. File System Management

 The file system organizes and stores data in a structured way so that users
can easily access and manage files.

 Functions:

o File Organization: Uses directories or folders to keep files organized.

o File Operations: Supports actions like creating, reading, writing, and


deleting files.
o File Access Control: Protects files from unauthorized access.

4. Device Management

 Device management involves controlling all hardware devices connected to


the computer, like keyboards, printers, and storage drives.

 Functions:

o Device Drivers: The OS uses special software called drivers to


communicate with hardware.

o I/O Operations: Manages input and output operations to ensure data


is properly transferred between the computer and devices.

5. User Interface

 The user interface is how the user interacts with the computer and the
operating system.

 Types of User Interfaces:

o Graphical User Interface (GUI): Uses graphics, icons, and windows to


interact with the computer (e.g., Windows, macOS).

o Command-Line Interface (CLI): Users type text-based commands to


interact with the OS (e.g., Linux, MS-DOS).

6. Security and Protection

 The OS ensures the computer's data and resources are protected from
unauthorized access and threats.

 Functions:
o User Authentication: Requires usernames and passwords to log in to
the system.

o Data Encryption: Encodes data to protect it from unauthorized


access.

o Access Control: Manages user permissions for accessing files and


system resources.

7. Multitasking and Multiprogramming

 Multitasking allows multiple tasks to run at the same time, while


multiprogramming keeps several programs in memory simultaneously.

o Time-Sharing: Divides the CPU time into small intervals and switches
between tasks so that they appear to be running simultaneously.

o Concurrency: The ability of the OS to execute multiple processes in


parallel.

8. Deadlock and Resource Allocation

 A deadlock occurs when two or more processes are unable to proceed


because each is waiting for the other to release resources.

 Functions:

o Deadlock Prevention: Implements strategies to avoid situations


where processes get stuck.

o Resource Allocation: Distributes resources like memory and CPU time


fairly among processes.
9. Network Management

 Modern operating systems support networking, which allows computers to


connect and communicate with each other.

 Functions:

o Networking Protocols: Manages communication between computers


using standard protocols like TCP/IP.

o Internet Connectivity: Provides the ability to connect to the internet


and share resources across networks.

10. System Performance Monitoring

 The OS monitors the performance of the system to ensure that it runs


efficiently.

 Functions:

o Performance Metrics: Tracks CPU usage, memory usage, and disk


space.

o Optimization: Identifies and resolves performance bottlenecks to


improve system speed and efficiency.

Types of Operating Systems

An Operating System performs all the basic tasks like managing files, processes,
and memory. Thus, the operating system acts as the manager of all the resources,
i.e. resource manager. Thus, the operating system becomes an interface between
the user and the machine. It is one of the most required software that is present
in the device.

Operating System is a type of software that works as an interface between the


system program and the hardware. There are several types of Operating Systems
many of which are mentioned below. Let’s have a look at them.

Types of Operating Systems

1. 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 requirements and groups
them into batches. It is the responsibility of the operator to sort jobs with similar
needs. Batch Operating System is designed to manage and execute a large number
of jobs efficiently by processing them in groups.

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

 Batch systems are hard to debug.

 It is sometimes costly.

 The other jobs will have to wait for an unknown time if any job fails.

 In batch operating system the processing time for jobs is commonly difficult
to accurately predict while they are in the queue.

Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.

2. 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 utilization 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.

3. 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.

4. Multi-Tasking Operating System


Multitasking Operating System is simply a multiprogramming Operating System
with having facility of a Round-Robin Scheduling Algorithm. It can run multiple
programs simultaneously.

There are two types of Multi-Tasking Systems which are listed below.

 Preemptive multi-tasking

 Cooperative multi-tasking

Advantages of Multi-Tasking Operating System

 Multiple Programs can be executed simultaneously in Multi-Tasking


Operating System.

 It comes with proper memory management.

Disadvantages of Multi-Tasking Operating System

 The system gets heated in case of heavy programs multiple times.

5. 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. The task can be from a single user or different
users also. The time that each task gets to execute is called quantum. After this
time interval is over OS switches over to the next task.

Advantages of Time-Sharing OS

 Each task gets an equal opportunity.

 Fewer chances of duplication of software.

 CPU idle time can be reduced.

 Resource Sharing: Time-sharing systems allow multiple users to share


hardware resources such as the CPU, memory, and peripherals, reducing
the cost of hardware and increasing efficiency.

 Improved Productivity: Time-sharing allows users to work concurrently,


thereby reducing the waiting time for their turn to use the computer. This
increased productivity translates to more work getting done in less time.

 Improved User Experience: Time-sharing provides an interactive


environment that allows users to communicate with the computer in real
time, providing a better user experience than batch processing.
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.

 High Overhead: Time-sharing systems have a higher overhead than other


operating systems due to the need for scheduling, context switching, and
other overheads that come with supporting multiple users.

 Complexity: Time-sharing systems are complex and require advanced


software to manage multiple users simultaneously. This complexity
increases the chance of bugs and errors.

 Security Risks: With multiple users sharing resources, the risk of security
breaches increases. Time-sharing systems require careful management of
user access, authentication, and authorization to ensure the security of data
and software.

6. Distributed Operating System

These types of operating system are a recent advancement in the world of


computer technology and are being widely accepted all over the world. Various
autonomous interconnected computers communicate with each other using a
shared communication network. Independent systems possess their own memory
unit and CPU. These systems’ processors differ in size and function. The major
benefit of working with these types of the operating system is that it is always
possible that one user can access the files or software which are not actually
present on his system but some other system connected within this network i.e.,
remote access is enabled within the devices connected in that network.

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.

 Load on host computer reduces.

 These systems are easily scalable as many systems can be easily added to
the network.

 Delay in data processing reduces.

Disadvantages of Distributed Operating System

 Failure of the main network will stop the entire communication.

 These types of systems are not readily available as they are very expensive.
Not only that the underlying software is highly complex and not understood
well yet.

7. 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. One more important
aspect of Network Operating Systems is that all the users are well aware of the
underlying configuration, of all other users within the network, their individual
connections, etc.

Advantages of Network Operating System

 Highly stable centralized servers.

 Security concerns are handled through servers.

 New technologies and hardware up-gradation are easily integrated into the
system.

 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.

8. Real-Time Operating System

These types of OSs serve real-time systems. The time interval required to process
and respond to inputs is very small. This time interval is called response
time. Real-time systems are used when there are time requirements that are very
strict like missile systems, air traffic control systems, robots, etc.

Types of Real-Time Operating Systems

 Hard Real-Time Systems: Hard Real-Time OSs are meant for applications
where time constraints are very strict and even the shortest possible delay
is not acceptable. These systems are built for saving life like automatic
parachutes or airbags which are required to be readily available in case of
an accident. Virtual memory is rarely found in these systems.

 Soft Real-Time Systems: These OSs are for applications where time-
constraint is less strict.

Advantages of RTOS:

 Maximum Consumption: Maximum utilization of devices and systems, thus


more output from all the resources.

 Task Shifting: The time assigned for shifting tasks in these systems is very
less. For example, in older systems, it takes about 10 microseconds in
shifting from one task to another, and in the latest systems, it takes 3
microseconds.

 Focus on Application: Focus on running applications and less importance on


applications that are in the queue.

 Real-time operating system in the embedded system: Since the size of


programs is small, RTOS can also be used in embedded systems like in
transport and others.

 Error Free: These types of systems are error-free.

 Memory Allocation: Memory allocation is best managed in these types of


systems.

Disadvantages of RTOS

 Limited Tasks: Very few tasks run at the same time and their concentration
is very less on a few applications to avoid errors.

 Use heavy system resources: Sometimes the system resources are not so
good and they are expensive as well.

 Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.

 Device driver and interrupt signals: It needs specific device drivers and
interrupts signal to respond earliest to interrupts.

Examples of Real-Time Operating Systems are Scientific experiments, medical


imaging systems, industrial control systems, weapon systems, robots, air traffic
control systems, etc.
PROGRAMMING LANGUAGES

What is Computer Programming?

o It is the process of giving instructions (commands) to the computer to do a


meaningful task.

o It is an act of teaching the computer on how to do a task.

o The art and science of creating instructions for a computer to follow.

o Creating a sequence of instructions to enable the computer to do


something.

Why need Programming?

•Computer is just a dumb machine made up of different electronic components. It


is like a box which cannot do anything by itself.

•It is the user who tells the computer “What it has to do?”

•If we need our computer to perform some tasks, we first have to teach the
computer in detail “how I twill accomplish that task?”

•Once the computer is taught about a particular task, it will completely obey it but
cannot do anything that it is not taught to.
Like the humans, we can teach the computer through communicating with it using
a particular language.

•The language that computer understands is machine language, also called as


binary language. Machine language is the language of 0s and 1s.

•We give detailed instructions to the computer to solve a particular task.


Programming is the term that refers to teaching, instructing or giving commands
to the computer Programming is more about problem solving skills than writing
the code itself.

•Programming teaches you how to understand, analyze and solve the problems. It
enhances your analytical reasoning abilities and helps you cope with daily real-life
problems as well.

•Hence learning to program is important because it develops analytical and


problem-solving abilities.

Programmer

•The person who gives the instructions (commands) to the computer is known as
the programmer.

•A person who designs and writes computer programs.

Instruction

•Instruction is any command given to the computer.

•For example:

1) Add two variables A and B


2) Display result

3) Read file

•Each of these is the individual instruction to the computer.

What is Program?

•Program is a set (collection) of instruction to do a meaningful task.

•A sequence of instructions that are interpreted and executed by a computer. It


can be made of a single or hundreds of instructions.

•For example: In order to teach the computer on how to calculate average of


three numbers? We need to give multiple instructions to the computer to do the
task.

Instruction 1: Get first number from the user and store it in A variable

Instruction 2: Get second number from the user and store it in B variable

Instruction 3: Get third number from the user and store it in C variable

Instruction 4: Add A, B, C and store the result in SUM variable

Instruction 5: Divide SUM by 3 and store result in AVG variable

Instruction 6: Display AVG variable

•Instructions 1-6 are used to solve a single task. This collection of instruction is
known as a program.

Programming Language
•A programming language is an artificial language designed to communicate
instructions to a computer.

•A programming language is a notation for writing programs.

•A vocabulary and set of grammatical rules for instructing a computer to perform


specific tasks.

Each language has a unique set of key words (special words that it understands)
and a special syntax (format) for organizing program instructions.

There are many programming languages. For example:

GW Basic, C, C++, JAVA, Pascal, COBOL

Types of Programming Languages

There are three types of programming languages:

1. Low level languages

2. High level languages

3. Middle level languages

1. Low-Level Language

A language which is closer to machine (computer)

A low-level language is one which is closer to the machine (computer).

It is easier for machines to understand and difficult for humans to understand.

It is faster in execution as compared to high and middle level languages.

Two of the types of low-level languages are:


a. Machine language

b. Assembly language

a. Machine Language

o It is one of the low-level languages.

o It is the language of 0s and 1s.

o Machine languages are the only languages directly understood by the


computers.

o While easily understood by computers, machine languages are almost


impossible for humans to use because they consist entirely of numbers (0s
and 1s)

o It is the native language of the machines (computers).

o Here all the instructions are written as code of binary sequence. For
example:

o In order to do addition, the code is: 10010001

o In order to decrement a number by one, the code is: 11011011

o In order to move data from one place to another, the code is: 10000111

o There are hundreds of instructions and each instruction has a binary code.

o Is it possible to remember all the codes of hundreds of instruction?

o Obviously not! Hence machine language almost impossible to understand.

Machine language program example:


10010010

11001010

01001010

11110101

Assembly Language

•Assembly language is same as machine language but uses English like words to
represent individual operations.

•For example: Instead of binary codes it uses: ADD, MOV, SUB, INC

•Assembly language is also a low-level language.

•It is easier than the machine language but still it is very difficult to control a
larger program using assembly.

As assembly language contains English like words, which will not be understood by
the computer (because it only understands 0s and 1s)

•A translator first converts the assembly language program into machine language
program.

•Translator used with assembly language is called Assembler.

Assembly language program example:

MVI A, 05h

MVI B, 9Ah

ADD B
INC A

STA 8200h

HLT

2. High-Level Language

A language which is closer to human (programmer)

A high-level language is one which is closer to the human (programmer).

It is easier for humans to understand and difficult for machines to understand.

It is slower in execution as compared to low level languages.

Like assembly language, it also uses English like words for the operations.

For example: for, if, else, break, continue, while, include, using, import

It is easier than assembly language.

Some of the high-level programming languages are:

•GW Basic, C++, JAVA, Pascal, COBOL, Python, C#, Visual Basic

High level language program example:

void main()
{
Int a= 5;
Int b= 6;
if(a> b)
cout<<“First number is greater.”;
else
cout<<“Second number is greater.”;
}
3. Middle-Level Language

A language which is somehow closer to machine as well as human

A middle level language is one which is closer to machine (computer) as well as to


human (programmer).

•A language that has the features of both low level and high-level languages.

•More formally, a high-level language that allows you to write low level programs
in it is called as middle level language.

Some of the middle level programming languages are:

•C

•IBM PL/S (Programming Language/Systems)

•BCPL (Basic Combined Programming Language)

•BLISS (Bill's Language for Implementing System Software)

You might also like