optional · CSS study notes
I.13 Types of Software
⬆️ Back to: P-I.I. Introduction to Computing
🧭
Page Outline — click a heading to jump. Past-paper questions sit in the last section.
🎯
Exam pattern (2016–2026): 2021 Q3(c) IDEs (5) · 2024 MCQ Q4 (system software).
1. Definitions
- Software: instructions, programs and data that tell hardware what to do; intangible.
- Program: one set of instructions for one task.
- Software: the wider term — one or many programs plus data and documentation.
2. Three Categories by Function
| Category | Role | Examples |
|---|---|---|
| System software | Manages hardware; platform for others | OS, device drivers, utilities |
| Programming software | Write, translate and debug code | Compiler, interpreter, assembler, debugger, IDE |
| Application software | End-user tasks | MS Word, Photoshop, browsers |
- 🧠 Stack: hardware → system software → applications; programming tools build both upper layers.
2.1 System software
- Operating system:
- Schedules CPU, manages memory, files and I/O through a kernel.
- Types: single/multi-user, single/multitasking, real-time, mobile.
- Examples: Windows, macOS, Linux, Android, iOS.
- Device drivers:
- Translate OS commands for one specific device.
- Missing driver → device works partly or not at all.
- Examples: printer, GPU, network drivers.
- Utilities:
- Maintain or optimise the system.
- Examples: antivirus (Windows Defender), compression (WinRAR), backup, disk cleanup.
2.2 Programming software
- Compiler: translates the whole program first → standalone executable (GCC, javac).
- Interpreter: translates and runs line by line (CPython).
- Assembler: assembly mnemonics → machine code (NASM, MASM).
- Debugger: breakpoints, step-through, inspect variables (GDB).
- IDE: editor + compiler + debugger in one (Visual Studio, Eclipse, PyCharm).
- Why separate from system software:
- Used by developers, not every user.
- Its output is other software.
- The computer runs fine without it.
2.3 Application software
- General-purpose: Word, Excel, browsers — cheap, broad, not specialised.
- Specialised: QuickBooks, AutoCAD, radiology software — deep features, costlier.
- Custom/bespoke: built for one organisation (airline booking, bank core system) — exact fit, high cost.
3. System vs Application Software
| Aspect | System | Application |
|---|---|---|
| Purpose | Runs the hardware | Does user tasks |
| Dependency | Runs without applications | Needs system software |
| Installed | First, usually one per machine | Afterwards, many |
| User contact | Mostly background | Direct |
| Written in | C, assembly | Mostly high-level languages |
| Examples | Windows, Linux, drivers | Word, Photoshop, Chrome |
- Dependency is one-way: an app makes system calls for disk, memory and screen.
- That is why a Windows .exe will not run on Linux.
4. Compiler vs Interpreter
| Aspect | Compiler | Interpreter |
|---|---|---|
| Translation | Whole program, before running | Line by line, while running |
| Output | Executable file | None |
| Run speed | Fast (10–100× for heavy work) | Slower |
| Errors | All together after scan | Stops at the exact line |
| Debugging | Harder | Easier, interactive |
| Portability | Executable is platform-specific | Source runs wherever interpreter exists |
| Examples | GCC, javac | CPython, Ruby |
- 🧠 Compilers run faster, debug slower; interpreters debug faster, run slower.
- Hybrid: Java → bytecode → JVM interprets or JIT-compiles.
5. Copyright and Licensing
5.1 Copyright vs licence
- Copyright: automatic legal right from the moment code is written.
- Gives the owner control of copying, distributing, modifying.
- Berne Convention (Pakistan is a party); Pakistan: Copyright Ordinance 1962, IPO-Pakistan.
- Licence: the permission the owner grants to others.
- Does not transfer ownership.
- 🧠 Copyright = ownership; licence = what others may do.
5.2 Licensing models
| Model | Source | Cost | Modify/share? | Example |
|---|---|---|---|---|
| Proprietary | Closed | Paid | No | Windows, Photoshop |
| Open-source | Open | Usually free | Yes, under licence | Linux, Firefox, LibreOffice |
| Freeware | Closed | Free | No | Adobe Acrobat Reader |
| Shareware | Closed | Free trial, then paid | No | WinRAR evaluation |
| Public domain | Any | Free | Yes, no conditions | CC0-dedicated code |
- Two separate questions: is the source open? must you pay?
- Red Hat Enterprise Linux: paid, yet open-source.
5.3 Public domain vs open-source
- Public domain: no copyright (expired or waived, e.g. CC0); no conditions; anyone can close it and sell it.
- Open-source: still copyrighted; licence grants rights with conditions (attribution, maybe share-alike).
5.4 Copyleft vs permissive
| Aspect | Copyleft (GPL) | Permissive (MIT, Apache, BSD) |
|---|---|---|
| Rule | Derivatives keep the same licence and publish source | Keep the notice; anything else allowed |
| Closed derivatives | Not allowed when distributed | Allowed |
| Aim | Keep freedom downstream | Maximise adoption |
| Projects | Linux kernel, GIMP, WordPress | React, Node.js, jQuery |
- Triggered by distribution, not internal use (AGPL closes this for web services).
- Weak copyleft: LGPL, Mozilla Public License.
5.5 Other axis — platform
- Native: installed on one OS (Word desktop).
- Web/cloud: runs in a browser (Google Docs, Gmail).
- Mobile: phone/tablet apps.
6. Classifying One Product on Every Axis
- Linux: system software (OS kernel) + open-source (GPLv2) + native.
- Runs on x86, ARM, RISC-V, mainframes; Android's kernel; almost all TOP500 supercomputers.
- MS Word: application + proprietary + native (web version in Microsoft 365).
- Python: see I.14.
7. ⚠️ MCQ Traps
- Compilers, IDEs are programming software, not system software.
- Device driver = system software.
- Compiler = fast run, slow debug.
- Open-source is about source, not price.
- Freeware ≠ open-source.
- Copyright ≠ licence; open-source is still copyrighted.
- Public domain ≠ open-source.
- GPL forces openness; MIT does not.
8. ✅ Self-Test Questions (with Answers)
Q1. Three categories of software with one example each.
- System: Windows. Programming: GCC. Application: MS Word.
Q2. Where do compilers and IDEs fit, and why separately?
- Programming software.
- Different user (developer), different output (other software), not needed to run the PC.
Q3. System vs application software using dependency.
- Apps need the OS; the OS does not need apps.
- Use the table in section 3.
Q4. Compiler vs interpreter on speed and debugging.
- Use the table in section 4.
Q5. When is a specialised application better than a general one?
- Case: a Lahore architecture firm uses AutoCAD/Revit, not MS Paint.
- Real-world units and exact dimensions.
- Domain intelligence (a wall knows it is a wall; changes update every view).
- Industry file formats (DWG/IFC) for engineers and approvals.
- Errors in a general tool risk safety and legal problems.
- Rule: general for common, low-budget tasks; specialised when accuracy, compliance or interoperability matter.
Q6. Proprietary, open-source, freeware, shareware — one example each.
- Use the table in 5.2.
Q7. Classify Linux on three axes.
- System (OS) + open-source GPLv2 + native.
Q8. Copyright vs licence.
- Ownership vs permission; see 5.1.
Q9. Public domain vs open-source.
- No copyright vs copyrighted with licence; see 5.3.
Q10. Copyleft vs permissive licence.
- GPL (Linux) vs MIT (React); see 5.4.
9. 📜 Past-Paper Questions & MCQs (CSS 2016–2026)
2021 · Paper-I · Q3(c) · 5 marks
Q. What are IDEs? How do they help in software development? List the IDEs you have used.
Quick revision and exam-ready model
Quick revision — key points
- Define IDE as integrated developer toolkit
- Editing, syntax checking and completion
- Build, debugging, testing and version control
- Name only IDEs actually used
Exam-ready answer — structured
Introduction / direct answer: An Integrated Development Environment (IDE) combines tools for writing, building, testing and debugging software in one interface.
Main explanation
- Typical facilities include syntax highlighting and completion, project management, compiler/interpreter or build-system integration, breakpoints and variable inspection, refactoring and version-control integration. It reduces repetitive setup and helps diagnose defects early.
- Examples: Visual Studio, IntelliJ IDEA, Eclipse, PyCharm and Android Studio. A candidate may name the IDEs they have genuinely used; do not claim personal experience falsely.
MCQs
2024 P-I · Q4. What is an example of system software from the list below?
- (A) Windows ✅
- (B) Google Chrome
- (C) Adobe Photoshop
- (D) None of these
- Answer: (A) Windows.
- Why: an operating system is the main example of system software. Chrome and Photoshop are application software.