Basic Computer Organisation
1. Introduction to Computer System
A computer system is an electronic device that accepts input, processes it according to
instructions, and produces output. It integrates hardware (physical components) and
software (instructions or programs) to perform tasks efficiently.
Components of a Computer System
• Hardware: The tangible parts of a computer that you can touch, such as the CPU,
memory, and peripheral devices.
o Explanation: Hardware is like the body of the computer, providing the physical
infrastructure needed to execute tasks. Without hardware, software cannot
function.
• Software: The intangible instructions or programs that tell the hardware what to
do.
o Explanation: Software acts as the brain, directing hardware to perform specific
operations, such as displaying text or calculating numbers.
• Input Device: Devices used to enter data into the computer, e.g., keyboard, mouse,
scanner, microphone.
o Explanation: Input devices bridge the gap between the user and the computer,
allowing users to provide data or commands. For example, a keyboard sends
typed characters to the CPU for processing.
• Output Device: Devices that display or produce the results of processing, e.g.,
monitor, printer, speakers.
o Explanation: Output devices present the processed data in a user-friendly
form, such as a monitor displaying a webpage or a printer producing a
document.
• CPU (Central Processing Unit): The core component that executes instructions by
performing the fetch-decode-execute cycle.
o Explanation: The CPU is often called the "brain" of the computer. It fetches
instructions from memory, decodes them to understand what to do, and
executes them to produce results. For example, adding two numbers involves
the CPU fetching the addition instruction, decoding it, and performing the
calculation.
• Memory:
o Primary Memory: Fast, volatile memory used for temporary storage during
processing.
▪ RAM (Random Access Memory): Stores data and instructions
currently in use; loses data when power is off.
▪ ROM (Read-Only Memory): Stores permanent instructions (e.g., BIOS);
non-volatile.
▪ Explanation: Primary memory is like a workspace where the CPU
quickly accesses data and instructions. RAM is volatile, meaning it’s
cleared when the computer restarts, while ROM retains critical startup
instructions.
o Cache Memory: High-speed memory located near the CPU to store frequently
accessed data.
▪ Explanation: Cache acts like a quick-access notepad for the CPU,
reducing the time needed to fetch data from slower RAM, thus speeding
up processing.
o Secondary Memory: Non-volatile storage for long-term data retention, e.g.,
hard disk drives (HDD), solid-state drives (SSD), USB drives.
▪ Explanation: Secondary memory is like a filing cabinet, storing data
even when the computer is off. It’s slower than primary memory but has
much larger capacity.
• Units of Memory:
o Bit: The smallest unit of data (0 or 1).
o Byte: 8 bits, representing a single character.
o Kilobyte (KB): 1024 bytes.
o Megabyte (MB): 1024 KB.
o Gigabyte (GB): 1024 MB.
o Terabyte (TB): 1024 GB.
o Petabyte (PB): 1024 TB.
o Explanation: Memory units measure data storage capacity. A bit is a single
binary value, and a byte can represent one character (e.g., ‘A’). Larger units
like GB and TB are used for modern storage devices, such as a 1 TB hard
drive holding millions of files.
2. Types of Software
Software is categorized based on its role in the computer system, divided into system
software, programming tools, and application software.
System Software
• Definition: Software that manages hardware resources and provides a platform for
other software to run.
• Types:
o Operating Systems: Control hardware and provide user interfaces (e.g.,
Windows, Linux, macOS).
▪ Explanation: The OS is the intermediary between hardware and users,
managing tasks like running programs, allocating memory, and
handling input/output.
o System Utilities: Tools for maintaining and optimizing the system (e.g.,
antivirus software, disk defragmenter).
▪ Explanation: Utilities perform housekeeping tasks, such as scanning for
viruses or cleaning up unused files, to keep the system running
smoothly.
o Device Drivers: Software that enables communication between the OS and
hardware devices (e.g., printer drivers, graphics card drivers).
▪ Explanation: Drivers act like translators, allowing the OS to understand
and control specific hardware, such as telling a printer how to print a
document.
Programming Tools and Language Translators
• Assembler: Converts assembly language (low-level, human-readable code) into
machine code (binary).
o Explanation: Assembly language uses mnemonic codes (e.g., ADD, MOV),
which assemblers translate into 0s and 1s that the CPU understands.
• Compiler: Translates high-level language code (e.g., C++, Java) into machine code
in one go, creating an executable file.
o Explanation: Compilers process an entire program at once, producing a
standalone file that runs faster but requires recompilation for changes.
• Interpreter: Executes high-level language code line-by-line without creating an
executable file (e.g., Python, JavaScript).
o Explanation: Interpreters are slower than compilers but allow immediate
execution and easier debugging, as changes can be tested without
recompiling.
Application Software
• Definition: Programs designed to perform specific user tasks.
• Examples: Word processors (e.g., Microsoft Word), spreadsheets (e.g., LibreOffice
Calc), web browsers (e.g., Chrome), and games.
• Explanation: Application software is tailored for end-users, enabling tasks like
writing documents, browsing the internet, or playing games, built on top of system
software.
3. Operating System (OS)
The operating system is a critical piece of system software that manages hardware,
software, and user interactions.
Functions of the Operating System
• Process Management: Manages running programs (processes) by scheduling,
multitasking, and allocating CPU time.
o Explanation: The OS ensures multiple programs run simultaneously by
switching CPU attention between them, like a manager assigning tasks to
workers.
• Memory Management: Allocates and deallocates memory for processes to ensure
efficient use.
o Explanation: The OS acts like a librarian, assigning memory spaces to
programs and freeing them up when no longer needed to prevent memory
shortages.
• File Management: Organizes, stores, and retrieves files on storage devices.
o Explanation: The OS maintains a file system (e.g., NTFS, FAT32) to keep track
of files, like a filing system organizing documents in folders.
• Device Management: Controls hardware devices through device drivers.
o Explanation: The OS communicates with devices like printers or keyboards
via drivers, ensuring they work seamlessly with applications.
• User Interface: Provides a way for users to interact with the system.
o Explanation: The OS offers interfaces like GUIs or CLIs, making it easy for
users to issue commands or navigate the system.
• Security: Protects data and resources through user authentication and access
controls.
o Explanation: The OS ensures only authorized users access files or settings,
like a security guard checking IDs.
OS User Interface
• Command-Line Interface (CLI): A text-based interface where users type commands
(e.g., Linux Terminal, Windows Command Prompt).
o Explanation: CLI is efficient for advanced users who need precise control, but
it requires knowledge of specific commands (e.g., dir to list files).
• Graphical User Interface (GUI): A visual interface with icons, windows, and menus
(e.g., Windows Desktop, macOS Finder).
o Explanation: GUIs are user-friendly, allowing interaction via mouse clicks and
visual elements rape; Explanation: The NOT gate inverts the input (e.g., 0
becomes 1, 1 becomes 0).
o Truth Table:
A NOT A
0 1
1 0
o Explanation: NOT is the simplest gate, used to reverse logic states, like turning
a switch "on" to "off."
• AND: Outputs 1 only if both inputs (A and B) are 1.
o Truth Table:
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
o Explanation: AND requires both inputs to be true, like a circuit needing two
switches to be on to complete a path.
• OR: Outputs 1 if at least one input (A or B) is 1.
o Truth Table:
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
o Explanation: OR is inclusive, outputting true if either or both inputs are true,
like a circuit with parallel switches.
• NAND: NOT AND; outputs 0 only if both inputs are 1.
o Truth Table:
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
o Explanation: NAND is the opposite of AND, useful in building other gates due
to its versatility.
• NOR: NOT OR; outputs 1 only if both inputs are 0.
o Truth Table:
A B A NOR B
0 0 1
0 1 0
1 0 0
1 1 0
o Explanation: NOR is the opposite of OR, also versatile for constructing other
logic circuits.
• XOR: Outputs 1 if exactly one input is 1.
o Truth Table:
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
o Explanation: XOR is exclusive, outputting true only when inputs differ, useful
in arithmetic circuits like adders.
De Morgan’s Laws
• Law 1: ¬(A ∧ B) = ¬A ∨ ¬B (The complement of A AND B equals NOT A OR NOT B).
o Explanation: This law allows transforming an AND operation into an OR
operation with inverted inputs, simplifying circuit design.
• Law 2: ¬(A ∨ B) = ¬A ∧ ¬B (The complement of A OR B equals NOT A AND NOT B).
o Explanation: This law converts an OR operation into an AND operation with
inverted inputs, aiding in logic optimization.
Logic Circuits
• Definition: Combinations of logic gates to perform complex operations, such as
adders, multiplexers, or flip-flops.
• Explanation: Logic circuits are the building blocks of digital systems, like CPUs or
memory units, designed using truth tables and Boolean algebra to achieve desired
functionality.
5. Number Systems
Computers use different number systems to represent and process data, each with a
specific base.
Types of Number Systems
• Binary: Base-2 (uses 0, 1).
o Explanation: Binary is the native language of computers, as all data is stored
as 0s and 1s in electronic circuits (e.g., 1010 = 10 in decimal).
• Octal: Base-8 (uses 0–7).
o Explanation: Octal is a compact way to represent binary numbers, often used
in early computing systems (e.g., 12 = 10 in decimal).
• Decimal: Base-10 (uses 0–9).
o Explanation: Decimal is the standard human number system, used in
everyday calculations (e.g., 10 = 10).
• Hexadecimal: Base-16 (uses 0–9, A–F, where A=10, B=11, ..., F=15).
o Explanation: Hexadecimal is widely used in programming and memory
addressing due to its compact representation of binary (e.g., A = 10 in
decimal).
Conversion Between Number Systems
• Decimal to Binary:
o Divide the decimal number by 2, record remainders, and read them in reverse
order.
o Example: Convert 10 to binary: 10 ÷ 2 = 5 (remainder 0), 5 ÷ 2 = 2 (remainder
1), 2 ÷ 2 = 1 (remainder 0), 1 ÷ 2 = 0 (remainder 1). Result: 1010.
o Explanation: This process breaks down the number into powers of 2, with
remainders forming the binary digits.
• Binary to Decimal:
o Multiply each bit by 2 raised to its position (starting from 0 on the right) and
sum the results.
o Example: 1010 = (1×2³) + (0×2²) + (1×2¹) + (0×2⁰) = 8 + 0 + 2 + 0 = 10.
o Explanation: Each binary digit represents a power of 2, and summing them
gives the decimal value.
• Decimal to Octal/Hexadecimal:
o Divide by 8 (for octal) or 16 (for hexadecimal), record remainders, and read in
reverse.
o Example (Octal): 10 ÷ 8 = 1 (remainder 2), 1 ÷ 8 = 0 (remainder 1). Result: 12.
o Example (Hexadecimal): 10 ÷ 16 = 0 (remainder 10 = A). Result: A.
o Explanation: Similar to binary conversion, but using the base of the target
system (8 or 16).
• Binary to Octal:
o Group binary digits into sets of 3 (from right), convert each group to an octal
digit.
o Example: 1010 = 001 010 = 12 in octal (001 = 1, 010 = 2).
o Explanation: Each group of 3 bits corresponds to an octal digit (0–7).
• Binary to Hexadecimal:
o Group binary digits into sets of 4 (from right), convert each group to a
hexadecimal digit.
o Example: 1010 = 1010 = A in hexadecimal (1010 = 10 = A).
o Explanation: Each group of 4 bits maps to a hexadecimal digit (0–9, A–F).
• Octal/Hexadecimal to Binary:
o Convert each octal digit to 3 bits or each hexadecimal digit to 4 bits.
o Example (Octal): 12 = 001 010 in binary.
o Example (Hexadecimal): A = 1010 in binary.
o Explanation: Each digit is expanded into its binary equivalent, maintaining
the number’s value.
6. Encoding Schemes
Encoding schemes define how characters are represented as binary codes for storage and
processing in computers.
ASCII (American Standard Code for Information Interchange)
• Definition: A 7-bit (or extended 8-bit) encoding scheme for English characters,
numbers, and symbols.
• Range: 7-bit ASCII supports 128 characters; 8-bit extended ASCII supports 256.
• Example: A = 65 (decimal) = 01000001 (binary).
• Explanation: ASCII assigns a unique binary code to each character, enabling text
storage and communication in early computers, primarily for English.
ISCII (Indian Script Code for Information Interchange)
• Definition: An 8-bit encoding scheme designed for Indian scripts, such as
Devanagari, Tamil, and Bengali.
• Purpose: Supports multilingual text representation for Indian languages.
• Example: Represents characters like क (Devanagari) with specific binary codes.
• Explanation: ISCII was developed to standardize text encoding for Indian languages,
allowing computers to process regional scripts accurately.
Unicode (UTF-8, UTF-32)
• Definition: A universal encoding scheme supporting characters from all languages
and symbols.
• UTF-8:
o Variable-length encoding (1–4 bytes per character).
o Backward compatible with ASCII (1-byte codes match ASCII).
o Example: A = 1 byte (01000001), क = 3 bytes (e.g., 11100011 10000010
10101100).
o Explanation: UTF-8 is efficient, using fewer bytes for common characters (like
ASCII) and more for complex ones, widely used in web and modern
applications.
• UTF-32:
o Fixed-length encoding (4 bytes per character).
o Example: A = 00000000 00000000 00000000 01000001, क = 00000000
00000000 00000011 00101100.
o Explanation: UTF-32 uses a consistent 4 bytes for every character, simplifying
processing but requiring more storage than UTF-8.
• Explanation: Unicode ensures global compatibility by assigning unique codes to
every character, with UTF-8 being the most common due to its efficiency.
Practical Applications
• Hardware and Software: Understanding components aids in troubleshooting
hardware issues or developing efficient software.
• Operating Systems: Knowledge of OS functions is crucial for system administration
and optimizing performance.
• Boolean Logic: Essential for designing digital circuits, programming, and
understanding computer operations.
• Number Systems: Used in programming, debugging, and memory addressing (e.g.,
hexadecimal in memory dumps).
• Encoding Schemes: Critical for text processing, supporting multilingual
applications, and ensuring data compatibility across systems.