Software - Notes
Class 11 • Computer Science

Software – Class 11 Computer Science

Premium Comprehensive Study Notes

What is Software?

Software is a collection of programs, instructions and related data that tells a computer what to do and how to do it.

In simple words, software is the set of instructions that makes a computer useful. A computer without software cannot perform meaningful tasks

Examples of Software
• Windows
• Linux
• Microsoft Word
• Google Chrome
• VLC Media Player
• Antivirus programs
• Calculator
• Mobile applications

Types of Software

Software can mainly be divided into:
1. System Software
2. Application Software

Basic Classification

System Software
  • Operating System
  • Language Processors
  • Device Drivers
  • Utility Software
Application Software

  • General-purpose software
  • Special-purpose software
  • Customized software

System Software

System software is a type of software that controls and manages computer hardware and provides a platform for application software to run.

It works mainly in the background and helps the computer operate properly

Main Types of System Software

The important types of system software are:

1. Operating System

2. Language Processor

3. Device Driver

4. Utility Software

Operating System

An Operating System (OS) is system software that acts as an interface between the user and computer hardware.

It manages the different resources of a computer and provides an environment in which application programs can run.

Examples of Operating Systems
• Windows
• Linux
• UNIX
• Solaris
• BOSS
• Android
• iOS

Why Do We Need an Operating System?

An operating system is needed to:

• Manage computer hardware
• Run application programs
• Manage memory
• Manage files and folders
• Manage input and output devices
• Control the processor
• Provide security
• Provide an interface between the user and computer
• Detect and handle certain errors
• Manage system resources

In simple words: The operating system acts like a manager of the computer system.

Functions of an Operating System

The major functions of an operating system include:
1. Processor Management
2. Memory Management
3. File Management
4. Device Management .

Processor Management

An operating system manages how the processor is used by different programs. It decides:
• Which program should get the processor
• How much processor time should be given
• When a running program should be paused
• Which program should run next

Memory Management

Memory management means managing the computer's main memory, such as RAM.

The operating system:

• Keeps track of memory usage

• Allocates memory to programs

• Releases memory when it is no longer needed

• Ensures that programs use their allocated memory properly

Example:

When you open a web browser, the operating system allocates some RAM to it.

File Management

The operating system manages files and folders stored on storage devices. It allows users to:
• Create files and folders

• Open files

• Rename files

• Copy files

• Move files

• Delete files

• Search for files

• Organise files into folders

Example: File Explorer in Windows helps users manage files and folders.

Device Management

A computer may have many devices such as:

• Keyboard

• Mouse

• Printer

• Scanner

• Monitor

• Speakers

• Pen drive

The operating system manages communication between these devices and the computer.

It uses device drivers to communicate with many hardware devices

Types of Operating Systems

Operating systems can be classified in different ways depending on how they interact with users and manage computer resources. Some important types are:
1. Interactive Operating System
2. Real-Time Operating System
3. Distributed Operating System

Interactive Operating System

An interactive operating system allows the user to interact directly with the computer while programs are running using Graphical User Interface (GUI).
A GUI allows users to interact with the computer using - Windows, Icons, Menus, Buttons, Pointer.
For instance, clicking the folder icon to open a folder is an example of interaction through a GUI.
Examples Windows, Linux with a GUI, macOS

Real-Time Operating System

A Real-Time Operating System (RTOS) is designed to respond to events or inputs within a specified time. In such systems, completing a task within the required time can be very important.

Examples of Uses
Real-time operating systems are used in:
• Industrial control systems
• Medical equipment
• Aircraft systems
• Robots
• Traffic control systems
• Embedded systems

Example: In a system controlling an industrial machine, a delayed response may cause a problem. Therefore, the operating system must respond within the required time.

Distributed Operating System

A distributed operating system manages a group of networked computers and makes their resources work together.

To the user, the connected computers may appear to work like a single system.

Advantages

• Resource sharing

• Better utilisation of resources

• Communication between computers

• Work can be distributed among different computers

Booting

Booting is the process of starting or restarting a computer and loading the operating system into the main memory.

When you switch on a computer, the system performs some initial checks and then loads the operating system.

Simple Booting Process

Switch on computer → Hardware checks → Operating system loads → Computer becomes ready for use

Types of Booting

There are two common types of booting:

1. Cold Booting
2. Warm Booting

Cold Booting

Cold booting means starting a computer from a completely powered-off state. Example: You switch on your computer using the power button after it has been shut down.

Warm Booting

Warm booting means restarting a computer without completely switching off its power.

Example: Selecting Restart from the operating system.

Source Code and Object Code

Source Code

The program written by a programmer in a programming language is called source code.

Example

A C++ program written by a programmer is source code. Source code is generally understandable to humans who know the programming language.

Object Code

The translated form of a program that is closer to machine language is called object code. A language processor converts source code into a form that can be processed by the computer.

Language Processor

A computer's processor understands instructions in machine language, which consists of binary codes. However, programmers generally write programs using programming languages such as C++, Python or Java.
A language processor is system software that translates a program written in a programming language into a form that the computer can understand and execute. Main Types of Language Processors
1. Compiler
2. Interpreter
3. Assembler

Compiler

A compiler translates the entire source program into machine code or an intermediate form before execution.

If errors are found, the compiler generally reports them after analysing the program.

Example

A C++ compiler translates a C++ program into a form that can be executed by the computer. Advantages
• Once compiled successfully, the program can generally be executed without translating every statement again.
• Compiled programs can execute efficiently.

Interpreter

An interpreter translates and executes a program statement by statement.

If an error is encountered, execution normally stops at that point and the error is reported.

Example

Python commonly uses an interpreter-based execution approach.

Assembler

An assembler is a language processor that translates a program written in assembly language into machine language.

Assembly language uses symbolic instructions instead of writing binary machine instructions directly.

Simple Flow

Assembly Language → Assembler → Machine Code

Utility Software

Utility software is software designed to maintain, protect, manage and improve the performance of a computer system.

Utilities usually perform specific maintenance or management tasks. They are generally considered a part of system software.

Examples of Utility Software
• Antivirus software
• File management tools
• File compression tools
• Disk management tools
• Backup tools
• System cleanup tools

Antivirus Software

Antivirus software helps protect a computer from malicious software such as viruses and other forms of malware.It can:

• Scan files
• Detect suspicious or malicious programs
• Remove or quarantine certain threats
• Monitor the system for possible threats

Examples

• Microsoft Defender
• Avast
• Quick Heal
• Norton

File Management Tools

File management tools help users organise and manage files and folders.

They can be used to:

• Create folders
• Copy files
• Move files
• Rename files
• Delete files
• Search for files
• View file properties
Example

File Explorer in Windows is a file management tool.

Compression Tools

Compression tools reduce the size of files so that they require less storage space and can be transferred more easily.

Examples

• 7-Zip
• WinRAR
• ZIP utilities

Example

Suppose several documents occupy 20 MB of storage. They may be compressed into a single archive file that occupies less space.

Disk Management Tools

Disk management tools help users manage storage devices and disk space.

They may be used for tasks such as:

• Creating partitions
• Formatting disks
• Checking disk space
• Managing storage volumes
• Checking certain disk-related problems

Example

Disk Management in Windows is used to manage partitions and storage volumes

Device Drivers

A device driver is system software that allows the operating system to communicate with a particular hardware device.

Different hardware devices may require different drivers.

Examples

• Printer driver
• Graphics driver
• Sound driver
• Network adapter driver

Example
When you connect a printer to a computer, the operating system may need an appropriate printer driver to communicate with the printer.

Remember: A device driver acts as a bridge between the operating system and hardware device.

Application Software

Application software is designed to help users perform specific tasks or activities.

Unlike system software, application software is mainly used directly by the user to accomplish a particular purpose.

Examples

• Microsoft Word – creating documents

• Microsoft Excel – working with spreadsheets

• PowerPoint – creating presentations

• Google Chrome – browsing the web

• VLC Media Player – playing multimedia

• Photoshop – image editing

Types of Application Software

Application software can be broadly classified into:

1. General-Purpose Application Software
2. Special-Purpose Application Software
3. Customized Application Software

General-Purpose Application Software

General-purpose software is designed to perform common tasks for a large number of users.

Examples

• Word processors
• Spreadsheet software
• Presentation software
• Web browsers
• Media players

Special-Purpose Application Software

Special-purpose software is designed to perform a particular type of task or serve a specific purpose.

Examples

• Railway reservation software
• Billing software
• Payroll software
• Hotel management software
• School examination software
• Banking software

For example, railway reservation software is designed mainly for managing railway ticket reservations.

Customized Application Software

Customized software is developed according to the specific requirements of a particular organisation or user.

For example, a school may develop software specifically for managing:

• Student records
• Attendance
• Examination results
• Fees
• Teacher information

Such software may not be suitable for every organisation because it is designed according to particular requirements.

System Software vs Application Software

System Software Application Software
Manages computer resources Performs tasks for users
Usually works in the background Usually used directly by the user
Essential for operating the computer Used according to the user's needs
Examples: Windows, Linux, device drivers Examples: Word, Excel, Chrome

Exam Quick-Reference Comparisons

Interpreter vs Compiler

FeatureInterpreterCompiler
Translation MethodLine-by-lineEntire program at once
Execution SpeedSlower overall executionFaster overall execution
DebuggingEasier (stops on first error)Displays all errors after compilation
Scroll to Top