Types of Software
1. The Overall Classification
SOFTWARE
┌──────────────────────────┬───────────────────────────┐
SYSTEM SOFTWARE APPLICATION SOFTWARE UTILITY SOFTWARE
runs & manages the does the user's work maintains & tunes
machine itself the system
• OS, drivers, BIOS • Word, Excel, browser • Antivirus, backup
• compilers, assemblers • Tally, ERP, games • Defragmenter,
• loader, linker • custom bank/school SW compression tools
└────────── MIDDLEWARE (web server, DB engine) ──────────┘
FIRMWARE (BIOS, router OS) sits below system software
Software is classified by who it serves and why it exists: system software serves the machine, application software serves the user's task, and utility software serves the health of the system.
2. System Software
Programs that control and manage the hardware, and provide the platform on which application programs run. They are machine dependent, are usually written in C/C++/assembly, run largely in the background, and the user rarely interacts with them directly.
| Component | Purpose | Examples |
|---|---|---|
| Operating system | Resource manager and interface | Windows, Linux, macOS, Android |
| Device drivers | Translate OS commands into device-specific actions | Printer, GPU, Wi-Fi drivers |
| Firmware / BIOS-UEFI | Hardware initialisation and boot | BIOS, UEFI on the motherboard |
| Language translators | Convert source code to machine code | Compiler, assembler, interpreter |
| Linker / loader | Combine object modules and load them into RAM | ld, linker in Visual Studio |
| Utilities | Housekeeping of the system | Format, disk-check, backup |
| System libraries / shells | Services and command interface | libc, bash, PowerShell |
3. Application Software
Programs written to help the user perform a specific job — document writing, accounting, design, browsing, gaming. They depend on the OS (through system calls/APIs) and are generally portable across machines running the same OS.
| Category | Meaning | Examples |
|---|---|---|
| General purpose (packaged / off-the-shelf) | Ready-made, sold to many users, "shrink-wrapped" | MS Word, Excel, LibreOffice, Chrome, VLC, Photoshop |
| Customised / tailor-made | Built for one organisation's specific requirements | Railway reservation system, banking core software, hospital management, school ERP |
| Integrated packages / suites | Several applications bundled with a common interface and shared data | MS Office 365, Google Workspace, LibreOffice |
| Enterprise applications | Large multi-user, multi-module systems | ERP (SAP), CRM (Salesforce), Payroll |
| Engineering / scientific | Computation and design | AutoCAD, MATLAB, ANSYS, Simulink |
| Entertainment & multimedia | Games, media editing | FIFA, GTA, Premiere Pro |
| Web and mobile apps | Run in a browser or on a phone | Gmail, WhatsApp, UPI payment apps |
4. Utility Software
Small programs that keep the computer healthy and efficient; they usually operate on the system rather than producing user documents — antivirus/malware scanner, backup and restore, disk defragmenter, disk cleanup, compression (7-Zip, WinRAR), file manager, task manager, uninstaller, driver updater, password manager.
Utility vs application: a utility maintains the system (antivirus, defragmenter); an application does the user's actual work (typing a letter). Some programs blur the line — a file manager is both a utility and a tool the user works with.
5. Middleware and Firmware
- Middleware — software that connects two applications or an application and the OS, hiding distribution and heterogeneity: web servers (Apache, Nginx), application servers, database engines (MySQL, Oracle), message brokers (Kafka, RabbitMQ). It enables interoperability without rewriting either side.
- Firmware — software embedded in hardware ROM/flash: BIOS/UEFI, the code in a printer, router, washing machine or set-top box. It is updated ("flashed") rarely and is essential for the device to boot.
6. System vs Application Software
| Basis | System software | Application software |
|---|---|---|
| Purpose | Run and manage the computer itself | Perform a user's specific task |
| Interaction with hardware | Direct — controls devices | Indirect — through the OS/API |
| Dependency | Works alone; starts at boot | Needs an OS to run |
| Who uses it | System administrators/OS itself | End users |
| Examples | Windows, Linux, drivers, compilers | MS Word, Tally, Chrome, games |
| Development language | C, C++, assembly | Java, Python, C#, JavaScript, SQL |
| Execution | Starts when the computer boots; always resident | Started by the user, exits when done |
| Size/priority | Core, privileged mode operations | User mode, lower privilege |
| Mandatory? | Mandatory for the machine to function | Optional — machine works without them |
7. Licensing Models (quick reference)
Proprietary (paid, closed source) · Open source (source available, GPL/MIT/Apache) · Freeware (free of cost) · Shareware (trial then pay) · SaaS/subscription (cloud, pay per period) · Public domain.
8. Exam Points
- Classify software into system, application and utility software with two examples each — 5 marks, very frequent.
- Differentiate system software and application software (tabular) — 5 marks, almost certain.
- What is utility software? Give four examples and explain one — 3-5 marks.
- What is middleware? Why is it needed? — 3 marks.
- Difference between packaged and customised application software — 3-5 marks.
- What is firmware? How is it different from ordinary software? — 3 marks.