Computer Software

Learning Objectives

  • Understand the concept of computer software and its types
  • Differentiate between open source and proprietary software
  • Compare system and application software
  • Learn about mobile and web applications

1.7.1 Concept and Types of Computer Software

Computer software is a collection of programs, instructions, or data that direct a computer to perform specific tasks or functions. It works with hardware to make the computer usable for different applications.

Types of Computer Software

  • System Software
  • Application Software

System Software

System software is the backbone of computer operations, responsible for managing hardware resources, providing a platform for applications, and ensuring smooth functioning of the computer system. It acts as a bridge between users and hardware, enabling interaction and control.

Functions of System Software
  • Provides a platform for running application software
  • Manages files, folders, and system resources
  • Controls input/output devices
  • Maintains stability and reliability of the computer system
  • Improves system performance through utilities
Categories of System Software
  • Operating System (OS)
  • Utility Software
  • Device Drivers
  • Language Processing Software (Language Translators)

Application Software

Application software is a collection of programs designed to perform specific user tasks such as document editing, email, photo editing, billing, multimedia, and engineering design. It depends on system software (OS) to run.

Functions of Application Software
  • Helps users perform specific tasks (writing, designing, billing)
  • Provides user-friendly interaction with hardware
  • Enhances productivity and entertainment
  • Converts user needs into computer-executable tasks
Types of Application Software
  • Packaged Software (General-Purpose)
  • Customized / Tailored Software

Operating System (OS)

An Operating System (OS) is a type of system software that controls and manages the overall operation of a computer system. It works like a traffic policeman, directing the smooth flow between hardware, software, and users.

Key Features

  • First software loaded – It is the first program loaded into RAM when the computer starts and runs until shutdown.
  • Interface – Acts as a bridge between user ↔ hardware and software ↔ hardware.
  • Hardware control – Makes hardware usable by managing CPU, memory, and devices.
  • Environment – Provides a working environment for application software and users.
  • Essential – A computer cannot function without an OS.

Functions of Operating System

  • Process Management – Handles execution of programs.
  • Memory Management – Allocates and manages RAM.
  • File Management – Organizes data into files and folders.
  • Device Management – Controls input/output devices through drivers.
  • User Interface – Provides CLI (Command Line Interface) or GUI (Graphical User Interface).
  • Security and Access Control – Protects system from unauthorized access.

Examples of Operating Systems

Microsoft Windows
macOS
Linux
Android

Language Processor (Translator)

A Language Processor (or Translator) is system software that converts programs written in assembly language or high-level programming languages into machine language (binary code: 0s and 1s), so the CPU can understand and execute them.

Types of Language Processors

Assembler
  • Converts assembly language programs into machine language
  • Example: Converts mnemonic codes like ADD, SUB into binary instructions
Interpreter
  • Translates high-level language programs into machine code line by line
  • Errors are shown immediately after each line
  • Slower execution
  • Example: Python Interpreter
Compiler
  • Translates the entire high-level language program into machine code at once
  • Errors are shown after the whole program is compiled
  • Faster execution
  • Example: C Compiler, Java Compiler

Utility Software

Utility software is a type of system software that performs maintenance and optimization tasks to keep a computer system in smooth working condition.

Functions of Utility Software

  • File Management – Copying, transferring, deleting, or recovering lost files
  • System Protection – Detecting and removing viruses or malware
  • Disk Management – Disk cleanup, defragmentation, compression
  • Backup & Recovery – Safeguards data in case of failure
  • Performance Optimization – Speeds up system by cleaning registry, cache, and temporary files

Examples of Utility Software

Antivirus (Avast, Quick Heal)
Compression Tools (WinZip, WinRAR)
Disk Utilities (Disk Defragmenter, CCleaner)
Data Recovery Tools

Device Driver Software

A Device Driver is a type of system software that controls and manages a specific hardware device, making it usable by the computer system.

Examples of Device Drivers

  • Printer Driver – Required to use printers
  • Display/Graphics Driver – Controls monitors and graphics cards
  • Sound Card Driver – Enables audio input/output
  • Network Driver – Manages LAN/Wi-Fi connectivity

Types of Application Software

Packaged Software (General-Purpose)

Ready-made software developed by software companies for general users to perform common, day-to-day tasks.

Examples:
  • Office Applications: MS Office (Word, Excel, PowerPoint)
  • Design & Graphics: Adobe Photoshop, CorelDraw, 3DS Max
  • Database Management: Oracle, SQL Server
  • Multimedia & Communication: VLC Media Player, Zoom, Spotify

Customized / Tailored Software

Application software designed to meet the specific requirements of a particular organization, office, or individual. It is developed on demand to handle unique needs that cannot be fully met by packaged software.

Examples:
  • Education: SEE Result Processing Software, School Management System
  • Health: Hospital Management Software
  • Business: Billing Software, Banking Software
  • Transport: Airline Ticket Reservation System

1.7.2 Open Source and Proprietary Software

Open Source Software (OSS)

  • Software whose source code is publicly available
  • Users can view, modify, and distribute it
  • Example: Linux, Android, OpenOffice
VS

Proprietary Software

  • Software whose source code is hidden and controlled by the creator/company
  • Requires license and cannot be modified by users
  • Example: Windows OS, Adobe Photoshop, MS Office

1.7.3 Comparison: System vs Application Software

Feature System Software Application Software
Purpose Manages and controls computer hardware and provides a platform for running application software Performs specific tasks as required by the user
Dependency Runs independently and is essential for computer operation Requires system software to run
Examples Windows, macOS, Linux, Device Drivers, Utility Programs MS Office, Photoshop, VLC Media Player, Banking Software
User Interaction Works in the background with minimal user interaction Directly interacts with users to perform tasks
Installation Pre-installed with the operating system Installed by users as per their requirements

1.7.4 Mobile and Web Applications

Mobile Application (Mobile App)

A mobile application (app) is a program designed to perform specific tasks on smartphones, tablets, and smart devices. Mobile apps work with features like touchscreens, GPS, cameras, and mobile networks.

They include games, social media apps, productivity tools, navigation apps, etc.

Mobile software also includes mobile operating systems like Android and iOS, which manage the device's hardware and provide the environment for running apps.

Characteristics:

  • Installed on mobile devices
  • Platform-dependent (Android/iOS)
  • Can work offline (depending on the app)
  • Access to device hardware features

Web Application (Web App)

A web application is software that runs on a web server and is accessed through a web browser over the internet. Unlike mobile apps, they do not need to be installed on devices.

They can be accessed from any device with a browser and internet connection.

Examples: Gmail (email), Google Docs (office tool), Facebook (social media).

Characteristics:

  • Runs on web browsers
  • Platform-independent
  • Requires internet connection
  • No installation needed
  • Easier to maintain and update

Key Differences

  • Installation: Mobile apps need to be installed; web apps run in browsers
  • Platform: Mobile apps are platform-specific; web apps are cross-platform
  • Internet: Web apps require internet; some mobile apps can work offline
  • Updates: Web apps update automatically; mobile apps need manual updates
  • Performance: Mobile apps generally have better performance than web apps