1.
SOFTWARE – INTRODUCTION
Software is a set of instructions that tells the hardware what to do.
It is not tangible (cannot be touched or seen physically).
Software and hardware work together to perform tasks on a computer.
Example: Operating Systems (Windows, Ubuntu), Word Processors (MS Word), Media Players
(VLC), etc.
2. IMPORTANCE / NEED FOR SOFTWARE
Software makes hardware usable.
Acts as an interface between the user and hardware.
Hardware alone cannot perform any task without software.
Helps in communication between components like CPU, memory, input/output devices.
3. TYPES OF SOFTWARE
Software is classified into three main types:
(A) System Software
Controls the internal functioning of a computer.
Directly interacts with hardware and manages system resources.
Subtypes of system software:
1. Operating System (OS): Operating System is an interface between user and
hardware.
Most essential software.
Manages application software, files, memory, and provides security.
Examples: Windows, Linux, Mac OS, Android, iOS, Ubuntu.
2. System Utilities:
Used for maintenance and performance improvement.
Some come pre-installed, others can be added later.
Examples:
Pre-installed: Disk Defragmenter, Format Utility, System Restore.
External: Antivirus Software, Disk Cleaner, Backup Software.
3. Device Drivers:
Software that enables communication between OS and hardware devices.
Each device (printer, scanner, keyboard, etc.) has a unique driver.
Acts like a translator between hardware and the OS.
Must be installed when new hardware is added to a system.
(B) Programming Tools
Help programmers to write, test, and debug software.
Examples:
o Compiler: Converts high-level code to machine code.
o Interpreter: Executes code line by line.
o Assemblers: Converts Assembly language code to machine code.
o Debugger: Finds and fixes errors.
o IDE (Integrated Development Environment): e.g., Eclipse, NetBeans, Turbo C++,
Python IDLE
(C) Application Software
Designed to help users perform specific tasks.
Runs on top of system software.
Categories:
o General-purpose: MS Office, Web Browsers, Media Players.
o Customized: Developed for specific organizations (e.g., banking software).
o Mobile Apps: WhatsApp, Instagram, etc.
4. Additional Terms
Soft-copy: A file/document that exists in digital form (e.g., on pen drive, hard disk).
Hard-copy: A printed version of a soft-copy.
Revision Tips
Remember: Hardware needs Software to work.
System software = controls computer.
Application software = performs user tasks.
Programming tools = helps build software.
Device drivers = enable hardware to work with OS.
DIFFERENCE BETWEEN COMPILER AND INTERPRETER
Operating System (OS)
Definition
An Operating System (OS) is system software that acts as an intermediary between the user and
the computer hardware. It manages all software and hardware and allows other programs to run.
Example OS: Windows, Linux, macOS, Android, iOS, Ubuntu
Functions of Operating System
The major functions of an operating system can be grouped into the following:
1. Process Management
Manages all the programs (processes) running in the computer.
Handles creation, execution, and termination of processes.
Ensures smooth execution of multiple programs through multitasking.
Example: Running MS Word, YouTube, and antivirus at the same time.
2. Memory Management
Manages main memory (RAM).
Allocates and deallocates memory to processes.
Ensures that each program gets enough memory without interfering with others.
Example: When you open a game, OS allocates enough memory to run it smoothly.
3. File Management
Organizes files and directories on storage devices.
Handles file creation, reading, writing, deletion, etc.
Controls access permissions and ensures data security.
Example: Saving a document in a folder, renaming, or deleting it.
4. Device Management
Controls and coordinates input/output devices (keyboard, mouse, printer, etc.).
Uses device drivers to communicate with hardware.
Manages data transfer between devices and the system.
Example: Printing a file using a printer — OS ensures smooth communication.
5. User Interface (UI)
Provides an interface to interact with the system.
Two main types:
o Command Line Interface (CLI)
o Graphical User Interface (GUI)
(Explained in detail in the next section)
6. Security and Access Control
Provides user authentication through passwords or biometrics.
Protects data and system from unauthorized access and malware.
Example: Login screen in Windows or Android PIN/pattern lock.
7. Job Scheduling / Task Scheduling
Decides the order in which tasks are executed.
Uses scheduling algorithms for fair CPU usage.
Example: Background updates running while you’re browsing.
8. Error Detection and Handling
Continuously monitors the system to detect and report hardware or software errors.
Tries to recover from errors or shuts down processes safely.
Example: “Windows encountered a problem and needs to restart.”
User Interface of Operating System
The User Interface (UI) is the point of interaction between the user and the computer.
A. Command Line Interface (CLI)
User types text commands to interact with the OS.
Requires knowledge of specific commands.
Preferred by advanced users (e.g., system administrators, programmers).
Examples: MS-DOS, Linux Terminal
Command Example: dir in DOS to list files in a directory.
B. Graphical User Interface (GUI)
Uses windows, icons, menus, and buttons to interact.
More user-friendly, suitable for beginners.
Allows interaction using mouse, keyboard, or touch.
Examples: Windows, macOS, Ubuntu Desktop, Android
Clicking on “This PC” or dragging files with a mouse.
Summary Table
Function Description Example
Process Management Handles execution of programs Multitasking in Windows
Memory Management Allocates RAM to programs Opening multiple tabs in Chrome
File Management Manages files and folders Saving and renaming files
Device Management Controls input/output devices Using a printer
Security User authentication and data protection Login password
Error Handling Detects system errors “Blue Screen” in Windows
User Interface Way user interacts with OS GUI of Android or CLI of Linux