IT and Applications
Unit 4: Computer Software
System and application software, software acquisition, programming languages, operating systems and their functions, and new trends in software.
Introduction
Software is a set of instructions that tells the hardware what to do. Without software, hardware is just a collection of inactive electronic parts. Software is created by writing programs in a programming language and then translating them into machine code the CPU can run.
Types of software
At the highest level, software is divided into two categories:
- System software — runs the computer and supports other software.
- Application software — performs tasks for the user.
System software
System software is the foundation that lets users and applications interact with the hardware.
Examples:
- Operating systems — Windows, macOS, Linux, Android, iOS.
- Device drivers — small programs that control hardware (printer, GPU).
- Firmware — software stored in ROM (BIOS, UEFI).
- Utility programs — antivirus, backup tools, disk cleanup, compression tools.
- Language translators — compilers, interpreters, assemblers.
Application software
Application software solves specific user problems. Examples:
- Productivity software — Microsoft Word, Excel, PowerPoint, Google Docs.
- Web browsers — Chrome, Firefox, Safari, Edge.
- Communication apps — Zoom, Teams, WhatsApp, Slack.
- Entertainment apps — Netflix, Spotify, YouTube.
- Design and creative — Photoshop, Figma, Premiere Pro.
- Business software — SAP, Salesforce, Tally, QuickBooks.
- Games — from mobile games to AAA titles.
Software acquisition
Organisations and individuals acquire software in several ways:
- Proprietary / commercial — purchase a licence (Microsoft Office, Adobe Photoshop).
- Open-source / free software — free to use, modify, distribute (Linux, LibreOffice, VS Code).
- Custom / bespoke — built specifically for one organisation.
- SaaS (Software as a Service) — accessed over the internet on subscription (Salesforce, Gmail, Notion).
- Shareware / freeware — free with limitations or for a trial period.
Programming languages
A programming language is used to write instructions for the computer. They are classified into generations:
| Generation | Type | Example |
|---|---|---|
| 1st | Machine language | Binary (10110000 01100001) |
| 2nd | Assembly language | MOV AL, 61h |
| 3rd | High-level language | C, C++, Java, Python |
| 4th | Problem-oriented (4GL) | SQL, MATLAB, R |
| 5th | AI / logic-based | Prolog, LISP |
Translators
- Compiler — translates whole program at once (C, C++).
- Interpreter — translates and runs line by line (Python, JavaScript).
- Assembler — translates assembly to machine code.
Operating system
An Operating System (OS) is the most important system software. It acts as a bridge between the user, application software, and the hardware.
Objectives of operating system
- Make the computer convenient to use.
- Use hardware efficiently.
- Provide a platform for application software.
- Manage resources fairly between users and processes.
Types of OS
- Single-user, single-tasking — old MS-DOS, simple embedded devices.
- Single-user, multi-tasking — Windows, macOS (on a PC).
- Multi-user — Linux servers, mainframes.
- Real-time OS (RTOS) — used in cars, medical devices, robots.
- Embedded OS — runs inside appliances and IoT devices.
- Mobile OS — Android, iOS.
- Distributed OS — runs across multiple machines, presents them as one.
Functions of OS
Process management
The OS schedules processes on the CPU, switches between them, and handles inter-process communication.
Memory management
The OS allocates RAM to programs, swaps unused memory to disk, and protects one program’s memory from another.
File management
Provides directories, files, permissions, and a way to read/write storage.
Device management
Handles hardware via device drivers and arbitrates access to shared devices like printers.
Protection and security
Authenticates users, enforces permissions, and protects the system from malware.
User interface
- CLI (Command Line Interface) — Linux shell, Windows cmd, PowerShell.
- GUI (Graphical User Interface) — Windows desktop, macOS, GNOME, KDE.
Examples of operating systems
- Windows — most popular desktop OS.
- macOS — Apple’s desktop/laptop OS.
- Linux — open-source; powers most servers, Android, supercomputers.
- Android — Linux-based mobile OS by Google.
- iOS / iPadOS — Apple’s mobile OS.
- Chrome OS — for Chromebooks.
- Unix — historical ancestor of Linux and macOS.
New trends in software
Modern software is evolving rapidly:
- Cloud-native software — built to run on AWS, Azure, GCP.
- AI-powered software — ChatGPT, GitHub Copilot, Midjourney, Gemini.
- Low-code / no-code platforms — Bubble, Webflow, Power Apps.
- Edge computing — software runs close to the device (CDNs, IoT gateways).
- Microservices and serverless — small, scalable, independent services.
- Cross-platform frameworks — Flutter, React Native, .NET MAUI.
- DevOps and CI/CD — automated testing and deployment.
- Quantum software — early stage, runs on quantum hardware (IBM Q, Google Sycamore).