Computer Hardware and Software Notes
Concepts of Computer Systems and Data Representation
Computer System Definition
- An interrelated set of components, including both hardware and software, that work together to convert raw data into usable information.
Fundamental Components
- Hardware: The physical, tangible components of a computing system (input devices, central processing unit, memory, output devices, and storage devices).
- Software: Computer programs, sets of instructions, and code routines that execute on the hardware layer to perform operational tasks.
Electronic Data Representation
- Computers utilize the Binary System as their fundamental data-representation method.
- Uses two distinct states represented by digits and , corresponding to the off/on states of electrical circuits or optical light pulses.
- Data is stored, processed, and transmitted electronically via binary code.

- Units of Data Measurement
- Bit: A single binary digit representing either a (off state) or a (on state). It is the smallest unit of data in computing.
- Nibble: Exactly half of a byte, consisting of .
- Byte: Composed of . It serves as the basic practical unit of data and represents the storage space required to hold a single alphanumeric character.
- Kilobyte (KB): Approximately (or precisely , where ), equivalent to 1000 characters.
- Megabyte (MB): Approximately (or precisely ), representing approximately one million characters.
- Gigabyte (GB): Approximately (or precisely ), representing approximately one billion characters.
- Terabyte (TB): Approximately (or precisely ).
- Petabyte (PB): Exactly .
- Exabyte (EB): Exactly .
Internal Architecture and Components of the System Unit
System Unit Form Factors
- System Unit: The main enclosure containing the electronic computer components used for data processing.
- Desktop / Tower PCs: System units housed in standalone chassis where the monitor is completely separate.
- Laptops: Integrated system units where the display monitor is attached to the base using a hinged clamshell design.
- Tablets: Flat system units that integrate primary user interaction via a touch-screen interface.
- Smartphones: Compact, handheld system units containing embedded computing architecture.
Motherboard Architecture
- The primary printed circuit board (PCB) inside the system unit to which all internal and external computer components connect.
- Directly connects core components like the CPU and main memory.
- Input devices such as keyboards and mice connect either directly to integrated ports on the motherboard or via peripheral interface connectors.
- Expansion cards and external hardware attach through expansion slots and input/output ports.

- Key Internal Hardware Components
- Power Supply: Converts alternating current (AC) electrical power from external outlets into regulated direct current (DC) power for internal system components.
- Microprocessor / CPU Chip: Integrated circuit chip mounted on the motherboard executing main processing functions.
- Cooling Fans & Extra Case Fan: Heat dissipation devices mounted on top of processing units and on system enclosure walls to prevent thermal failure.
- Motherboard: Mounted behind internal wiring and ribbon cables, acting as the structural communication backbone.
- Ribbon Cables & Power Cords: Internal wiring buses used for high-speed data transfer between controllers and drives, alongside internal DC power distribution wires.
- Expansion Cards: Modular circuit boards inserted into motherboard slots to add specialized capabilities, including Video Cards, Modem Cards, and Sound Cards.
- Optical Drives: Internal disk hardware such as CD/DVD drives mounted in front-facing drive bays.
- Hard Disk Drive: High-capacity secondary storage unit installed inside the internal storage chassis.

Central Processing Unit Architecture and Processing Dynamics
Role and Structure of the CPU
- The Central Processing Unit (CPU) functions as the structural "brain" of the computer system, following software program instructions to manipulate data into actionable information.
- Connected internally via high-speed electronic conduction pathways called a bus, which transports electrical signals between components and system memory.
Core CPU Subsystems
- Control Unit (CU):
- Stores the hardwired instruction set built directly into the silicon physical circuitry.
- Retrieves individual program instructions sequentially from main memory.
- Decodes and interprets instructions into lower-level internal machine commands.
- Passes arithmetic or logic execution routines directly to the Arithmetic/Logic Unit (ALU).
- Manages overall system hardware components, coordinates system activities, and directs the flow of data within the system unit.
- Arithmetic/Logic Unit (ALU):
- Serves as the internal calculator responsible for instruction execution.
- Arithmetic Operations: Performs fundamental mathematical computations including addition (), subtraction (), multiplication, and division.
- Logical Operations: Performs data value evaluations and comparison tests to determine equality or relational thresholds: equal to (), greater than (), greater than or equal to (), less than (), less than or equal to (), or not equal to ($\ eq$).
- Registers: Ultra-fast, localized internal CPU storage regions designed for temporary holding of data elements, current instructions, and internal execution addresses.
Processing Speeds and System Clock
- Driven by an internal quartz oscillator called the System Clock, which emits pulses at fixed intervals to synchronize all processing routines and operations.
- Megahertz (MHz): Measurement used in older processors; .
- Gigahertz (GHz): Standard measurement for modern processors; .
- Performance trade-offs: Operating a CPU at higher clock speeds exponentially increases electrical power consumption and elevates operational heat production.
Multicore Architecture
- An integrated chip containing two or more completely independent, actual hardware processing cores on a single physical package.
- Enables real-time simultaneous processing of independent execution threads (multitasking).
- Delivers enhanced computational performance while minimizing total power draw and thermal output.

- The Machine Cycle
- The standard sequential operational loop executed by the control unit for every software instruction:
- Fetch: Retrieve an instruction from Main Memory.
- Decode: Translate the retrieved instruction into specific computer operational commands.
- Execute: Process the decoded commands using internal processing circuitry (ALU or CU).
- Store: Write the computation results back into computer memory.

Hardware Categories: Input, Output, and Storage Media
Input Devices
- Specialized hardware peripherals used to feed raw data, commands, control signals, or user instructions into a computer system.
- Keyboard and Mouse: Standard character input and desktop point-and-click pointer controllers.
- Gaming Controllers: Game pads and Joysticks designed for multi-axis directional input in real-time environments.
- Scanning Devices: Flatbed Scanners (document digitization) and Handheld Barcode Scanners (reading optical linear barcode lines).
- Audio/Visual Input: Microphones (analog audio stream capture) and WebCams (live optical video signal capture).
- Biometric & Security Input: Iris Scanners (scanning ocular patterns), Fingerprint Scanners (biometric ridge reading), Hand Scanners (palm geometry authentication), and Touch-screen digitizers.
- Transaction & Financial Input: Magnetic Strip Card Readers (reading encoded magnetic credit/debit strips) and Signature Scanners (e.g., Wacom digital signature capture pads).
Primary Storage (Main Memory)
- High-speed storage layer directly accessible by the CPU; stores active software programs and operational data currently undergoing active execution.
- Volatile Memory (RAM - Random Access Memory): Fast workspace storage holding pending data and active process instructions. All contents are lost instantly when electrical power to the computer system is switched off.
- Non-Volatile Memory (ROM - Read-Only Memory): Firmware storage containing permanent, unerasable instructions (such as boot code). Retains contents intact without requiring continuous electrical power.
Secondary Storage Architecture
- Non-volatile, high-capacity storage layer detached from the CPU's direct execution space; designed for long-term data retention.
- Characteristics: Inexpensive per gigabyte, non-volatile, large capacity, but operates slower than primary RAM memory.
- Primary selection parameters for secondary storage systems are Storage Capacity and Read/Write Access Speed.
Secondary Storage Media Implementations
- Optical Disks: Data read and written using focused laser light beams rather than physical mechanical heads.
- CD-ROM / DVD-ROM: Compact Disk / Digital Versatile Disk Read-Only Memory containing permanently prerecorded factory data.
- CD-R / DVD-R: Recordable optical disks allowing data to be burned a single time.
- CD-RW / DVD-RW / DVD-RAM / DVD+RW: Erasable optical media capable of repeated record and erase cycles.
- DVD Capacity Parameters: Single-sided DVDs store of data; double-sided DVDs store up to .
- Blu-ray: High-capacity optical disk standard using blue-violet lasers to record, rewrite, and play back high-definition (HD) digital video and store large data files.
- Flash Drives: Solid-state, highly portable storage devices using USB interfaces; electronically erasable and rewritable.
- Magnetic Tapes: Ribbon-based magnetic storage media used primarily for high-capacity corporate enterprise archiving, sequential logging, and mass system backups.

- Output Devices
- Peripherals designed to convert computer processing results from digital bit sequences into human-understandable visual, printed, or auditory forms.
- Visual Display Units (Monitors):
- CRT (Cathode Ray Tube): Older, bulky electron gun displays.
- LCD (Liquid Crystal Display): Modern flat-panel displays utilizing polarization layers and liquid crystals.
- Hard-Copy Printers:
- Dot-Matrix Printers: Impact printers striking ink ribbons against continuous paper.
- InkJet Printers: Non-impact printers spraying microscopic liquid ink droplets.
- Laser Printers: High-speed electrostatic drum printers using dry toner powder.
- Audio Output: Computer speakers converting digital sound streams into physical sound waves.
System Software Infrastructure and Operating Systems
- Classification of Software
- System Software: Low-level operational programs that manage basic internal hardware operations, control peripheral devices, interface with application software, and allocate system resources.
- Application Software: Software constructed to perform specific tasks, solve real-world user problems, enhance productivity, or provide entertainment.

Fundamental System Software Layers
- Operating System (OS): Master system platform managing all computer operations.
- Device Drivers: Specialized control routines translating high-level commands into peripheral signals.
- Utility Programs: Maintenance utilities optimized for diagnostic management, system tuning, and security.
- Program Translators: Software tools converting user-written code into machine instructions.
Operating System Core Architecture
- Functions as the low-level master control infrastructure necessary for running any general-purpose hardware.
- Abstracts hardware complexities so application programs can execute without needing specific hardware-level configurations.
- Applications are specifically coded to run on top of a designated target Operating System.
Operating System Functions and Booting Process
- The Booting Process
- The essential initialization sequence that loads the operating system core into the main RAM memory upon system startup:
- Power-On: Electrical power supplied to system unit circuitry.
- Hardware Diagnostics: Microprocessor automatically executes diagnostic testing routines on CPU registers, RAM memory chips, and connected hardware peripherals.
- BIOS Execution: System executes the Basic Input/Output System (BIOS) startup code stored inside non-volatile ROM chips. BIOS contains core routines required to control hardware peripherals and locate system boot media.
- OS Loading: The startup boot program reads the operating system files off the primary hard disk, loads them into high-speed RAM main memory, and transfers total system execution control over to the OS kernel.

Primary Operating System Functions
- CPU Management & Kernel Control: Managed by the Supervisor (or Kernel), which stays permanently loaded in RAM while running. It coordinates non-resident routines to perform support actions for running applications.
- Memory Allocation & Virtual Memory: Tracks all RAM memory addresses, ensuring active programs and data structures do not overlap. Dynamically swaps execution blocks between RAM and disk storage to manage virtual memory space.
- Hierarchical File Management:
- Organizes secondary storage containing Data Files (named collections of data) and Program Files (executable code files).
- Structures data into a logical hierarchical tree format: top-level Directories (Folders) Subdirectories Files.
- Files are precisely referenced via exact storage pathnames (e.g.,
C:/MyDocuments/Termpaper/section1.doc). - Task Management & Multitasking: Coordinates processing schedules, enabling computers to run multiple operations concurrently. Employs processing time-slicing across active applications (e.g., word processing while playing audio files).
- Security & Access Control: Enforces system authorization boundaries by forcing user identity validation using pre-configured User IDs and Passwords during startup.
- Resource Allocation: Continuously monitors hardware utilization, allocating processor execution times, storage slots, system memory blocks, and peripheral device traffic.
Desktop Operating System Environments
- Microsoft Windows Platform: Windows CE, Windows 2000, Windows Vista, Windows XP, Windows 7, Windows 8, Windows 10.
- Apple Macintosh Platform: Mac OS X.
- Linux Platform: Debian, RedHat, Ubuntu.
Mobile Operating System Environments
- Symbian OS, Palm webOS, iOS 4, BlackBerry (RIM), Windows Phone 7, Android.
System Utilities, Device Drivers, and Program Translators
Utility Programs
- Dedicated software applications engineered to assist in configuring, analyzing, optimizing, or maintaining optimal computer system health and file administration.
- File Manager: Organizes, copies, moves, and tracks files and directory structures.
- Uninstaller: Safely strips out software files, settings, and registry keys.
- Antivirus Utility Suites: Scans system memory and storage to quarantine software threats (e.g., Avast, AVG Internet Security 2013, McAfee, Norton by Symantec, Kaspersky Lab).
- File Compression Tools: Reduces overall file size footprints for transit or storage (e.g., 7-Zip, WinRAR).
- Pop-Up Blockers: Filters out intrusive browser windows.
- Backup Utilities: Performs scheduled disk backups to external target storage (e.g., PC Backup).
- Firewalls: Filters network traffic parameters to block unauthorized connections.
Device Drivers
- Specialized system programs designed to allow operating systems to interact directly with external hardware peripherals (printers, scanners, input adapters).
Program Translators
- Converts high-level human-readable programming language source code (e.g., C++, Java) into machine-understandable binary execution code (machine code).
Application Software Categories, Licensing Models, and Suites
- Standard Application Software Types
| Application Type | Functional Uses | Canonical Examples |
|---|---|---|
| Document Production | Word processing, desktop publishing, document creation | MS Word, WordPerfect, FrontPage, Apache OpenOffice Writer |
| Numerical Analysis | Processing complex numerical data and mathematical modeling | MS Excel, Lotus-1-2-3, SPSS |
| Presentation | Creating graphical slide deck presentations | MS PowerPoint, OpenOffice Impress, Corel Presentations |
| Databases | Computer database management and querying | MS Access, Oracle, DB2 |
| Graphics | Illustration drawing, digital photo editing, CAD modeling | Paint, CorelDraw, AutoCAD |
Distribution and Deployment Categories
- Generic / Off-the-Shelf Packages: Pre-written, commercially packaged applications targeting widespread, general-purpose organizational tasks (e.g., standard word processors).
- Custom / Bespoke Software: Tailor-made applications created specifically for a targeted organization or enterprise system (e.g., BTC billing system, UB student management system).
- Open Source Software: Software provided with completely accessible source code downloadable from the internet, allowing universal modification, enhancement, and redistribution (e.g., Moodle, Linux, FrontlineSMS, WordPress).
- Web Application Software: Hosted applications running on remote Internet cloud servers accessed through local web browser interfaces (e.g., Dropbox, Google Docs).
- In-House Applications: Custom tools written internally using an organization's proprietary IT department resources.
Licensing and Commercial Models
- Proprietary Software: Commercial software distributed under strict legal rights owned exclusively by the developer; unauthorized distribution or copying is prohibited.
- Rentalware: Online subscription software leased for recurring fees and downloaded on demand.
- Freeware: Copyrighted software distributed completely free for user operation; users are forbidden from reselling it for commercial profit.
- Shareware: Copyrighted software provided free for a temporary trial period, after which users must pay a registration fee for continued usage and upgrade support.
- Integrated Software Packages (Software Suites): Bundled multi-application suites featuring common interface layouts, shared toolbars, and seamless data interchange.
- Prominent Examples: Microsoft Office 2010, Corel WordPerfect Office X7, Apache OpenOffice.