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
• 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
- 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
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.
• 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
| Feature | Interpreter | Compiler |
|---|---|---|
| Translation Method | Line-by-line | Entire program at once |
| Execution Speed | Slower overall execution | Faster overall execution |
| Debugging | Easier (stops on first error) | Displays all errors after compilation |