Software is a generic term for the organized collection of computer programs, procedures, scripts, and documentation that direct physical hardware on how to execute tasks.
1. Software Classification Hierarchy
Complete Software Classification Hierarchy
2. System Software & Operating Systems
System Software serves as the foundational operating layer between raw computer hardware and user application programs. Without system software, application programs cannot communicate with the CPU, RAM, or storage disks.
Core Functions of an Operating System (OS)
- 1. Processor Management: Allocates CPU execution time among running processes using scheduling algorithms (FCFS, Round Robin, SJF).
- 2. Memory Management: Allocates and de-allocates primary RAM addresses dynamically to active processes.
- 3. File System Management: Organizes files into hierarchical directories (NTFS, ext4, APFS, FAT32) and manages access permissions.
- 4. Device Management: Interacts with peripheral hardware via standardized Device Drivers.
- 5. Security & Protection: Enforces user authentication, process isolation, and firewall safeguards.
- 6. User Interface Provision: Provides Command Line Interfaces (CLI / Bash) or Graphical User Interfaces (GUI).
3. Language Translators: Compiler vs. Interpreter
Computers exclusively execute binary machine code (0s and 1s). Language Translators convert human-readable source code into binary machine code.
| Feature | Compiler | Interpreter | Assembler |
|---|---|---|---|
| Source Language | High-Level Language (C, C++, Rust, Go) | High-Level Language (Python, JavaScript, PHP) | Assembly Language (Mnemonics: MOV, ADD, JMP) |
| Translation Process | Scans and translates the entire program at once before execution. | Translates and executes the program line-by-line in real-time. | Translates low-level assembly mnemonics into machine code. |
| Execution Speed | Very Fast (Produces standalone compiled executable object file). | Slower (Must interpret and convert lines at runtime). | Fast. |
| Error Detection | Generates a comprehensive error list after parsing the full source file. | Halts execution immediately on the first error encountered. | Syntax errors reported during assembly. |
| Intermediate Object Code | Yes (Generates .obj or .exe file). |
No (Executes directly in memory without saving machine code file). | Yes (Generates machine object code). |
Linker and Loader:
- Linker: Takes one or more object files generated by a compiler and combines them with system library routines into a single final executable binary (e.g.,
.exe). - Loader: A critical OS component that reads the compiled program from secondary disk storage, allocates RAM memory, and initiates CPU execution.
4. Application Software & Utilities
General Purpose vs. Customized Application Software:
| Parameter | General Purpose Software | Customized / Bespoke Software |
|---|---|---|
| Target Audience | Mass audience across diverse industries (Word processing, spreadsheets). | Developed specifically to meet the tailored workflow of one organization. |
| Cost & Availability | Low cost / Off-the-shelf ready for immediate download and installation. | High development cost; requires dedicated software engineering lifecycle. |
| Examples | Microsoft 365, Google Workspace, Adobe Acrobat, VLC Media Player. | IRCTC Railway Reservation, Bank Core Banking (Infosys Finacle), School ERP. |
5. Software Licensing & Distribution Models
| License Type | Source Code Accessible? | Commercial Cost | Key Examples |
|---|---|---|---|
| Proprietary (Closed Source) | No (Hidden & copyrighted) | Paid commercial license required | Microsoft Windows, Adobe Photoshop, macOS |
| Open Source (FOSS / FLOSS) | Yes (Free to inspect, modify & fork) | Free (GPL, MIT, Apache license) | Linux Kernel, LibreOffice, Python, VLC, Apache |
| Freeware | No (Closed source) | 100% Free of cost for general use | Adobe Acrobat Reader, WhatsApp, Skype |
| Shareware (Trialware) | No (Closed source) | Free for limited evaluation period (e.g. 30 days) | WinRAR, commercial demo games |
| Public Domain | Yes | Completely free without copyright restrictions | SQLite, early CERN HTTP server code |
Quick Exam Revision Points
- Compiler translates: Entire source program at once into object code.
- Interpreter translates: Source program line-by-line during runtime.
- Firmware is stored in: Non-volatile ROM / Flash chips.
- FOSS stands for: Free and Open Source Software.
- Role of Linker: Combines compiled object files with library modules to create an executable binary.
Comments 0
Leave a Comment