3.1.
Introduction to Software, program
Unit-3 3.2 Types of Software (System and Application)
Computer 3.3. Operating System (Function and types)
3.4. Utility Software, Virus and Antivirus Software
Software 3.5. Programming language and Types of language Translator
1
Introduction
➢ Computer software is a collection of programs and related data that tell a
computer what to do and how to do it.
➢ It acts as a bridge between the hardware (physical devices) and users, enabling the
computer to perform tasks.
➢ A computer cannot work by itself—it must be given instructions in a format it can
understand.
➢ When these instructions are designed and stored in a computer-readable form, they
are called programs.
➢ Software = Programs + Procedures + Algorithms + Documentation used to
operate a computer system.
2
Introduction
➢ Software can be stored in secondary storage and used whenever needed.
➢ It may work by directly controlling the hardware or by serving as input to other
software.
➢ The term software was introduced to contrast with hardware, because unlike
hardware, software is intangible—it cannot be touched.
➢ Sometimes software is referred to more narrowly as application software, but it can
also include various types of data, even those not originally computer-based (like films
or tapes).
3
What is a Program?
A program is a set of instructions written in a programming language to perform a specific task.
It tells the computer step-by-step what to do.
It is stored as code.
Examples:
Calculator program
Game logic code
Code inside MS Word
Login system program
4
Difference Between Software and Hardware
▪ Hardware ▪ Software
▪ Physical parts of a computer ▪ Set of instructions/programs
▪ Can be touched ▪ Cannot be touched
▪ Examples: Windows, Chrome,
▪ Examples: Mouse, CPU, RAM
Antivirus
▪ Fails due to wear & tear ▪ Fails due to bugs or corruption
▪ Cannot work without software ▪ Cannot work without hardware
5
Relationship Between Software, Program, and
Instructions
Instructions → Single commands (e.g., Add, Print, Store value)
Program → Collection of many instructions working together
Software → Collection of programs + data + configuration
Hierarchy: Instructions → Program → Software
Example:
MS Word → Software
Spell check, save feature → Programs inside MS Word
Each program contains hundreds of instructions
6
Why is Software Called “Soft”?
Software is called “soft” because:
➢It is changeable
➢Can be updated, modified, or improved
➢Does not wear out physically
➢Bugs can be fixed through patches
➢New features can be added anytime
Example:
➢Windows Update
➢App Version Upgrade
➢Game patch 1.2 → fixes performance issues
7
Types of Software
Software includes all forms of digitally stored data used by
a computer—whether as CPU instructions or other
information. It can be created using programming
languages, scripts, microcode, or FPGA configurations.
Practical computer systems categorize software into two
major types:
➢System Software
➢Application Software
8
Introduction to System Software
➢ System software is the foundation of all computer operations.
➢ System software is a set of programs that manage hardware and provide a base for
applications.
➢ It ensures smooth communication between user application hardware.
➢ It works in the background, not directly visible to users.
Types of System Software
➢ Operating Systems (OS)
➢ Device Drivers
➢ Firmware
➢ Utility Softwares
9
a. Operating System (OS)
An operating system is the most important system software. It manages hardware resources
and provides services for application programs. Examples: Windows, macOS, Linux, Android,
iOS.
Functions of an Operating System
▪ Process management (running programs)
▪ Memory management
▪ File management
▪ Device management
▪ Security and user authentication
▪ Networking
▪ User interface (GUI/CLI)
10
b. Device Drivers
▪ Device driver is a small program that helps the OS communicate with hardware. Without
drivers, hardware cannot function.
▪ Device Driver Examples: Printer driver, Graphics card driver, Sound driver, Keyboard/mouse
driver, USB driver
Why Drivers Are Needed:
➢ Every device speaks a different "hardware language."
➢ Drivers translate OS commands into hardware actions.
11
c. Firmware
Firmware is permanent software stored on hardware (non-volatile memory). It controls basic
functions of hardware devices.
Examples: BIOS/UEFI, router firmware, embedded systems.
Firmware Characteristics
➢Stored in ROM/Flash memory
➢Cannot be changed easily
➢Needed for device startup and core operations
➢More stable but less flexible than OS-level software
Examples of Firmware
BIOS/UEFI in computers, Firmware in routers, Firmware in washing machines, TVs, remote controls,
Mobile bootloader
12
Application Software
Application software enables users to perform specific tasks using a computer.
Examples:
➢Word processors – MS Word, WordPerfect
➢Spreadsheets – MS Excel, Quattro Pro
➢Databases – MS Access, Oracle, Paradox
➢Other apps – Browsers, Games, Media Players, Accounting Systems
Key Points:
➢Applications work on top of the operating system.
➢They solve real-world problems (e.g., text writing, calculations, data management).
➢Users do not need computer science knowledge; they only need domain knowledge (e.g.,
accounting, office work, education).
13
Operating System
Definition: Operating System (OS) is system software that acts as an intermediary between user
and computer hardware.
Main Goals of OS
▪ Make computer easy & convenient to use
▪ Use hardware efficiently
▪ Examples: Windows 11, Android, Linux, macOS, iOS
14
Major Functions of OS
Function What it Does
Processor Management (CPU Scheduling) Allocates CPU to processes
Memory Management (RAM + Virtual Memory) Tracks free/used memory, Virtual memory
Device I/O Management (Printers, USB, etc.) Controls hardware via drivers
File Management (Create, delete, organize files) Organizes files & folders
Security & User Interface (Login, permissions,
Authentication, permissions, GUI/CUI
GUI/CUI)
15
Types of Operating Systems
Classification – 1: By Number of Users
Single-user → One user at a time (Windows Home, MS-DOS)
Multi-user → Many users simultaneously (Linux servers, Unix)
Classification – 2: By Tasks
Single-tasking → One program at a time (MS-DOS)
Multitasking → Many programs together (Windows, macOS)
16
Types of OS
Multi-user OS:
▪Multi-user operating systems allow two or more users to run program at the same time.
Examples are MVS, UNIX etc. Another term for multi user is time sharing.
Multi-processing OS:
▪Multi-processing refers to a computer system’s ability to support more than one process
(program) at the same time.
▪Multi-processing operating systems enable several programs to run concurrently. MVS and UNIX
are two of the most widely used multi processing systems, but there are many others including
OS/2 for high-end PCs.
▪Multi-processing also refers to the utilization of multiple CPUs in a single computer systems. This
is also called parallel processing.
17
Multi-tasking OS:
▪This allows more than one program to run concurrently. It is the ability to execute more than
one task at the same time (a task being a program).
▪The terms multi tasking and multi-processing are often use interchangeably, although
multiprocessing some times implies that more than one CPU is involved.
▪In multitasking only one CPU is involved but it switches from one program to another so quickly
that it gives the appearance of executing all the programs at the same time.
18
Real time operating systems (RTOS):
▪These are the OS that responds to input immediately. This category includes operating systems
designed substantially for the purpose of controlling and monitoring external activities with
timing constrains.
▪They are used for such tasks as navigation, in which the computer must react to a steady flow of
new information without interruption.
▪Most general purpose operating system like, windows or UNIX are not real time because they
can take a few seconds or even minutes to react.
▪Examples for RTOS are BLMX from national semi-conductors, CCP from IBM, FADOS etc.
19
Types of Operating Systems
3. By Processing Method
Batch OS → Jobs collected & run without user interaction (Old payroll systems)
Time-sharing OS → Multiple users share CPU time (Unix, Linux)
Real-time OS (RTOS) → Strict timing
➢Hard RTOS (Aircraft flight control, car airbags, medical devices): Missing deadline = failure
➢Soft RTOS (YouTube streaming, online gaming): Missing deadline = quality drop
Distributed OS → Many computers work as one (Cloud systems)
20
GUI vs CUI
GRAPHICAL USER INTERFACE (GUI) COMMAND LINE INTERFACE (CUI / CLI)
▪ Icons, windows, menus ▪ Text commands only
▪ Mouse / touch based ▪ Very fast for experts
▪ Beginner friendly ▪ Low resource usage
▪ Higher resource usage ▪ Used on servers & scripting
▪ Examples: Windows Explorer, macOS Finder, ▪ Examples: Windows → cmd / PowerShell
Android home screen
Linux/macOS → Terminal (bash, zsh)
21
Utility Software
Definition: Utility Software is a type of system software designed to help analyze, configure,
optimize, maintain and protect the computer system.
It is not part of the operating system but works closely with it.
Utility Purpose Example Tools
Disk Cleanup Delete unnecessary files CCleaner, Windows Disk Cleanup
Backup Save copies of data Windows Backup, Acronis
Compression Reduce file size WinZip, 7-Zip, WinRAR
Disk Defragmenter Optimize hard disk performance Defraggler, Windows Defrag
Antivirus Detect & remove viruses Avast, Norton, Quick Heal
22
Malware
Malware (short for malicious software) is any program designed to harm, exploit, or gain
unauthorized access to computer systems. Malware can affect computers, mobile devices, and
networks.
Types of Malware:
1. Virus 7. Rootkit
2. Worm 8. Keylogger
3. Trojan Horse (Trojan) 9. Botnet / Bots
4. Ransomware 10. Logic Bomb
5. Spyware 11. Fileless Malware
6. Adware 12. Scareware
23
Computer Virus
▪ A computer virus is a malicious software program designed to infect a computer, replicate
itself, and spread to other files, programs, or devices—much like a biological virus spreads
between living organisms.
▪ When the infected program runs, the virus activates, causing harmful actions such as deleting
data, slowing down systems, corrupting files, or giving unauthorized access to hackers.
Key Characteristics
▪ Self-replicating: Copies itself into other files or systems.
▪ Requires a host: Usually attaches to programs, documents, or boot sectors.
▪ Activates when triggered: Runs when the infected program is opened.
▪ Spreads across systems: Through USB drives, email attachments, downloads, networks, etc.
24
Common Types of Computer Viruses
File Infector Virus – infects executable (.exe) files.
Macro Virus – spreads through Office files (.doc, .xls).
Boot Sector Virus – infects the system’s boot sector.
Polymorphic Virus – changes its code to avoid detection.
Multipartite Virus – infects multiple parts of a system (files + boot)
25
Protection Against Viruses
Use updated antivirus software
Avoid opening unknown email attachments
Download software only from trusted sources
Regularly update your OS and apps
Do not plug in unknown USB drives
Keep firewalls enabled
Backup important data
26
2. Worm
A worm is a type of malware that can self-replicate and spread independently across
computers and networks without needing a host file or human intervention.
Key Points about Worms:
▪ Self-replicating: Can copy itself to other systems automatically.
▪ No host required: Unlike viruses, worms are standalone programs.
▪ Spreads through networks: Often via email, network shares, or internet vulnerabilities.
▪ Effects: Can slow down networks, delete files, crash systems, or create backdoors for hackers.
▪ Examples: Code Red, Conficker, ILOVEYOU (worm variant).
27
3. Trojan Horse
A Trojan Horse (or Trojan) is a type of malware that disguises itself as a legitimate or useful
program to trick users into installing it.
Key Points about Trojans:
▪ Disguised as legitimate software: Appears harmless, like a game, utility, or document.
▪ Does not self-replicate: Unlike viruses or worms, it cannot spread on its own.
▪ Used for malicious purposes: Steals data, installs backdoors, gives remote access to attackers,
or downloads other malware.
▪ Effects: Data theft, system compromise, unauthorized access.
▪ Examples: Zeus, Emotet, FakeAV.
28
4. Ransomware
Ransomware is a type of malware that locks or encrypts a user’s files or entire system and demands a
ransom payment to restore access.
How it Works:
➢Infects the system via email attachments, malicious downloads, or vulnerabilities.
➢Encrypts files or locks the system.
➢Displays a ransom note demanding payment (usually in cryptocurrency) to unlock the data.
Effects:
➢Loss of access to files or systems and Potential permanent data loss if ransom is not paid.
Spread Methods: Phishing emails with malicious attachments and unpatched software vulnerabilities and
Malicious websites or downloads
Examples:
➢WannaCry (2017): Spread through Windows SMB vulnerability, affected hundreds of thousands
worldwide, CryptoLocker (2013): Encrypted files and demanded ransom via Bitcoin, Ryuk, REvil:
Targeted organizations and hospitals.
29
5. Rootkit
A rootkit is a type of malware designed to hide itself and other malicious programs on a computer, giving an
attacker unauthorized access while remaining undetected.
Purpose: Maintain stealthy access to a system without the user’s knowledge.
How it Works:
➢ Installs itself deep in the system (kernel level, firmware, or boot sector) and hides files, processes, and network connections. It
allows attackers to remotely control the system, install other malware, or steal data.
Effects:
➢ Unauthorized access to sensitive information.
➢ System performance issues.
➢ Hard to detect or remove because traditional antivirus may not see it.
Spread Methods: Bundled with other malware (like Trojans) and Malicious downloads or infected devices.
Examples: Sony BMG Rootkit: Installed on music CDs to prevent copying., Stuxnet Components: Used rootkit
techniques to hide malicious activity on industrial systems.
30
6. Botnet / Bots
A bot is a computer infected with malware that allows an attacker to remotely control it.
A botnet is a network of many such infected computers controlled by a single attacker (called a botmaster).
Key Points
▪ Used to launch DDoS attacks, send spam, steal data, or mine cryptocurrency.
▪ Infected systems act like “zombies,” following commands silently.
▪ Often spread through Trojans, worms, or phishing emails.
7. Logic Bomb
A logic bomb is malicious code that stays hidden inside a system and triggers only when a specific condition is
met.
Key Points
▪ Trigger conditions can be a date, time, or an event (e.g., a user logging in).
▪ When triggered, it can delete files, crash systems, or corrupt data.
▪ Often inserted by insiders (employees) with access.
31
8. Fileless Malware
Fileless malware operates without creating traditional files on the hard drive.
Key Points
• Runs directly in memory (RAM), making it difficult to detect.
• Uses built-in system tools like PowerShell or WMI to perform malicious
actions.
• Harder to trace because it leaves almost no footprint on the system.
9. Scareware
Scareware is malware that scares users with fake warnings to trick them into
downloading unnecessary or malicious software.
Key Points
• Shows fake virus alerts or system errors.
• Tricks users into buying “fake antivirus” or granting access.
• Often installs more malware once the user panics and clicks
32
Malware Type Key Feature Main Effect Example
Virus Needs host file File corruption ILOVEYOU
Worm Self-replicating Network congestion Code Red
Trojan Disguised as legit software Data theft/backdoor Zeus
Ransomware Encrypts files Financial loss WannaCry
Spyware Secret monitoring Privacy invasion CoolWebSearch
Adware Displays ads System slowdown Fireball
Rootkit Hides malware Unauthorized access Sony BMG rootkit
Keylogger Records keystrokes Data theft Ardamax
Botnet Remote control network DDoS/spam Mirai
Logic Bomb Trigger-based System disruption CIH virus
Fileless Runs in memory Stealth attacks Astaroth
Scareware Fake alerts Financial loss SpySheriff
33
Protection Measure
Protection Measure Purpose
Antivirus Software Detect and remove malware
System Updates Close security vulnerabilities
Safe Email Practices Prevent malware from phishing emails
Trusted Downloads Avoid infected software
Firewalls Block unauthorized access
Regular Backups Restore data after attacks
Avoid Unknown Devices Prevent spread from USBs/external drives
Safe Browsing Prevent visiting malware sites
Strong Passwords & 2FA Protect accounts from compromise
User Education Recognize and avoid malware threats
34
Antivirus Software
Antivirus software is a program designed to detect, prevent, and remove malicious software
(malware) such as viruses, worms, trojans, ransomware, and spyware.
Its main functions include:
▪ Scanning files and programs for known malware signatures.
▪ Real-time protection — monitors your system continuously to block threats.
▪ Quarantine or removal — isolates or deletes infected files.
▪ System performance monitoring — some antivirus also optimize your system or provide
extra security features like firewalls, safe browsing, and email protection.
Examples of Antivirus Software: Quick Heal , Norton, Avast ,Windows Defender (Microsoft
Defender Antivirus)
35
Antivirus vs Anti-malware
Feature Antivirus Anti-malware
Detects a broader range of
Detects and removes traditional malware including trojans,
Primary focus
viruses worms, spyware, ransomware,
adware
Wider scope; modern threats like
Scope Limited to virus-type threats zero-day malware, spyware,
ransomware
Signature + behavior-based
Method Signature-based detection
detection
Example Quick Heal, Norton, Avast Malwarebytes, HitmanPro
36
Programming language and Types of
language Translator
Programming Language
A programming language is a formal language used to write instructions (programs) that a computer
can understand and execute.
It allows programmers to communicate with computers to solve problems, process data, and control
hardware.
Characteristics
▪ Uses syntax (rules) and semantics (meaning)
▪ Human-readable but machine-executable (after translation)
▪ Helps in problem solving and automation
Examples
➢C, C++, Java, Python
➢JavaScript, PHP
➢Assembly language
37
Types of Programming Languages
1. Machine Language
▪ Written in binary (0s and 1s)
▪ Directly understood by the computer
▪ Very fast but difficult for humans
▪ Machine-dependent
2. Assembly Language
▪ Uses mnemonics (ADD, SUB, MOV)
▪ Easier than machine language
▪ Requires a translator (assembler)
▪ Machine-dependent
38
Aspect Machine Language Assembly Language
Form Binary (0s and 1s) Symbolic mnemonics
Types of Programming Languages Second Generation
Generation First Generation (1GL)
(2GL)
Readability Extremely difficult Relatively easier
Translator Not required Requires assembler
Portability Machine-specific Machine-specific
Execution Fastest Fastest (after assembly)
Writing Very difficult Comparatively easier
Debugging Nearly impossible Easier with tools
Addressing Numeric addresses Symbolic labels
Comments Not supported Supported
Example 10110000 00000101 MOV AL, 5 39
High-Level Languages (Third Generation
and Beyond)
These languages are closer to human language and provide significant abstraction from
hardware details.
Characteristics:
➢Use natural language elements (English-like syntax)
➢Platform-independent (portable across different systems)
➢One statement can translate to many machine instructions
➢Include built-in functions and libraries
➢Support complex data structures and control mechanisms
➢Easier to learn, write, debug, and maintain
Examples: C, Python, Java, C++, Ruby etc.
40
High-Level Language
▪Uses English-like statements
▪Easy to learn, write, and debug
▪Machine-independent
▪Requires a translator (compiler/interpreter)
▪Examples: C, Java, Python, Pascal
41
(Based on Programming Paradigm)
1. Procedural Languages
A procedural programming language is a type of computer language that follows a sequence of
commands to solve a problem.
Key Features
➢Program is written as a sequence of steps
➢Uses functions / procedures to organize code
➢Emphasis on logic and algorithms
➢Uses variables, loops, and conditional statements
➢Easy to understand for beginners
Examples: C, Pascal, FORTRAN, COBOL, BASIC
Advantages: Straightforward logic flow, efficient execution, easy to trace program flow
Disadvantages: Can become complex with large programs, tight coupling between data and
functions
42
2. Object-Oriented Programming (OOP)
Languages
Object-Oriented Programming (OOP) is a programming approach where programs are built using
objects. An object is a real-world entity that contains data (variables) and behavior (functions)
together.
Core Principles:
➢Encapsulation: Bundling data and methods that operate on that data
➢Inheritance: Creating new classes based on existing ones
➢Polymorphism: Objects of different types responding to the same interface
➢Abstraction: Hiding complex implementation details
Examples: Java, C++, Python, C#, Ruby, Smalltalk
Advantages: Code reusability, modularity, easier maintenance, models real-world entities naturally
Disadvantages: Steeper learning curve, can be overkill for simple programs, potential performance
overhead
43
Language Translators
▪ Language translators (also known as language processors) are
software tools that convert code written in assembly or high-level
programming languages into machine code, which the computer's
processor can directly execute.
▪ Each works differently in terms of translation process, execution
speed, error handling, and suitability for various programming
needs.
▪ There are three main types:
i. Assemblers
ii. Compilers
iii. interpreters.
44
Assembler
➢An assembler is a translator used for assembly language.
➢Assembly language uses short words (mnemonics) like ADD and MOV
instead of 0s and 1s.
➢The assembler converts assembly code into machine code.
➢The output is a machine code file that the computer can run.
➢Assembly programs run very fast and give direct control over
hardware.
➢Assembly language is machine dependent, so it works only on specific
processors.
➢Today, assemblers are mostly used in system programming and
embedded systems.
45
Compiler
➢A compiler translates a high-level language program (like C or
C++) into machine code before execution.
➢It checks the entire program at once and shows all errors
together.
➢If there are no errors, it creates an executable file.
➢The compiled program runs very fast because it is already
translated.
➢The executable can run without the source code or compiler.
➢If the program is changed, it must be compiled again.
➢Compiling may take more time for large programs.
46
Interpreter
➢An interpreter translates and runs a program line by line.
➢It reads one line, executes it immediately, then moves to the next line.
➢If an error occurs, the program stops at that line, making errors easy to
find.
➢There is no separate compilation step, so changes work immediately.
➢Interpreter-based programs are portable and easy to test.
➢Programs run slower because translation happens every time they run.
➢The source code must be present while the program is running.
47