1
Software & Operating Systems:
Comprehensive Theory Guide
Module 1: Software Fundamentals
Definition and Types
● Software: A set of instructions or programs that tells a computer what to do and how to
perform tasks. It enables hardware to run.
● Program: An ordered set of instructions.
● System Software: Software designed to run the computer's hardware and application
programs. It provides a platform for other software.
○ Examples: Operating Systems (Windows, Linux, Android), Device Drivers, Firmware
(BIOS), Language Translators (Compilers, Assemblers).
● Application Software: Software designed for end-users to perform specific tasks.
○ General Purpose: MS Word (Word Processing), MS Excel (Spreadsheet), Web
Browsers (Chrome, Safari), Media Players (VLC).
○ Special Purpose: Payroll systems, Railway reservation systems, Weather forecasting.
● Utility Software: Programs that analyze, configure, optimize, or maintain a computer.
○ Examples: Antivirus, Disk Defragmenter, Disk Cleanup, File Managers, Compression
tools (WinZip, WinRAR), Backup software.
● Firmware: A specific class of computer software that provides the low-level control for
the device's specific hardware. It is often stored in Read-Only Memory (ROM) or Flash
memory (e.g., BIOS).
Licensing Models
● Open Source Software: Software with source code that anyone can inspect, modify, and
enhance. It is often free to download and use.
○ Examples: Linux, Android, Mozilla Firefox, Apache, LibreOffice.
● Proprietary (Closed Source) Software: Software where the source code is not shared
and is the property of the vendor.
○ Examples: Microsoft Windows, macOS, iOS, MS Office, Adobe Photoshop.
● Freeware: Software available free of charge but the source code is usually not available
for modification.
● Shareware: Software that is provided free of charge on a trial basis (e.g., WinZip). Users
are expected to pay if they wish to continue using it after the trial.
● Public Domain Software: Software with no copyright restrictions.
2
Module 2: Operating Systems (OS) Concepts
Core Functions
● Definition: An interface between the computer user and computer hardware. It is the
most critical system software.
● Resource Management: Manages CPU, Memory (RAM), Disk Drives, and Printers.
● Process Management: Handles the creation, scheduling, and termination of processes.
● Memory Management: Allocates and deallocates memory space to programs.
● File Management: Manages files and directories (folders) on storage devices.
● Security: Provides password protection and access control (though distinct from
Antivirus).
● User Interface: Provides the method for users to interact with the computer (GUI or CLI).
Types of Operating Systems
● Batch Processing OS: Processes a group (batch) of similar jobs automatically without
user interaction.
● Multi-programming: Executes multiple programs simultaneously using a single
processor by keeping several jobs in memory.
● Multi-tasking (Time-sharing): Allows multiple users or programs to share the CPU by
switching between them rapidly. Windows and Linux are multi-tasking.
● Multi-processing: Uses two or more processors (CPUs) within a single computer system
to run programs simultaneously.
● Real-Time OS (RTOS): Designed for applications requiring immediate data processing
with minimal latency (e.g., Robot control, Air traffic control).
○ Interrupt Latency: Must be minimal in RTOS.
● Embedded OS: Specialized OS designed to perform a specific task for a device that is
not a computer (e.g., Washing machines, Microwaves). Often stored in ROM.
● Single User OS: Designed for one user at a time (e.g., MS-DOS, Palm OS).
OS Components & Architecture
● Kernel: The core component of the OS that interacts directly with hardware (CPU,
Memory, Devices). It remains in memory during the entire computer session.
○ Monolithic Kernel: All OS services run in the kernel space.
○ Microkernel: Only basic functions run in kernel space.
○ Hybrid Kernel: Combination of both (e.g., macOS/OS X).
● Shell: A user interface that interprets commands and passes them to the kernel.
● System Calls: The mechanism used by an application program to request a service from
the OS (e.g., creating a process, accessing a file).
3
Module 3: Process & Memory Management
Process Scheduling
● Throughput: The number of processes completed per unit of time.
● Round Robin Scheduling: A preemptive scheduling algorithm where each process is
assigned a fixed time slot (Time Quantum/Slice).
● First Come First Serve (FCFS): A non-preemptive scheduling algorithm.
● Deadlock: A situation where a set of processes are blocked because each process is
holding a resource and waiting for another resource acquired by some other process.
○ Conditions for Deadlock: Mutual Exclusion, Hold and Wait, No Preemption, Circular
Wait.
● Thread: A lightweight process that can run independently or as part of a process.
Memory Management
● Virtual Memory: A technique that uses hard disk space to simulate additional RAM,
allowing the execution of large programs.
● Paging: A memory management scheme that eliminates the need for contiguous
allocation of physical memory. Divides memory into fixed-size blocks called "Pages".
● Segmentation: Divides memory into variable-length segments based on logical units
(e.g., functions, arrays).
● Thrashing: A state where the OS spends more time paging (swapping data between
RAM and Disk) than executing processes, causing performance degradation.
● Compaction: A technique used to overcome external fragmentation by shifting
processes to place free memory in one contiguous block.
● Spooling: Simultaneous Peripheral Operations On-Line. Used for buffering data for I/O
devices (like printers) so the CPU can continue working.
Module 4: Specific Operating Systems
Microsoft Windows
● Type: GUI (Graphical User Interface) based, Multi-tasking, Closed Source.
● Developer: Microsoft.
● Versions: Windows 95, 98, XP, Vista, 7, 8, 10, 11. (Windows 9 is not a valid version).
● File Systems:
○ FAT32: Older, high compatibility with various devices (USB, Cameras), limited security
and file size (max 4GB).
○ NTFS (New Technology File System): Newer, supports large files, better security,
file compression, and encryption. Supports Hard Links and Junctions.
4
● Interface Elements:
○ Icons: Small graphical representations of files/programs.
○ Control Panel: Used to change system settings (Date, Time, Hardware).
○ Taskbar: Displays open programs and the Start button.
○ Recycle Bin: Temporarily stores deleted files.
Linux & Unix
● Unix: A powerful, multi-user, multi-tasking OS developed in the 1970s at Bell Labs (by
Ken Thompson, Dennis Ritchie). Written in 'C' language.
● Linux: An open-source, Unix-like OS developed by Linus Torvalds in 1991.
○ Mascot: Penguin.
○ Structure: Monolithic Kernel.
○ Distributions (Distros): Ubuntu, Fedora, Debian, Mint, Red Hat, Kali Linux, OpenSUSE.
○ File System: Case-sensitive (e.g., '[Link]' and '[Link]' are different). Everything is
treated as a file.
○ Root User: The superuser/administrator.
○ Daemon: A background process in Linux/Unix.
○ Inode: A data structure representing a file system object (file or directory). Contains
metadata but not the filename.
● Common Linux/Unix Commands:
○ ls: List files.
○ mkdir: Create a new directory.
○ cd: Change directory (cd .. moves to parent directory).
○ grep: Search for a specific pattern in a file.
○ stty: Configure terminal I/O settings.
○ ar: Create static libraries.
Mobile Operating Systems
● Android: Open-source, Linux-based OS developed by Google (acquired Android Inc. in
2005). First commercial device: HTC Dream (2008). Versions named after desserts
(Cupcake, Donut, KitKat, Pie, Oreo, etc.).
● iOS: Closed-source OS developed by Apple for iPhone/iPad.
● Symbian: Discontinued OS used in older Nokia phones.
● Bada: Developed by Samsung (Discontinued).
● Tizen: Linux-based OS developed by Samsung (used in Smart TVs/Watches).
● BlackBerry OS: Known for security and compression features useful for corporate users.
macOS (Macintosh Operating System)
● Developer: Apple Inc.
● Type: GUI-based, derived from Unix.
● Versions: Named after big cats (Cheetah, Puma, Tiger) and California locations (Sierra,
5
Mojave, Catalina).
● Text Edit: Default text editor.
Module 5: Programming Tools & Translators
Translators
Software that converts high-level language code into machine code (binary) so the computer
can understand it.
1. Assembler: Converts Assembly Language (mnemonics) into Machine Language.
2. Compiler: Converts a High-Level Language program into Machine Language all at
once.
○ Generates Object Code.
○ Lists all errors after compilation.
○ Execution is faster.
3. Interpreter: Converts a High-Level Language program into Machine Language line by
line.
○ Executes instructions immediately.
○ Stops at the first error.
○ Execution is slower than a compiler.
Development Tools
● Linker: Takes object files generated by the compiler and combines them into a single
executable file.
● Loader: Loads the executable file into the main memory (RAM) for execution.
● Debugger: A tool used to test and find errors (bugs) in other programs.
● Text Editors for Coding: Notepad++, Sublime Text, Atom, Visual Studio Code.
Module 6: Malware & Security
● Malware: Malicious Software designed to harm computers.
● Virus: A program that replicates itself by modifying other computer programs and
inserting its own code. Requires a host program.
○ Boot Sector Virus: Infects the boot sector of floppy/hard disks.
○ Cluster/Directory Virus: Changes file paths in the directory.
○ First Virus: Creeper (1971). First PC Boot Sector Virus: Brain (1986).
● Worm: A standalone malware that replicates itself to spread to other computers. Does
not need to attach to a host program.
● Trojan Horse: Malware disguised as legitimate software. Creates backdoors for
attackers. Does not replicate.
6
● Spyware: Software that secretly collects user information without consent.
● Adware: Automatically displays or downloads advertising material.
● Ransomware: Encrypts user data and demands payment for the decryption key.
● Patch: A small piece of software designed to update a computer program or fix a
bug/vulnerability.
Module 7: File Systems & Extensions
File Extensions
● Executable/System: .exe, .bat (Batch file), .bin, .com.
● Text/Document: .txt, .doc/.docx (Word), .pdf (Portable Document Format - Adobe), .odt
(OpenDocument).
● Image: .jpg/.jpeg (Joint Photographic Experts Group), .png (Portable Network Graphics),
.gif (Graphics Interchange Format), .bmp (Bitmap), .tiff.
● Audio: .mp3, .wav (Waveform), .wma.
● Video: .mp4, .avi (Audio Video Interleave), .mov, .wmv, .flv.
● Compressed: .zip, .rar.
Concepts
● File Backup: Creating a copy of data to restore in case of loss.
● Disk Defragmentation: Rearranging fragmented files on a disk to occupy contiguous
storage locations, improving speed.
● Disk Cleanup: Removing unnecessary files to free up space.
● Booting: The process of starting a computer.
○ Cold Boot: Turning on the computer from a powered-off state.
○ Warm Boot: Restarting the computer.
○ POST: Power-On Self-Test performed by BIOS.
Module 8: Application Software Examples
● Word Processing: MS Word, WordPad, Notepad. (Used for creating documents).
● Spreadsheet: MS Excel, Lotus 1-2-3, LibreOffice Calc. (Used for calculations, analyzing
data in rows/columns).
● Presentation: MS PowerPoint, OpenOffice Impress.
● Database (DBMS): MS Access, Oracle, SQL Server, FoxPro, MySQL.
● Graphics/Design: Adobe Photoshop (Raster graphics), CorelDraw (Vector graphics),
CAD (Computer-Aided Design).
● Web Browsers: Chrome, Firefox, Safari, Opera, Edge. (Note: These are Application
Software).
7
Cheat Sheet: Exam Traps & Specifics
Crucial Shortcuts (Windows)
● Win + E: Open File Explorer.
● Alt + F4: Close current active window.
● Ctrl + H: Find and Replace (in Notepad/Word).
● F5: Insert Date/Time (in Notepad) or Refresh.
● Ctrl + Right Arrow: Move cursor to the beginning of the next word.
● Ctrl + Alt + Delete: Open Task Manager / Security options.
Important Facts & "Did You Know?"
● Y2K Bug: A calendar formatting bug related to the year 2000 (Millennium Bug).
● [Link]: The default output filename for executables in older Unix/Linux systems.
● CRM: Customer Relationship Management software.
● DTP: Desktop Publishing.
● API: Application Programming Interface.
● GUI: Graphical User Interface (uses Icons, Menus, Windows).
● CLI: Command Line Interface (uses text commands, e.g., DOS, Unix).
● BIOS Location: Stored in ROM/EEPROM on the Motherboard.
● Android Owner: Currently Google (Previously Android Inc.).
● First Graphical Browser: Mosaic (1993).
● Not an OS: Microsoft Office, Google Chrome, Hadoop, Tally.
● Software Piracy: Illegal copying and distribution of software.
● Init Process: In Unix/Linux, the first process started during booting has Process ID (PID)
1.