SlideShare a Scribd company logo
APPLICATION OF INFORMATION
TECHNALOGY
COURSE CODE: ICT 302
ZOOLOGY 3RD
SEMESTER
CREATED BY: TOHEED REHMAN
TOPICS OUTLINE
 DATA & INFORMATION
 Information Systems (IS):
 Information Resources:
 Need for Information:
 Information Processing:
 Digital and Analog Computers
 Binary System and Its Application
 Arithmetic and Logic Unit (ALU)
 Microcomputer (Personal Computer or PC)
 Operating System (OS)
 Flynn's Classification
 Parallel Computing
 What are Programming Languages?
 Basic Paradigms for the Design of Programming
Languages
DATA & INFORMATION
DATA
•Data are facts and figure 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 employees, marks obtained by the
students, Student Admission Forms, and CV 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
DataItem. Data is actually the plural form the word “DATUM”. Datum comes from the Latin word and originally
meant “Some Thing Given”.
 Data may be Qualitative or Quantitative. The data usually nonnumeric 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 numbers of the students in a class are all the examples of Quantitative data.
TYPES OF DATA
•There are different types of data.
1. Alphabetic Data Type: It consists of letter from A Z capital form or a z small letter. e.g. Ishaq, Mardan,
Pakistan, Khan etc.
2. Numeric Data Type: It consists of digit form 0 9 e.g. 123, 567, 256 etc
3. Alphanumeric Data Type: It consists of Alphabetic letters as well as numeric digits. e.g. Street No. A/10,
F16, B52 etc.
4. Graphic Data Type: It consists of tables, charts, graphics and statements.
5. Audio Data Type: In consists of only sounds. For example radio news.
6. Video Data Type: _ It consists of photos, image and moving picture. Such as TV News.
7. Mixed Data Type: Mixed data type combine more than one type of data. Such as the combination of audio
and video
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 represent 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. Student Merit List is also an example of information.
DIFFERENTIATE BETWEEN DATA AND INFORMATION
Aspect Data Information
Definition A set of raw facts Processed form of data
Usage Used as input in the computer Output of the computer
Meaning Not meaningful Meaningful
Availability Asset of organization; not available for
sale
Normally available for sale
Dependence Independent entity Dependent on data
Decision Making Not used in decision making Very important for decisionmaking
Frequency of Use Used rarely Used frequently
Process form of data called information
Information Systems (IS):
•Definition: An information system is a set of components that collect, process, store, and disseminate information. It
often involves both technology and human activities to support decisionmaking and management in organizations.
Core elements:
 Hardware: Physical components like computers and networking devices.
 Software: Applications and operating systems that perform tasks.
 Data: Raw facts and figures that are processed to generate useful information.
 People: Users who interact with the system.
 Processes: Procedures and rules for collecting and processing information.
Information systems help in data management, communication, and supporting operational, tactical, and strategic
decision making in organizations.
Information Resources:
•Definition: Information resources refer to data, knowledge, and other assets that organizations use to manage
and execute their operations effectively.
These resources include:
 Databases: Structured collections of data.
 Documentation: Manuals, guides, and reference materials.
 Knowledge Repositories: Information used for decisionmaking or innovation,
 Human Expertise: Employees who possess specialized knowledge and skills.
Effective management of information resources ensures that valuable information is available, secure, and can
be easily retrieved and used when needed.
Need for Information:
•Information is critical for making informed decisions in any organization. The need for information arises from
the following:
 Decisionmaking: Managers require accurate and timely information to make strategic, tactical, and
operational decisions.
 Coordination: Information supports communication between different departments, helping streamline
processes and ensure consistency.
 Problemsolving: Information helps in identifying problems and evaluating solutions.
 Control and monitoring: Information systems help monitor performance, detect issues, and ensure
adherence to organizational standards.
Having access to accurate and relevant information is key to maintaining competitiveness, efficiency, and
effectiveness in an organization.
Information Processing:
•Information processing involves the collection, storage, retrieval, manipulation, and dissemination of data to
generate meaningful insights.
It includes:
 Data Input: Gathering and entering raw data. Processing: Performing calculations, sorting, or organizing
data.
 Output: Generating reports, visuals, or insights that can be used for decisionmaking.
 Storage: Keeping data in a structured format, like databases, for future use.
 Transmission: Sending and receiving information via communication networks or systems.
Modern technologies like artificial intelligence (Al), machine learning (ML), and data mining enhance the
efficiency of information processing.
Digital and Analog
Computers
Digital Computers
Introduction:
Computers, whether digital or analog, are used to process data and perform various computations. However, these two types of
computers differ significantly in terms of how they process information.
1. Digital Computers: Digital computers operate using binary numbers (0s and 1s) to represent data. These computers
process information in discrete steps and are widely used in today's world for tasks such as calculations, data storage, and
executing programs. They are the foundation of modern computing systems.
Characteristics:
 Data Representation: Digital computers use discrete data, represented by binary digits (bits).
 Precision: They are highly accurate and can handle complex calculations with precision.
 Speed: Digital computers are fast and can execute millions of instructions per second.
 Storage: They have vast storage capacities with different memory types (e.g., RAM, SSD, HDD).
 Examples: PCs, laptops, smartphones, and servers.
Analog Computers:
Analog computers process information represented as continuous signals, often in the form of electrical voltages. These computers
are used for simulations, modeling, and solving differential equations where realtime data is continuously changing.
 Analog computers are in use for some specific applications, like the flight computer in aircraft, ships, submarines, and some
appliances in our daily life such as refrigerator, speedometer, etc.
 Example: The Torpedo Data Computer (TDC) is an analog computer that was used in U.S. Navy submarines during World War II
to calculate torpedo firing angles and estimate target positions
Characteristics:
 Data Representation: Analog computers work with continuous data (e.g., electrical signals, fluid pressure, or rotational speeds).
 Precision: They are less precise than digital computers because they rely on continuous values, which can be influenced by noise
or signal degradation.
 Speed: Analog computers process realtime data, making them ideal for timedependent systems.
 Storage: Analog computers have minimal storage capability since they deal with continuous inputs.
Examples: Early flight simulators, weather prediction machines, and scientific instruments for physical systems.
Comparison
Aspect Digital Computer Analog Computer
Data Representation Discrete (Binary 0s and 1s) Continuous (Analog signals)
Accuracy High precision Moderate precision, subject to physical
noise
Speed Fast (processes discrete steps) Realtime (handles continuous data)
Storage Large data storage capabilities Limited to minimal storage
Applications Generalpurpose computing (software,
apps, etc.)
Specialized tasks (physical modeling,
simulation)
Examples Smartphones, PCs, supercomputers Weather systems, flight simulators
Figure 0 1 Analog Computers
‑
Binary System and Its Application
Binary System:
Definition
•The binary system is a number system that uses only two digits, 0 and 1, to represent numbers. It is a base2
numeral system, unlike the decimal system, which is base10 and uses digits from 0 to 9. Each digit in a binary
number is called a bit, which stands for binary digit.
Explanation
•The binary system is foundational in computer science and digital electronics because computers use binary to
represent data and perform calculations. This is because digital devices have two states: ON (1) and OFF (0),
which perfectly aligns with the binary system.
How the Binary System Works:
• Just as in the decimal system, where the place values are powers of 10 (e.g., 10^2, 10^1, 10^0), the binary system's place
values are powers of 2 (e.g., 2^2, 2^1, 2^0).
• The rightmost digit in a binary number represents 2^0, the next represents 2^1, then 2^2, and so on.
• Example of Binary System: Let's take the binary number 1011 and convert it to its decimal equivalent:
Binary number: 1011
Place values: 2^3, 2^2, 2^1, 2^0
(1 × 2^3) + (0 × 2^2) + (1 × 2^1) + (1 × 2^0)
(1 × 8) + (0 × 4) + (1 × 2) + (1 × 1)
8 + 0 + 2 + 1 = 11
•So, the binary number 1011 equals 11 in the decimal system.
Binary to decimal and Decimal to Binary Example
• Example: Convert Binary (1011)
to decimal
1.Binary number: 1011
2.Powers of 2:
1 × 2^3 = 8
0 × 2^2 = 0
1 × 2^1 = 2
1 × 2^0 = 1
3.Sum the results:
1. 8 + 0 + 2 + 1 = 11
• Example: Find the binary of
Decimal (13)
13 ÷ 2 = 6, remainder = 1
6 ÷ 2 = 3, remainder = 0
3 ÷ 2 = 1, remainder = 1
1 ÷ 2 = 0, remainder = 1
• Now, read the remainders from
bottom to top: 1101.
• So, the binary representation of
13 is 1101.
Practice Questions
• Here are a few numbers you can
convert to binary as a test:
1. 19
2. 45
3. 27
4. 64
5. 101
• Try converting these binary
numbers to decimal:
1. 1100
2. 10001
3. 11101
4. 1010
5. 100000
Applications of the Binary System:
•1. Computers and Digital Devices:
• All computers and digital systems (like smartphones, tablets, and embedded systems) operate on binary
data. Every action performed by a computer, whether it’s running software, performing calculations, or
accessing memory, relies on binary numbers.
• In a computer's memory, data (like text, images, audio) is stored as sequences of bits in binary form.
•2. Data Encoding and Transmission:
• Binary is used in encoding various types of data, including text, video, and audio files. For instance, each
character on a keyboard is assigned a binary number in a system like ASCII (American Standard Code for
Information Interchange).
Continue…
3. Logic Gates and Circuits:
• Digital circuits, such as AND, OR, NOT, etc., are built using binary logic. These circuits form the foundation of
more complex computing operations.
• Binary arithmetic (addition, subtraction, etc.) is performed in hardware using these gates.
4. Cryptography:
• Binary numbers are used in encryption algorithms, such as AES (Advanced Encryption Standard), to secure
communication and data.
5. Digital Audio and Video:
• In digital media, audio and video signals are converted from analog to digital format using binary numbers.
These binary sequences are then processed by devices like media players and computers.
Arithmetic and Logic
Unit (ALU)
Arithmetic and Logic Unit (ALU)
The Arithmetic and Logic Unit (ALU) is a crucial component of a computer's Central Processing Unit (CPU). Its primary
function is to perform arithmetic operations (such as addition, subtraction, multiplication, and division) and logic operations
(such as AND, OR, NOT, and XOR). The ALU handles all the calculations and decision-making processes required to execute
instructions provided by a computer program.
Key Functions of the ALU:
 Arithmetic Operations:
 Addition, subtraction, multiplication, and division of integers or binary numbers.
 Example: Adding two binary numbers 1010 (10 in decimal) and 0101 (5 in decimal) gives 1111 (15 in decimal).
 Logic Operations:
 Bitwise operations like AND, OR, NOT, and XOR on binary data.
 Example: A bitwise AND between 1101 (13 in decimal) and 1010 (10 in decimal) results in 1000 (8 in decimal).
 Shift Operations:
 Left and right shifts that move binary data within the CPU, often used for multiplication and division by powers of
two.
 Example: Shifting 0011 (3 in decimal) left by one position results in 0110 (6 in decimal).
 Comparison Operations:
 The ALU can compare two numbers and generate results such as "greater than," "less than," or "equal to."
How the ALU Works:
The ALU operates based on input data (operands) and a set of control signals that
determine which operation to perform.
It receives data from the CPU’s registers (small storage locations) and performs the
required calculation or logic operation.
Once the operation is complete, the ALU sends the result back to the CPU for further
processing or storage.
Example in Action:
When a program instructs the computer to calculate 2 + 3, the ALU:
1.Receives the numbers (in binary form: 0010 and 0011) from the CPU’s registers.
2.Performs the addition operation.
3.Sends back the result (binary 0101, which is 5 in decimal) to the CPU.
ALU Logics
Microcomputer (Personal
Computer or PC)
Microcomputer (Personal Computer or PC)
• Definition: These are general-purpose computers intended for
individual use. They include desktop and laptop computers.
• Example: A typical desktop computer or laptop like the Apple
MacBook or Dell XPS.
Continue…
A microcomputer in ICT is a small computer made up of several parts that work together:
1. CPU (Central Processing Unit): The part that does all the thinking and makes decisions.
2. Memory: RAM helps the computer remember things while it's on, and ROM stores important instructions
permanently.
3. Input/Output Devices: Things like keyboards and screens that let you talk to the computer and see what it’s doing.
4. Storage: Hard drives or SSDs save your files and programs for future use.
5. Motherboard: The main board where all the parts connect and communicate.
6. Power Supply: Provides electricity to make everything work.
7. Bus: The roads that carry data between different parts of the computer.
8. Clock: Keeps everything running on time.
9. Operating System: The software that helps the computer run and allows you to use programs.
10. Network Interface: Lets the computer connect to the internet or other devices.
Microcomputers are found in laptops, tablets, phones, and many smart devices. They are designed to be small, powerful, and
able to connect to the internet.
Operating System (OS)
What is an Operating System (OS)?
• An Operating System (OS) is software that acts as an intermediary
between computer hardware and the user. It manages hardware
resources and provides an environment for running applications. The
OS handles essential tasks like memory management, task scheduling,
input/output processing, and file management.
Role and Functions of an Operating System
1.Resource Management:
• The OS manages the hardware resources of the computer, such as the CPU, memory, storage, and
input/output devices. It ensures that all applications have access to the resources they need without
conflicts.
2.Process Management:
• The OS handles the creation, scheduling, and termination of processes (programs in execution). It
allocates CPU time and manages multitasking to ensure efficient use of the processor.
3.Memory Management:
• The OS controls the system's memory and allocates it to different processes. It ensures that each
process has enough memory to run while preventing one process from interfering with another.
4.File System Management:
• The OS manages the organization, storage, retrieval, and deletion of data on storage devices. It
provides file systems that define how data is structured and accessed, ensuring data integrity and
security.
Continue…
5. Device Management:
• The OS manages communication between the computer and its peripherals (e.g., printers, monitors,
keyboards). It uses device drivers to interface with the hardware and ensures smooth data transfer.
6.Security and Access Control:
• The OS enforces security measures to protect data and system resources. It controls user access to
files and applications, ensuring that unauthorized users cannot harm the system or access sensitive
data.
7.User Interface (UI):
• The OS provides a user interface, such as a command-line interface (CLI) or graphical user interface
(GUI), allowing users to interact with the system and manage files, programs, and settings.
8.Networking:
• Modern operating systems support networking capabilities, enabling computers to communicate
over local and global networks. They manage network resources, such as IP addresses and protocols,
to facilitate data exchange.
Key Operating System
Concepts
Key Operating System Concepts
1.Process:
• A process is a program in execution, including its code, data, and system resources. The OS manages
processes, enabling multitasking by switching between them efficiently.
2.Threads:
• A thread is a smaller unit of a process. A process can have multiple threads, each performing different tasks
concurrently, while sharing the same resources (memory, files). The OS handles thread scheduling and
execution.
3.Concurrency and Parallelism:
1. Concurrency refers to the ability of an OS to manage multiple processes (or threads) seemingly
simultaneously, switching between them frequently.
2. Parallelism occurs when multiple processes or threads are executed at the same time on different
processors or cores.
4.Memory Management:
• The OS allocates and deallocates memory space as needed by programs. It tracks which parts of
memory are in use and optimizes memory usage through techniques like paging and segmentation.
Continue…
5. Virtual Memory:
• Virtual memory allows the OS to use hard disk space as an extension of the system's RAM, enabling large programs
to run even when physical memory is insufficient. It provides an abstraction of unlimited memory for applications.
6.File Systems:
• The OS provides a file system to organize and manage data stored on disks. Files are stored in directories (or folders),
and the file system ensures data access, modification, and security.
7.Process Scheduling:
• Scheduling determines which process gets to use the CPU and for how long. Scheduling algorithms, like First Come
First Serve (FCFS), Round Robin (RR), and Shortest Job First (SJF), balance the load on the system and optimize
performance.
8.Input/Output (I/O) Management:
• The OS manages communication between the system and external devices (e.g., printers, keyboards). It handles I/O
requests, prioritizes them, and ensures smooth data exchange through device drivers and buffers.
9.Deadlock:
• A deadlock occurs when two or more processes are waiting for each other to release resources, causing all to halt.
The OS implements strategies for deadlock prevention, detection, or recovery to resolve such conflicts.
Types of Operating Systems
Types
1. Batch Operating System
2. Time-Sharing Operating System
3. Distributed Operating System
4. Network Operating System (NOS)
5. Real-Time Operating System (RTOS)
6. Multiprogramming Operating System
7. Multiprocessing Operating System
8. Embedded Operating System
9. Mobile Operating System
10. Single-User Operating System
11. Multi-User Operating System
Types of Operating Systems
1. Batch Operating System:
1. In batch operating systems, similar jobs are grouped together and processed without user interaction.
The OS executes one job after another, without multitasking. Early computers used this system to
manage jobs in a queue.
2. Example: IBM OS/360.
2. Time-Sharing Operating System:
1. Time-sharing systems allow multiple users to use the computer simultaneously. The OS divides the CPU
time into small time slots and allocates each slot to a different user or process. This creates the illusion
of parallelism.
2. Example: UNIX.
3. Distributed Operating System:
1. Distributed operating systems manage a group of independent computers (connected via a network) to
appear as a single cohesive system. Tasks are distributed among multiple machines, improving
performance and resource sharing.
2. Example: Google’s OS for data centers, Amoeba.
Continue…
4. Network Operating System (NOS):
1. A network operating system allows computers to communicate over a network. It provides
services like file sharing, printer access, and security for multiple devices in a networked
environment.
2. Example: Microsoft Windows Server, Novell NetWare.
5.Real-Time Operating System (RTOS):
1. Real-time operating systems are designed to process data and execute tasks within strict
time constraints. They are commonly used in systems where timely execution is critical, such
as embedded systems, robotics, and industrial automation.
2. Example: VxWorks, QNX.
6.Multiprogramming Operating System:
1. In a multiprogramming system, multiple programs run simultaneously by utilizing the
system’s resources effectively. The OS keeps several programs in memory at the same time,
switching between them to maximize CPU usage.
2. Example: IBM's OS/390.
Continue…
7. Multiprocessing Operating System:
1. Multiprocessing systems use two or more processors to execute multiple processes at the same
time. The OS ensures that tasks are distributed across the processors for parallel execution.
2. Example: Linux, Windows (on multi-core systems).
8.Embedded Operating System:
1. Embedded operating systems are designed to manage hardware and software for embedded
devices like smartphones, smart TVs, and IoT devices. These systems are highly specialized and
optimized for specific tasks.
2. Example: Android (for smartphones), iOS, Windows CE.
9.Mobile Operating System:
1. Mobile operating systems are designed for smartphones and tablets, optimized for touch-based
interaction, portability, and power efficiency. They provide mobile-specific services like location
tracking, app stores, and wireless connectivity.
2. Example: Android, iOS.
Continue…
10. Single-User Operating System:
1. Single-user operating systems allow only one user to use the system at a time. These systems are designed for
personal computers where a single user interacts with the machine, running applications and managing files.
2. Example: Windows 10, macOS.
3. Key Features:
1. Only one user can interact with the system at a time.
2. Simple and user-friendly interface.
3. Ideal for personal computing.
11.
Multi-User Operating System:
1. A multi-user operating system allows multiple users to access a system concurrently. This is often used in
mainframe and server environments where many users need to share system resources.
2. Example: UNIX, Linux.
3. Key Features:
1. Manages multiple users’ access to the same system.
2. Allocates resources efficiently to each user.
3. Provides security and isolation between users.
Flynn's Classification
Flynn's Classification
• 1. SISD (Single Instruction, Single Data)
• Instruction Stream: In SISD, there is only one instruction stream, meaning the processor fetches and
executes one instruction at a time. There is no parallelism—everything happens sequentially.
Instructions are processed one after the other in a linear flow.
• Data Stream: The instruction operates on one piece of data at a time. Each instruction manipulates a
single data element
• (e.g., adding two numbers, accessing a memory location) before moving to the next instruction and
data.
• 2. SIMD (Single Instruction, Multiple Data)
• Instruction Stream: SIMD executes one instruction but applies it across multiple processing units (or
data streams) simultaneously. This means the same operation (e.g., multiplication, addition) is
performed on different data points at the same time.
• Data Stream: SIMD works on multiple data items at once.
• For example, if the instruction is to add two numbers, it could add multiple pairs of numbers in parallel.
CONTINUE…
3. MISD (Multiple Instruction, Single Data)
• Instruction Stream: MISD systems execute multiple different instructions at the same time, but
these instructions operate on the same data stream.
• Data Stream: The same data item is processed by all the instructions simultaneously.
• Example: Error Checking: A critical system (e.g., an aircraft control system) might process the same
data (e.g., sensor input) with different algorithms to verify that the results match or to detect
• One instruction might check for signal integrity.
• Another might filter noise from the same data.
4. MIMD (Multiple Instruction, Multiple Data)
• Instruction Stream: In MIMD, multiple processors work on different instructions at the same time.
Each processor or core runs its own sequence of instructions independently.
• Data Stream: Each processor or core also works on its own data stream, meaning different data is being
processed by different instructions.
Example for MIMD
Imagine you have a multi-core processor (e.g., a CPU with four cores) that needs to perform different tasks at
the same time. Each core works on a different operation using its own data:
•Core 1: Adds two numbers → 5 + 3 = 8
•Core 2: Subtracts two numbers → 10 - 4 = 6
•Core 3: Multiplies two numbers → 2 * 3 = 6
•Core 4: Divides two numbers → 20 / 5 = 4
•Each core (processor) executes a different instruction.
•Each core works on its own data independently of the others.
This demonstrates the MIMD system, where:
•Core 1 runs the addition instruction on its own data.
•Core 2 runs the subtraction instruction on different data.
•Core 3 runs the multiplication instruction on yet another set of data.
•Core 4 runs the division instruction on its own data.
All of these tasks are happening simultaneously and independently.
SISD,SIMD,MISD,MIMD
Parallel Computing
1. General-Purpose Architectures:
a) Synchronous Parallel Architectures
b) Dataflow Architectures
c) Pipeline Architectures
2. Special-Purpose Architectures:
1. Asynchronous architectures
1. Bus Architecture
2. Switch-Based Architecture
2. Systolic Architecture
Parallel Computing
• Parallel computing refers to the process of using multiple processors
or computers to execute different parts of a computation or multiple
computations simultaneously. The primary aim is to improve
performance by dividing large problems into smaller sub-problems
and solving them concurrently.
• In traditional serial computing, tasks are performed one at a time.
However, in parallel computing, multiple tasks are executed at the
same time, significantly speeding up the overall process.
Architecture of Parallel Computing
• Parallel computing architectures define how processors are organized
and communicate with each other to work on tasks simultaneously.
These architectures can be classified into two main categories:
1.General-Purpose Architectures: Designed for a wide variety of
computing tasks. They are versatile and can be used for multiple
applications.
2.Special-Purpose Architectures: Tailored for specific applications or
tasks. These are optimized for particular types of computations and
are more efficient for those tasks but not as flexible as general-
purpose architectures.
1. General-Purpose
Parallel Computing
Architectures
These architectures are designed to handle a
wide variety of tasks and are typically found in
multi-core processors, distributed systems, and
general-purpose computing platforms.
a. Synchronous Parallel
Architectures
•In a synchronous parallel system, all
processors operate in lock-step, meaning they
are coordinated to run in synchronization,
performing tasks at the same time.
•Example: SIMD (Single Instruction, Multiple
Data) architectures like GPUs, where the same
instruction is executed on different data points
simultaneously.
b. Dataflow
Architectures
•Dataflow in computer architecture
refers to the movement of data
between different components of a
computer system, typically
involving the processing units and
memory. Dataflow architectures are
designed to enable high
performance by allowing
instructions to execute as soon as
their operands are available, rather
than waiting for the entire
instruction sequence to be ready.
•Example: x*y + z
c. Pipeline Architectures
• Pipelining
• involves breaking a task into multiple stages, where each stage performs part
of the work, and data flows through these stages in a pipeline. Different
stages of the pipeline work on different parts of the data simultaneously.
• Example:
• Modern CPUs and GPUs use pipelining to execute multiple instructions in
parallel by dividing the work across different stages (fetching, decoding,
operate, executing, etc.).
• Pipeline Use Case:
• Assembly-line style execution, like processing video frames where each frame
passes through multiple processing stages (color correction, rendering, etc.).
2. Specific-Purpose Parallel Computing
Architectures
a. Asynchronous architectures
a. Asynchronous architectures are systems where components communicate
and process data without relying on a global clock signal. This means that
the components can operate independently, responding to events or
signals rather than waiting for a synchronized time to act. Here’s a
breakdown of two common types of asynchronous architectures: Bus and
Switch.
1. Bus
2. Switch
Continue…
1. Bus Architecture:
• Processors and Memory Modules are connected via a shared bus.
• The bus enables communication between processors (P1, P2, Pn) and memory units (M1, M2, Mn).
• Interconnection: This is a shared connection between processors and memory modules. All
processors share the same bus to communicate with memory.
• Shared Bus: In this architecture, all processors use the same communication pathway to access
memory modules, which can create bottlenecks(Blockage) because only one communication can
occur on the bus at a time. This is why it's asynchronous—the communication is not always
simultaneous; it happens sequentially over the bus.
• Key points:
• Limited scalability: As more processors are added, bus contention can occur, leading to delays.
• Simple implementation: The bus design is simpler and easier to implement but not suitable for high-
performance systems with many processors.
Bus Flowchart (work on Shared Memory)
Continue…
2. Switch-Based Architecture:
• Switches: These allow multiple communications to occur
simultaneously. For example, P1 can communicate with M1 while P2
communicates with M2, and so on.
• Key points:
• Higher scalability: Multiple connections can be made at the same time,
improving performance as the number of processors increases.
• Complexity: This architecture is more complex to design and implement
compared to the bus system, but it provides much better performance
for larger systems.
Switch Structure
Count in Special Architecture…
b. Systolic Architecture
b. Systolic Architecture in parallel computing is a specialized, efficient form of
parallel data processing. It involves a network of processors (or cells) that
rhythmically compute and pass data through the system. Each processor
performs a small computation and passes its result to neighboring
processors in a synchronous manner, creating a pipeline of computation.
This type of architecture is particularly suited for tasks that involve regular,
repetitive computations such as matrix multiplication, convolution
operations in signal processing, and other linear algebra problems.
Systolic Architecture
Comparison of General-Purpose and Special-Purpose Architectures
Feature General-Purpose Special-Purpose
Flexibility
Versatile, can handle a variety of
tasks.
Optimized for specific tasks or
applications.
Synchronization Synchronous or dataflow
approaches.
Often asynchronous, allowing more
flexibility.
Pipeline
Common in general-purpose CPUs
and GPUs.
Less common, usually replaced by
systolic architectures.
Performance
General-purpose performance for
many tasks.
High performance for specific
applications.
Examples Multi-core processors, GPUs. Neural network accelerators, DSPs
(Digital Signal Processors).
Comparison Table: (Shared vs Distributed Memory)
Feature Shared Memory Distributed Memory
Memory Access
All processors access the same
memory
Each processor has its own memory
Communication Implicit (via shared variables) Explicit (message passing)
Synchronization Requires mechanisms like
locks/semaphores
Handled by message-passing libraries
like MPI
Latency Lower for shared memory Higher for accessing remote memory
Scalability Limited due to memory contention More scalable, supports large systems
Programming Difficulty
Easier to program and manage
memory
More complex, requires managing
communication
System Examples Multicore CPUs, SMP systems Cluster computing, supercomputers
Typical Use Cases Small to medium-sized systems Large-scale systems like clusters
What are Programming Languages?
What is Programming?
• Programming is the process of writing instructions that a computer can
understand and execute. These instructions, known as code, tell the
computer how to perform specific tasks or solve problems. Programmers
use various tools, logic, and programming languages to create software,
apps, websites, and more. The goal is to develop efficient and effective
solutions to perform automated tasks or complex calculations.
• What is a Language?
• A language is a system of communication consisting of symbols, words,
and rules that allow people to express thoughts and ideas. In the context
of computers, a programming language provides a way for humans to
communicate instructions to machines.
What are Programming Languages?
• Programming languages are formal languages used to write code that instructs
computers on what to do. Each programming language has its syntax (rules) and
semantics (meaning), which define how instructions should be written and interpreted
by a computer.
• Examples of popular programming languages include:
• Python: Known for its simplicity and readability.
• Java: Widely used in enterprise applications.
• C++: Known for its performance and use in systems programming.
• JavaScript: Primarily used for web development.etc
• Programming languages enable developers to write software for various purposes, from
automating simple tasks to creating complex systems like operating systems or mobile
apps.
Main Types of Programming Languages:
1.Low-Level Languages: Machine and Assembly.
2.High-Level Languages: Procedural, Object-Oriented, Functional, Scripting,
Logic.
3.Markup Languages: HTML, XML.
4.Domain-Specific Languages: SQL, Verilog, MATLAB.
• Each type of language serves a different purpose, from direct
hardware control to high-level software design.
Programming Languages
Basic Paradigms for the Design
of Programming Languages
Basic Paradigms for the Design of
Programming Languages
• A programming paradigm is a style or approach to programming,
defining the way programs are organized and executed. Different
paradigms offer distinct ways to think about how to structure and
solve problems using a programming language. Here are the basic
paradigms for the design of programming languages:
Basic Paradigms for the Design of
Programming Languages include:
1. Imperative Programming Paradigm
• Focuses on how to solve a problem by specifying steps to execute.
• Code consists of sequential instructions that change the program's state.
• Includes loops, conditionals, and variables.
• Provides fine control over hardware resources.
• Examples: C, Java, Python (imperative style).
2. Procedural Programming Paradigm (a subset of Imperative)
• Breaks programs into smaller units called procedures or functions.
• Promotes code reuse and modular design.
• Procedures perform specific tasks and can be reused throughout the program.
• Variables can be global or local to procedures.
• Examples: C, Pascal, Fortran.
Continue…
3. Object-Oriented Programming (OOP) Paradigm
• Organizes code around objects (data) and methods (functions).
• Emphasizes code reusability, modularity, and organization.
• Key Concepts:
• Encapsulation: Bundling data and methods inside objects.
• Inheritance: Creating new classes based on existing ones.
• Polymorphism: Using a single interface for different data types.
• Abstraction: Hiding complex details and exposing only necessary parts.
• Examples: Java, Python, C++.
Continue…
4. Functional Programming Paradigm
• Focuses on what to compute, not how.
• Treats computation as the evaluation of functions.
• Key Features:
• Functions are treated as first-class citizens (can be passed around as values).
• Avoids mutable state and side effects (immutable data).
• Encourages recursion over loops.
• Ideal for parallel processing and concurrency.
• Examples: Haskell, Lisp, Erlang, Scala.
Continue…
5. Logic Programming Paradigm
• Based on formal logic and rule-based problem solving.
• Programs consist of facts and rules.
• Solutions are inferred by the logic engine using the provided facts and rules.
• Declarative: Focuses on what needs to be achieved, not how.
• Commonly used in AI and expert systems.
• Examples: Prolog, Datalog.
6. Declarative Programming Paradigm
• Specifies what needs to be done, without defining how it should be done.
• Describes the desired outcome or logic rather than control flow.
• Focuses on describing logic and constraints.
• Common in database queries and UI markup.
• Examples: SQL (for databases), HTML (for web structure), XAML.
Contine…
7. Event-Driven Programming Paradigm
• Code execution is triggered by events such as user actions (clicks, key
presses).
• Frequently used in applications with graphical user interfaces (GUIs).
• Event Handlers respond to specific events and perform actions.
• Supports asynchronous programming (tasks occur when triggered by
events).
• Examples: JavaScript, C# (for Windows apps), Python (with event-
driven libraries).

More Related Content

PPTX
Introduction to information Communication Technology Chapter 01.pptx
PPTX
Introduction to information Communication Technology Chapter 01.pptx
PPTX
Lecture 1 ANT.pptx
PPTX
Emerging Technology Chapter 2 Data Science
PPTX
Lecture TWO new 24.pptx it and it's related disciplines
PPTX
Lecture 1.pptx
PPTX
Information Systems
PPTX
Lecture TWO.pptx about IT and it's discipline
Introduction to information Communication Technology Chapter 01.pptx
Introduction to information Communication Technology Chapter 01.pptx
Lecture 1 ANT.pptx
Emerging Technology Chapter 2 Data Science
Lecture TWO new 24.pptx it and it's related disciplines
Lecture 1.pptx
Information Systems
Lecture TWO.pptx about IT and it's discipline

Similar to 1. APPLICATION OF INFORMATION TECHNALOGY_2.pptx (20)

PDF
Lecture 1- Introduction to Computer..pdf
PDF
Introduction to Computer Fundamentals
PPT
CS3C - Jonbon Libreja
PPTX
Data processing and analysis
DOCX
Components of an information system
PPTX
Introduction to Computers - Lecture#1 AICT.
PPTX
Chapter 6
PPT
Lecture 1 technology-management_intro
PPTX
Introduction to Data Science now a days.pptx
PDF
UNIT I computing essentials notes f1.pdf
PPTX
data and information dit1scone
PPT
MISCH13.ppt
PDF
CAB unit-1.pdf
PPTX
Foundation Of Information System
PPTX
U - 2 Emerging.pptx
PPTX
ch2 DS.pptx
PDF
PPTX
Unit 1 - Computer Introduction - V1.1.pptx
PPTX
Information technology and mis
PPTX
Introduction to computers for form twe secondary school
Lecture 1- Introduction to Computer..pdf
Introduction to Computer Fundamentals
CS3C - Jonbon Libreja
Data processing and analysis
Components of an information system
Introduction to Computers - Lecture#1 AICT.
Chapter 6
Lecture 1 technology-management_intro
Introduction to Data Science now a days.pptx
UNIT I computing essentials notes f1.pdf
data and information dit1scone
MISCH13.ppt
CAB unit-1.pdf
Foundation Of Information System
U - 2 Emerging.pptx
ch2 DS.pptx
Unit 1 - Computer Introduction - V1.1.pptx
Information technology and mis
Introduction to computers for form twe secondary school
Ad

Recently uploaded (20)

PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Cell Types and Its function , kingdom of life
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Lesson notes of climatology university.
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
Classroom Observation Tools for Teachers
PPTX
Pharma ospi slides which help in ospi learning
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Weekly quiz Compilation Jan -July 25.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Abdominal Access Techniques with Prof. Dr. R K Mishra
Cell Types and Its function , kingdom of life
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
VCE English Exam - Section C Student Revision Booklet
O5-L3 Freight Transport Ops (International) V1.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Yogi Goddess Pres Conference Studio Updates
Anesthesia in Laparoscopic Surgery in India
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
human mycosis Human fungal infections are called human mycosis..pptx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Lesson notes of climatology university.
Computing-Curriculum for Schools in Ghana
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Classroom Observation Tools for Teachers
Pharma ospi slides which help in ospi learning
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Weekly quiz Compilation Jan -July 25.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Ad

1. APPLICATION OF INFORMATION TECHNALOGY_2.pptx

  • 1. APPLICATION OF INFORMATION TECHNALOGY COURSE CODE: ICT 302 ZOOLOGY 3RD SEMESTER CREATED BY: TOHEED REHMAN
  • 2. TOPICS OUTLINE  DATA & INFORMATION  Information Systems (IS):  Information Resources:  Need for Information:  Information Processing:  Digital and Analog Computers  Binary System and Its Application  Arithmetic and Logic Unit (ALU)  Microcomputer (Personal Computer or PC)  Operating System (OS)  Flynn's Classification  Parallel Computing  What are Programming Languages?  Basic Paradigms for the Design of Programming Languages
  • 3. DATA & INFORMATION DATA •Data are facts and figure 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 employees, marks obtained by the students, Student Admission Forms, and CV 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 DataItem. Data is actually the plural form the word “DATUM”. Datum comes from the Latin word and originally meant “Some Thing Given”.  Data may be Qualitative or Quantitative. The data usually nonnumeric 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 numbers of the students in a class are all the examples of Quantitative data.
  • 4. TYPES OF DATA •There are different types of data. 1. Alphabetic Data Type: It consists of letter from A Z capital form or a z small letter. e.g. Ishaq, Mardan, Pakistan, Khan etc. 2. Numeric Data Type: It consists of digit form 0 9 e.g. 123, 567, 256 etc 3. Alphanumeric Data Type: It consists of Alphabetic letters as well as numeric digits. e.g. Street No. A/10, F16, B52 etc. 4. Graphic Data Type: It consists of tables, charts, graphics and statements. 5. Audio Data Type: In consists of only sounds. For example radio news. 6. Video Data Type: _ It consists of photos, image and moving picture. Such as TV News. 7. Mixed Data Type: Mixed data type combine more than one type of data. Such as the combination of audio and video
  • 5. 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 represent 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. Student Merit List is also an example of information.
  • 6. DIFFERENTIATE BETWEEN DATA AND INFORMATION Aspect Data Information Definition A set of raw facts Processed form of data Usage Used as input in the computer Output of the computer Meaning Not meaningful Meaningful Availability Asset of organization; not available for sale Normally available for sale Dependence Independent entity Dependent on data Decision Making Not used in decision making Very important for decisionmaking Frequency of Use Used rarely Used frequently
  • 7. Process form of data called information
  • 8. Information Systems (IS): •Definition: An information system is a set of components that collect, process, store, and disseminate information. It often involves both technology and human activities to support decisionmaking and management in organizations. Core elements:  Hardware: Physical components like computers and networking devices.  Software: Applications and operating systems that perform tasks.  Data: Raw facts and figures that are processed to generate useful information.  People: Users who interact with the system.  Processes: Procedures and rules for collecting and processing information. Information systems help in data management, communication, and supporting operational, tactical, and strategic decision making in organizations.
  • 9. Information Resources: •Definition: Information resources refer to data, knowledge, and other assets that organizations use to manage and execute their operations effectively. These resources include:  Databases: Structured collections of data.  Documentation: Manuals, guides, and reference materials.  Knowledge Repositories: Information used for decisionmaking or innovation,  Human Expertise: Employees who possess specialized knowledge and skills. Effective management of information resources ensures that valuable information is available, secure, and can be easily retrieved and used when needed.
  • 10. Need for Information: •Information is critical for making informed decisions in any organization. The need for information arises from the following:  Decisionmaking: Managers require accurate and timely information to make strategic, tactical, and operational decisions.  Coordination: Information supports communication between different departments, helping streamline processes and ensure consistency.  Problemsolving: Information helps in identifying problems and evaluating solutions.  Control and monitoring: Information systems help monitor performance, detect issues, and ensure adherence to organizational standards. Having access to accurate and relevant information is key to maintaining competitiveness, efficiency, and effectiveness in an organization.
  • 11. Information Processing: •Information processing involves the collection, storage, retrieval, manipulation, and dissemination of data to generate meaningful insights. It includes:  Data Input: Gathering and entering raw data. Processing: Performing calculations, sorting, or organizing data.  Output: Generating reports, visuals, or insights that can be used for decisionmaking.  Storage: Keeping data in a structured format, like databases, for future use.  Transmission: Sending and receiving information via communication networks or systems. Modern technologies like artificial intelligence (Al), machine learning (ML), and data mining enhance the efficiency of information processing.
  • 13. Digital Computers Introduction: Computers, whether digital or analog, are used to process data and perform various computations. However, these two types of computers differ significantly in terms of how they process information. 1. Digital Computers: Digital computers operate using binary numbers (0s and 1s) to represent data. These computers process information in discrete steps and are widely used in today's world for tasks such as calculations, data storage, and executing programs. They are the foundation of modern computing systems. Characteristics:  Data Representation: Digital computers use discrete data, represented by binary digits (bits).  Precision: They are highly accurate and can handle complex calculations with precision.  Speed: Digital computers are fast and can execute millions of instructions per second.  Storage: They have vast storage capacities with different memory types (e.g., RAM, SSD, HDD).  Examples: PCs, laptops, smartphones, and servers.
  • 14. Analog Computers: Analog computers process information represented as continuous signals, often in the form of electrical voltages. These computers are used for simulations, modeling, and solving differential equations where realtime data is continuously changing.  Analog computers are in use for some specific applications, like the flight computer in aircraft, ships, submarines, and some appliances in our daily life such as refrigerator, speedometer, etc.  Example: The Torpedo Data Computer (TDC) is an analog computer that was used in U.S. Navy submarines during World War II to calculate torpedo firing angles and estimate target positions Characteristics:  Data Representation: Analog computers work with continuous data (e.g., electrical signals, fluid pressure, or rotational speeds).  Precision: They are less precise than digital computers because they rely on continuous values, which can be influenced by noise or signal degradation.  Speed: Analog computers process realtime data, making them ideal for timedependent systems.  Storage: Analog computers have minimal storage capability since they deal with continuous inputs. Examples: Early flight simulators, weather prediction machines, and scientific instruments for physical systems.
  • 15. Comparison Aspect Digital Computer Analog Computer Data Representation Discrete (Binary 0s and 1s) Continuous (Analog signals) Accuracy High precision Moderate precision, subject to physical noise Speed Fast (processes discrete steps) Realtime (handles continuous data) Storage Large data storage capabilities Limited to minimal storage Applications Generalpurpose computing (software, apps, etc.) Specialized tasks (physical modeling, simulation) Examples Smartphones, PCs, supercomputers Weather systems, flight simulators
  • 16. Figure 0 1 Analog Computers ‑
  • 17. Binary System and Its Application
  • 18. Binary System: Definition •The binary system is a number system that uses only two digits, 0 and 1, to represent numbers. It is a base2 numeral system, unlike the decimal system, which is base10 and uses digits from 0 to 9. Each digit in a binary number is called a bit, which stands for binary digit. Explanation •The binary system is foundational in computer science and digital electronics because computers use binary to represent data and perform calculations. This is because digital devices have two states: ON (1) and OFF (0), which perfectly aligns with the binary system.
  • 19. How the Binary System Works: • Just as in the decimal system, where the place values are powers of 10 (e.g., 10^2, 10^1, 10^0), the binary system's place values are powers of 2 (e.g., 2^2, 2^1, 2^0). • The rightmost digit in a binary number represents 2^0, the next represents 2^1, then 2^2, and so on. • Example of Binary System: Let's take the binary number 1011 and convert it to its decimal equivalent: Binary number: 1011 Place values: 2^3, 2^2, 2^1, 2^0 (1 × 2^3) + (0 × 2^2) + (1 × 2^1) + (1 × 2^0) (1 × 8) + (0 × 4) + (1 × 2) + (1 × 1) 8 + 0 + 2 + 1 = 11 •So, the binary number 1011 equals 11 in the decimal system.
  • 20. Binary to decimal and Decimal to Binary Example • Example: Convert Binary (1011) to decimal 1.Binary number: 1011 2.Powers of 2: 1 × 2^3 = 8 0 × 2^2 = 0 1 × 2^1 = 2 1 × 2^0 = 1 3.Sum the results: 1. 8 + 0 + 2 + 1 = 11 • Example: Find the binary of Decimal (13) 13 ÷ 2 = 6, remainder = 1 6 ÷ 2 = 3, remainder = 0 3 ÷ 2 = 1, remainder = 1 1 ÷ 2 = 0, remainder = 1 • Now, read the remainders from bottom to top: 1101. • So, the binary representation of 13 is 1101.
  • 21. Practice Questions • Here are a few numbers you can convert to binary as a test: 1. 19 2. 45 3. 27 4. 64 5. 101 • Try converting these binary numbers to decimal: 1. 1100 2. 10001 3. 11101 4. 1010 5. 100000
  • 22. Applications of the Binary System: •1. Computers and Digital Devices: • All computers and digital systems (like smartphones, tablets, and embedded systems) operate on binary data. Every action performed by a computer, whether it’s running software, performing calculations, or accessing memory, relies on binary numbers. • In a computer's memory, data (like text, images, audio) is stored as sequences of bits in binary form. •2. Data Encoding and Transmission: • Binary is used in encoding various types of data, including text, video, and audio files. For instance, each character on a keyboard is assigned a binary number in a system like ASCII (American Standard Code for Information Interchange).
  • 23. Continue… 3. Logic Gates and Circuits: • Digital circuits, such as AND, OR, NOT, etc., are built using binary logic. These circuits form the foundation of more complex computing operations. • Binary arithmetic (addition, subtraction, etc.) is performed in hardware using these gates. 4. Cryptography: • Binary numbers are used in encryption algorithms, such as AES (Advanced Encryption Standard), to secure communication and data. 5. Digital Audio and Video: • In digital media, audio and video signals are converted from analog to digital format using binary numbers. These binary sequences are then processed by devices like media players and computers.
  • 25. Arithmetic and Logic Unit (ALU) The Arithmetic and Logic Unit (ALU) is a crucial component of a computer's Central Processing Unit (CPU). Its primary function is to perform arithmetic operations (such as addition, subtraction, multiplication, and division) and logic operations (such as AND, OR, NOT, and XOR). The ALU handles all the calculations and decision-making processes required to execute instructions provided by a computer program. Key Functions of the ALU:  Arithmetic Operations:  Addition, subtraction, multiplication, and division of integers or binary numbers.  Example: Adding two binary numbers 1010 (10 in decimal) and 0101 (5 in decimal) gives 1111 (15 in decimal).  Logic Operations:  Bitwise operations like AND, OR, NOT, and XOR on binary data.  Example: A bitwise AND between 1101 (13 in decimal) and 1010 (10 in decimal) results in 1000 (8 in decimal).  Shift Operations:  Left and right shifts that move binary data within the CPU, often used for multiplication and division by powers of two.  Example: Shifting 0011 (3 in decimal) left by one position results in 0110 (6 in decimal).  Comparison Operations:  The ALU can compare two numbers and generate results such as "greater than," "less than," or "equal to."
  • 26. How the ALU Works: The ALU operates based on input data (operands) and a set of control signals that determine which operation to perform. It receives data from the CPU’s registers (small storage locations) and performs the required calculation or logic operation. Once the operation is complete, the ALU sends the result back to the CPU for further processing or storage. Example in Action: When a program instructs the computer to calculate 2 + 3, the ALU: 1.Receives the numbers (in binary form: 0010 and 0011) from the CPU’s registers. 2.Performs the addition operation. 3.Sends back the result (binary 0101, which is 5 in decimal) to the CPU.
  • 29. Microcomputer (Personal Computer or PC) • Definition: These are general-purpose computers intended for individual use. They include desktop and laptop computers. • Example: A typical desktop computer or laptop like the Apple MacBook or Dell XPS.
  • 30. Continue… A microcomputer in ICT is a small computer made up of several parts that work together: 1. CPU (Central Processing Unit): The part that does all the thinking and makes decisions. 2. Memory: RAM helps the computer remember things while it's on, and ROM stores important instructions permanently. 3. Input/Output Devices: Things like keyboards and screens that let you talk to the computer and see what it’s doing. 4. Storage: Hard drives or SSDs save your files and programs for future use. 5. Motherboard: The main board where all the parts connect and communicate. 6. Power Supply: Provides electricity to make everything work. 7. Bus: The roads that carry data between different parts of the computer. 8. Clock: Keeps everything running on time. 9. Operating System: The software that helps the computer run and allows you to use programs. 10. Network Interface: Lets the computer connect to the internet or other devices. Microcomputers are found in laptops, tablets, phones, and many smart devices. They are designed to be small, powerful, and able to connect to the internet.
  • 32. What is an Operating System (OS)? • An Operating System (OS) is software that acts as an intermediary between computer hardware and the user. It manages hardware resources and provides an environment for running applications. The OS handles essential tasks like memory management, task scheduling, input/output processing, and file management.
  • 33. Role and Functions of an Operating System 1.Resource Management: • The OS manages the hardware resources of the computer, such as the CPU, memory, storage, and input/output devices. It ensures that all applications have access to the resources they need without conflicts. 2.Process Management: • The OS handles the creation, scheduling, and termination of processes (programs in execution). It allocates CPU time and manages multitasking to ensure efficient use of the processor. 3.Memory Management: • The OS controls the system's memory and allocates it to different processes. It ensures that each process has enough memory to run while preventing one process from interfering with another. 4.File System Management: • The OS manages the organization, storage, retrieval, and deletion of data on storage devices. It provides file systems that define how data is structured and accessed, ensuring data integrity and security.
  • 34. Continue… 5. Device Management: • The OS manages communication between the computer and its peripherals (e.g., printers, monitors, keyboards). It uses device drivers to interface with the hardware and ensures smooth data transfer. 6.Security and Access Control: • The OS enforces security measures to protect data and system resources. It controls user access to files and applications, ensuring that unauthorized users cannot harm the system or access sensitive data. 7.User Interface (UI): • The OS provides a user interface, such as a command-line interface (CLI) or graphical user interface (GUI), allowing users to interact with the system and manage files, programs, and settings. 8.Networking: • Modern operating systems support networking capabilities, enabling computers to communicate over local and global networks. They manage network resources, such as IP addresses and protocols, to facilitate data exchange.
  • 36. Key Operating System Concepts 1.Process: • A process is a program in execution, including its code, data, and system resources. The OS manages processes, enabling multitasking by switching between them efficiently. 2.Threads: • A thread is a smaller unit of a process. A process can have multiple threads, each performing different tasks concurrently, while sharing the same resources (memory, files). The OS handles thread scheduling and execution. 3.Concurrency and Parallelism: 1. Concurrency refers to the ability of an OS to manage multiple processes (or threads) seemingly simultaneously, switching between them frequently. 2. Parallelism occurs when multiple processes or threads are executed at the same time on different processors or cores. 4.Memory Management: • The OS allocates and deallocates memory space as needed by programs. It tracks which parts of memory are in use and optimizes memory usage through techniques like paging and segmentation.
  • 37. Continue… 5. Virtual Memory: • Virtual memory allows the OS to use hard disk space as an extension of the system's RAM, enabling large programs to run even when physical memory is insufficient. It provides an abstraction of unlimited memory for applications. 6.File Systems: • The OS provides a file system to organize and manage data stored on disks. Files are stored in directories (or folders), and the file system ensures data access, modification, and security. 7.Process Scheduling: • Scheduling determines which process gets to use the CPU and for how long. Scheduling algorithms, like First Come First Serve (FCFS), Round Robin (RR), and Shortest Job First (SJF), balance the load on the system and optimize performance. 8.Input/Output (I/O) Management: • The OS manages communication between the system and external devices (e.g., printers, keyboards). It handles I/O requests, prioritizes them, and ensures smooth data exchange through device drivers and buffers. 9.Deadlock: • A deadlock occurs when two or more processes are waiting for each other to release resources, causing all to halt. The OS implements strategies for deadlock prevention, detection, or recovery to resolve such conflicts.
  • 39. Types 1. Batch Operating System 2. Time-Sharing Operating System 3. Distributed Operating System 4. Network Operating System (NOS) 5. Real-Time Operating System (RTOS) 6. Multiprogramming Operating System 7. Multiprocessing Operating System 8. Embedded Operating System 9. Mobile Operating System 10. Single-User Operating System 11. Multi-User Operating System
  • 40. Types of Operating Systems 1. Batch Operating System: 1. In batch operating systems, similar jobs are grouped together and processed without user interaction. The OS executes one job after another, without multitasking. Early computers used this system to manage jobs in a queue. 2. Example: IBM OS/360. 2. Time-Sharing Operating System: 1. Time-sharing systems allow multiple users to use the computer simultaneously. The OS divides the CPU time into small time slots and allocates each slot to a different user or process. This creates the illusion of parallelism. 2. Example: UNIX. 3. Distributed Operating System: 1. Distributed operating systems manage a group of independent computers (connected via a network) to appear as a single cohesive system. Tasks are distributed among multiple machines, improving performance and resource sharing. 2. Example: Google’s OS for data centers, Amoeba.
  • 41. Continue… 4. Network Operating System (NOS): 1. A network operating system allows computers to communicate over a network. It provides services like file sharing, printer access, and security for multiple devices in a networked environment. 2. Example: Microsoft Windows Server, Novell NetWare. 5.Real-Time Operating System (RTOS): 1. Real-time operating systems are designed to process data and execute tasks within strict time constraints. They are commonly used in systems where timely execution is critical, such as embedded systems, robotics, and industrial automation. 2. Example: VxWorks, QNX. 6.Multiprogramming Operating System: 1. In a multiprogramming system, multiple programs run simultaneously by utilizing the system’s resources effectively. The OS keeps several programs in memory at the same time, switching between them to maximize CPU usage. 2. Example: IBM's OS/390.
  • 42. Continue… 7. Multiprocessing Operating System: 1. Multiprocessing systems use two or more processors to execute multiple processes at the same time. The OS ensures that tasks are distributed across the processors for parallel execution. 2. Example: Linux, Windows (on multi-core systems). 8.Embedded Operating System: 1. Embedded operating systems are designed to manage hardware and software for embedded devices like smartphones, smart TVs, and IoT devices. These systems are highly specialized and optimized for specific tasks. 2. Example: Android (for smartphones), iOS, Windows CE. 9.Mobile Operating System: 1. Mobile operating systems are designed for smartphones and tablets, optimized for touch-based interaction, portability, and power efficiency. They provide mobile-specific services like location tracking, app stores, and wireless connectivity. 2. Example: Android, iOS.
  • 43. Continue… 10. Single-User Operating System: 1. Single-user operating systems allow only one user to use the system at a time. These systems are designed for personal computers where a single user interacts with the machine, running applications and managing files. 2. Example: Windows 10, macOS. 3. Key Features: 1. Only one user can interact with the system at a time. 2. Simple and user-friendly interface. 3. Ideal for personal computing. 11. Multi-User Operating System: 1. A multi-user operating system allows multiple users to access a system concurrently. This is often used in mainframe and server environments where many users need to share system resources. 2. Example: UNIX, Linux. 3. Key Features: 1. Manages multiple users’ access to the same system. 2. Allocates resources efficiently to each user. 3. Provides security and isolation between users.
  • 45. Flynn's Classification • 1. SISD (Single Instruction, Single Data) • Instruction Stream: In SISD, there is only one instruction stream, meaning the processor fetches and executes one instruction at a time. There is no parallelism—everything happens sequentially. Instructions are processed one after the other in a linear flow. • Data Stream: The instruction operates on one piece of data at a time. Each instruction manipulates a single data element • (e.g., adding two numbers, accessing a memory location) before moving to the next instruction and data. • 2. SIMD (Single Instruction, Multiple Data) • Instruction Stream: SIMD executes one instruction but applies it across multiple processing units (or data streams) simultaneously. This means the same operation (e.g., multiplication, addition) is performed on different data points at the same time. • Data Stream: SIMD works on multiple data items at once. • For example, if the instruction is to add two numbers, it could add multiple pairs of numbers in parallel.
  • 46. CONTINUE… 3. MISD (Multiple Instruction, Single Data) • Instruction Stream: MISD systems execute multiple different instructions at the same time, but these instructions operate on the same data stream. • Data Stream: The same data item is processed by all the instructions simultaneously. • Example: Error Checking: A critical system (e.g., an aircraft control system) might process the same data (e.g., sensor input) with different algorithms to verify that the results match or to detect • One instruction might check for signal integrity. • Another might filter noise from the same data. 4. MIMD (Multiple Instruction, Multiple Data) • Instruction Stream: In MIMD, multiple processors work on different instructions at the same time. Each processor or core runs its own sequence of instructions independently. • Data Stream: Each processor or core also works on its own data stream, meaning different data is being processed by different instructions.
  • 47. Example for MIMD Imagine you have a multi-core processor (e.g., a CPU with four cores) that needs to perform different tasks at the same time. Each core works on a different operation using its own data: •Core 1: Adds two numbers → 5 + 3 = 8 •Core 2: Subtracts two numbers → 10 - 4 = 6 •Core 3: Multiplies two numbers → 2 * 3 = 6 •Core 4: Divides two numbers → 20 / 5 = 4 •Each core (processor) executes a different instruction. •Each core works on its own data independently of the others. This demonstrates the MIMD system, where: •Core 1 runs the addition instruction on its own data. •Core 2 runs the subtraction instruction on different data. •Core 3 runs the multiplication instruction on yet another set of data. •Core 4 runs the division instruction on its own data. All of these tasks are happening simultaneously and independently.
  • 49. Parallel Computing 1. General-Purpose Architectures: a) Synchronous Parallel Architectures b) Dataflow Architectures c) Pipeline Architectures 2. Special-Purpose Architectures: 1. Asynchronous architectures 1. Bus Architecture 2. Switch-Based Architecture 2. Systolic Architecture
  • 50. Parallel Computing • Parallel computing refers to the process of using multiple processors or computers to execute different parts of a computation or multiple computations simultaneously. The primary aim is to improve performance by dividing large problems into smaller sub-problems and solving them concurrently. • In traditional serial computing, tasks are performed one at a time. However, in parallel computing, multiple tasks are executed at the same time, significantly speeding up the overall process.
  • 51. Architecture of Parallel Computing • Parallel computing architectures define how processors are organized and communicate with each other to work on tasks simultaneously. These architectures can be classified into two main categories: 1.General-Purpose Architectures: Designed for a wide variety of computing tasks. They are versatile and can be used for multiple applications. 2.Special-Purpose Architectures: Tailored for specific applications or tasks. These are optimized for particular types of computations and are more efficient for those tasks but not as flexible as general- purpose architectures.
  • 52. 1. General-Purpose Parallel Computing Architectures These architectures are designed to handle a wide variety of tasks and are typically found in multi-core processors, distributed systems, and general-purpose computing platforms. a. Synchronous Parallel Architectures •In a synchronous parallel system, all processors operate in lock-step, meaning they are coordinated to run in synchronization, performing tasks at the same time. •Example: SIMD (Single Instruction, Multiple Data) architectures like GPUs, where the same instruction is executed on different data points simultaneously.
  • 53. b. Dataflow Architectures •Dataflow in computer architecture refers to the movement of data between different components of a computer system, typically involving the processing units and memory. Dataflow architectures are designed to enable high performance by allowing instructions to execute as soon as their operands are available, rather than waiting for the entire instruction sequence to be ready. •Example: x*y + z
  • 54. c. Pipeline Architectures • Pipelining • involves breaking a task into multiple stages, where each stage performs part of the work, and data flows through these stages in a pipeline. Different stages of the pipeline work on different parts of the data simultaneously. • Example: • Modern CPUs and GPUs use pipelining to execute multiple instructions in parallel by dividing the work across different stages (fetching, decoding, operate, executing, etc.). • Pipeline Use Case: • Assembly-line style execution, like processing video frames where each frame passes through multiple processing stages (color correction, rendering, etc.).
  • 55. 2. Specific-Purpose Parallel Computing Architectures a. Asynchronous architectures a. Asynchronous architectures are systems where components communicate and process data without relying on a global clock signal. This means that the components can operate independently, responding to events or signals rather than waiting for a synchronized time to act. Here’s a breakdown of two common types of asynchronous architectures: Bus and Switch. 1. Bus 2. Switch
  • 56. Continue… 1. Bus Architecture: • Processors and Memory Modules are connected via a shared bus. • The bus enables communication between processors (P1, P2, Pn) and memory units (M1, M2, Mn). • Interconnection: This is a shared connection between processors and memory modules. All processors share the same bus to communicate with memory. • Shared Bus: In this architecture, all processors use the same communication pathway to access memory modules, which can create bottlenecks(Blockage) because only one communication can occur on the bus at a time. This is why it's asynchronous—the communication is not always simultaneous; it happens sequentially over the bus. • Key points: • Limited scalability: As more processors are added, bus contention can occur, leading to delays. • Simple implementation: The bus design is simpler and easier to implement but not suitable for high- performance systems with many processors.
  • 57. Bus Flowchart (work on Shared Memory)
  • 58. Continue… 2. Switch-Based Architecture: • Switches: These allow multiple communications to occur simultaneously. For example, P1 can communicate with M1 while P2 communicates with M2, and so on. • Key points: • Higher scalability: Multiple connections can be made at the same time, improving performance as the number of processors increases. • Complexity: This architecture is more complex to design and implement compared to the bus system, but it provides much better performance for larger systems.
  • 60. Count in Special Architecture… b. Systolic Architecture b. Systolic Architecture in parallel computing is a specialized, efficient form of parallel data processing. It involves a network of processors (or cells) that rhythmically compute and pass data through the system. Each processor performs a small computation and passes its result to neighboring processors in a synchronous manner, creating a pipeline of computation. This type of architecture is particularly suited for tasks that involve regular, repetitive computations such as matrix multiplication, convolution operations in signal processing, and other linear algebra problems.
  • 62. Comparison of General-Purpose and Special-Purpose Architectures Feature General-Purpose Special-Purpose Flexibility Versatile, can handle a variety of tasks. Optimized for specific tasks or applications. Synchronization Synchronous or dataflow approaches. Often asynchronous, allowing more flexibility. Pipeline Common in general-purpose CPUs and GPUs. Less common, usually replaced by systolic architectures. Performance General-purpose performance for many tasks. High performance for specific applications. Examples Multi-core processors, GPUs. Neural network accelerators, DSPs (Digital Signal Processors).
  • 63. Comparison Table: (Shared vs Distributed Memory) Feature Shared Memory Distributed Memory Memory Access All processors access the same memory Each processor has its own memory Communication Implicit (via shared variables) Explicit (message passing) Synchronization Requires mechanisms like locks/semaphores Handled by message-passing libraries like MPI Latency Lower for shared memory Higher for accessing remote memory Scalability Limited due to memory contention More scalable, supports large systems Programming Difficulty Easier to program and manage memory More complex, requires managing communication System Examples Multicore CPUs, SMP systems Cluster computing, supercomputers Typical Use Cases Small to medium-sized systems Large-scale systems like clusters
  • 64. What are Programming Languages?
  • 65. What is Programming? • Programming is the process of writing instructions that a computer can understand and execute. These instructions, known as code, tell the computer how to perform specific tasks or solve problems. Programmers use various tools, logic, and programming languages to create software, apps, websites, and more. The goal is to develop efficient and effective solutions to perform automated tasks or complex calculations. • What is a Language? • A language is a system of communication consisting of symbols, words, and rules that allow people to express thoughts and ideas. In the context of computers, a programming language provides a way for humans to communicate instructions to machines.
  • 66. What are Programming Languages? • Programming languages are formal languages used to write code that instructs computers on what to do. Each programming language has its syntax (rules) and semantics (meaning), which define how instructions should be written and interpreted by a computer. • Examples of popular programming languages include: • Python: Known for its simplicity and readability. • Java: Widely used in enterprise applications. • C++: Known for its performance and use in systems programming. • JavaScript: Primarily used for web development.etc • Programming languages enable developers to write software for various purposes, from automating simple tasks to creating complex systems like operating systems or mobile apps.
  • 67. Main Types of Programming Languages: 1.Low-Level Languages: Machine and Assembly. 2.High-Level Languages: Procedural, Object-Oriented, Functional, Scripting, Logic. 3.Markup Languages: HTML, XML. 4.Domain-Specific Languages: SQL, Verilog, MATLAB. • Each type of language serves a different purpose, from direct hardware control to high-level software design.
  • 69. Basic Paradigms for the Design of Programming Languages
  • 70. Basic Paradigms for the Design of Programming Languages • A programming paradigm is a style or approach to programming, defining the way programs are organized and executed. Different paradigms offer distinct ways to think about how to structure and solve problems using a programming language. Here are the basic paradigms for the design of programming languages:
  • 71. Basic Paradigms for the Design of Programming Languages include: 1. Imperative Programming Paradigm • Focuses on how to solve a problem by specifying steps to execute. • Code consists of sequential instructions that change the program's state. • Includes loops, conditionals, and variables. • Provides fine control over hardware resources. • Examples: C, Java, Python (imperative style). 2. Procedural Programming Paradigm (a subset of Imperative) • Breaks programs into smaller units called procedures or functions. • Promotes code reuse and modular design. • Procedures perform specific tasks and can be reused throughout the program. • Variables can be global or local to procedures. • Examples: C, Pascal, Fortran.
  • 72. Continue… 3. Object-Oriented Programming (OOP) Paradigm • Organizes code around objects (data) and methods (functions). • Emphasizes code reusability, modularity, and organization. • Key Concepts: • Encapsulation: Bundling data and methods inside objects. • Inheritance: Creating new classes based on existing ones. • Polymorphism: Using a single interface for different data types. • Abstraction: Hiding complex details and exposing only necessary parts. • Examples: Java, Python, C++.
  • 73. Continue… 4. Functional Programming Paradigm • Focuses on what to compute, not how. • Treats computation as the evaluation of functions. • Key Features: • Functions are treated as first-class citizens (can be passed around as values). • Avoids mutable state and side effects (immutable data). • Encourages recursion over loops. • Ideal for parallel processing and concurrency. • Examples: Haskell, Lisp, Erlang, Scala.
  • 74. Continue… 5. Logic Programming Paradigm • Based on formal logic and rule-based problem solving. • Programs consist of facts and rules. • Solutions are inferred by the logic engine using the provided facts and rules. • Declarative: Focuses on what needs to be achieved, not how. • Commonly used in AI and expert systems. • Examples: Prolog, Datalog. 6. Declarative Programming Paradigm • Specifies what needs to be done, without defining how it should be done. • Describes the desired outcome or logic rather than control flow. • Focuses on describing logic and constraints. • Common in database queries and UI markup. • Examples: SQL (for databases), HTML (for web structure), XAML.
  • 75. Contine… 7. Event-Driven Programming Paradigm • Code execution is triggered by events such as user actions (clicks, key presses). • Frequently used in applications with graphical user interfaces (GUIs). • Event Handlers respond to specific events and perform actions. • Supports asynchronous programming (tasks occur when triggered by events). • Examples: JavaScript, C# (for Windows apps), Python (with event- driven libraries).