Hardware is the physical machinery of a computer, but it can do nothing on its own. It is the software, or the set of instructions and programs, that tells the hardware what to do. A program is a sequence of instructions written to perform a specific task, and a collection of related programs is called software. Just as a recipe tells a cook how to prepare a dish, software tells the computer exactly how to carry out a job, step by step.
Software can be broadly divided into two categories: system software and application software. System software manages the hardware and provides a platform for other programs to run, while application software is designed to help the user perform specific tasks such as writing a letter, making a presentation or browsing the Internet. This chapter explains the different types of software, their functions, and how they work together to make a computer useful.
System software is the software that operates and controls the computer hardware and provides a foundation on which application programs run. It is the link between the hardware and the user. Without system software, the computer cannot function at all. The most important system software is the operating system, which manages the CPU, memory, files and all input and output devices.
The operating system performs many essential jobs. It boots the computer, manages the files and folders, controls the hardware devices through drivers, provides a user interface, and allows multiple programs to run at the same time. Examples of operating systems include Windows, Linux and macOS. Other examples of system software are utility programs, which perform maintenance tasks such as disk clean-up, antivirus scanning and data compression, and language translators, which convert programs written by humans into machine language.
Application software is the software that is designed to perform a specific task for the user. When a user wants to type a document, edit a photo, play a game or watch a movie, they use application software. Application software depends on system software, especially the operating system, to run. For example, a word processor needs the operating system to display the document on the screen and to save it on the disk.
Application software is divided into two types: general-purpose software and special-purpose software. General-purpose software can be used for a variety of tasks, such as word processors, spreadsheets, presentation tools and web browsers. For example, a word processor can be used by a student for homework, by a writer for a book and by a shopkeeper for a bill. Special-purpose software is designed for one specific task or a particular field, such as accounting software, railway reservation software, photo editors and tax calculation software.
Apart from system and application software, there is a special type of software called firmware. Firmware is a combination of hardware and software that is permanently stored on a chip inside the device. It is stored in ROM and cannot be easily changed by the user. The BIOS (Basic Input Output System) of a computer is an example of firmware, because it contains the instructions that start the computer and test the hardware when the power is switched on.
Software can also be classified on the basis of how it is distributed and used. Freeware is software that is available free of charge, such as a free PDF reader. Open source software is software whose source code is made available to everyone and can be modified and shared, such as Linux and the web browser Firefox. Shareware is software that can be tried free for a limited time, after which the user must pay to continue using it. Proprietary software is owned by a company and must be purchased, and its source code is not shared with the public.
Software and hardware are complementary; one is useless without the other. When a user gives a command, the application software passes the request to the operating system, which then controls the hardware to perform the task. For example, when we press the Print command in a word processor, the application software tells the operating system, and the operating system uses the printer driver to send the document to the printer.
This cooperation happens at three levels. At the top is the user, who interacts with application software. In the middle is the operating system, which coordinates between applications and hardware. At the bottom is the hardware, which actually performs the work. This layered structure keeps the computer flexible and easy to use, because new application software can be added without changing the hardware. Understanding this relationship helps us choose the right software for the right job and appreciate how a modern computer system works.
| Type | Function | Examples |
|---|---|---|
| System software | Operates and controls hardware | Operating system, utilities, translators |
| Application software | Performs specific user tasks | MS Word, MS Excel, browsers |
| Firmware | Software permanently stored on a chip | BIOS |
| Freeware | Free to use | Free PDF readers |
| Open source | Source code available to all | Linux, Firefox |
| Shareware | Free trial, then pay | Trial games, trial antivirus |
| Basis | System Software | Application Software |
|---|---|---|
| Purpose | Manages hardware and system resources | Performs user-specific tasks |
| Started when | Loads at system start | Started by the user as needed |
| Runs without | Cannot run without | Cannot run without system software |
| Example | Windows, Linux | MS Word, MS Excel, games |
| User contact | Works in the background | Directly used by the user |
Software is the intelligence of a computer system. System software, especially the operating system, manages the hardware and provides a platform for programs to run, while application software helps the user perform specific tasks such as writing, calculating and browsing. Firmware, freeware, open source and shareware are special categories that show the many ways software is created and distributed. Understanding the relationship between hardware and software is essential before we study the operating system in detail in the next chapter.