Software, which is abbreviated as SW or S/W, is a set of programs that enables the hardware to perform a specific task. All the programs that run the computer are software. The software can be of three types: system software, application software, and programming software.
1) System Software
The system software is the main software that runs the computer. When you turn on the computer, it activates the hardware and controls and coordinates their functioning. The application programs are also controlled by system software. An operating system is an example of system software.
i) Operating System:
An operating system is the system software that works as an interface to enable the user to communicate with the computer. It manages and coordinates the functioning of hardware and software of the computer. The commonly used operating systems are Microsoft Windows, Linux, and Apple Mac OS X.
Some other examples of system software include:
- BIOS: It stands for basic input output system. It is a type of system software, which is stored in Read Only Memory (ROM) located on the motherboard. However, in advanced computer systems, it is stored in flash memory. BIOS is the first software that gets activated when you turn on your computer system. It loads the drivers of the hard disk into memory as well as assists the operating system to load itself into the memory.
- Boot Program: Boot refers to starting up a computer. When you switch on the computer, the commands in the ROM are executed automatically to load the boot program into memory and execute its instructions. The BIOS program has a basic set of commands that enables the computer to perform the basic input/output instructions to start the computer.
- An assembler: It plays the role of a converter as it receives basic computer instructions and converts them into a pattern of bits. The processor uses these bits to perform basic operations.
- A device driver: This system software controls hardware devices connected to a computer. It enables the computer to use the hardware by providing an appropriate interface. The kernel of a Computer's CPU communicates with different hardware through this software. Operating systems generally come with most of the device drivers. If the operating system does not have a device driver for hardware, you have to install the device driver before using that hardware device.
2) Application Software:
Application software is a set of programs designed to perform a specific task. It does not control the working of a computer as it is designed for end-users. A computer can run without application software. Application software can be easily installed or uninstalled as required. It can be a single program or a collection of small programs. Microsoft Office Suite, Adobe Photoshop, and any other software like payroll software or income tax software are application software. As we know, they are designed to perform specific tasks. Accordingly, they can be of different types such as:
- Word Processing Software: This software allows users to create, edit, format, and manipulate the text and more. It offers lots of options for writing documents, creating images, and more. For example, MS Word, WordPad, Notepad, etc.
- Spreadsheet Software: It is designed to perform calculations, store data, create charts, etc. It has rows and columns, and the data is entered in the cell, which is an intersection of a row and column, e.g., Microsoft Excel.
- Multimedia Software: These software are developed to perform editing of video, audio, and text. It allows you to combine texts, videos, audio, and images. Thus, you can improve a text document by adding photos, animations, graphics, and charts through multimedia software. For example, VLC player, Window Media Player, etc.
- Enterprise Software: These software are developed for business operational functions. It is used in large organizations where the quantum of business is too large. It can be used for accounting, billing, order processing and more. For example, CRM (Customer Relationship Management), BI (Business Intelligence), ERP (Enterprise Resource Planning), SCM (Supply Chain Management), customer support system, and more.
3) Programming Software:
It is a set or collection of tools that help developers in writing other software or programs. It assists them in creating, debugging, and maintaining software or programs or applications. We can say that these are facilitator software that helps translate programming language such as Java, C++, Python, etc., into machine language code. So, it is not used by end-users. For example, compilers, linkers, debuggers, interpreters, text editors, etc. This software is also called a programming tool or software development tool.
Some examples of programming software include:
- Eclipse: It is a java language editor.
- Coda: It is a programming language editor for Mac.
- Notepad++: It is an open-source editor for windows.
- Sublime text: It is a cross-platform code editor for Linux, Mac, and Windows.