Computer Hardware and Software Principles

Computer Hardware Fundamentals

  • Definition: Computer hardware encompasses physical machinery and digital circuitry used for input, processing, storage, and output activities in an information system.
  • Business Purpose: Organizations invest in hardware to increase worker productivity, boost revenue, reduce operational costs, enhance customer service, speed up time-to-market, and facilitate employee collaboration.
  • System Selection: Hardware acquisition requires balancing system performance against cost, control, and complexity while aligning hardware choices with organizational and information system objectives.

System Hardware Components

Central Processing Unit (CPU) Architecture & Processing

  • CPU Components:
    • Arithmetic/Logic Unit (ALU): Executes mathematical calculations and logical comparisons.
    • Control Unit: Sequentially retrieves program instructions, decodes them, and coordinates data movement across the ALU, registers, primary memory, and secondary storage.
    • Registers: High-speed memory locations within the CPU used to temporarily hold instructions and data immediately before, during, and after execution.
  • Machine Cycle: Consists of two primary phases:
    • Instruction Phase: Includes fetching the instruction from memory (Step 1) and decoding it (Step 2).
    • Execution Phase: Includes executing the instruction (Step 3) and storing the output in registers or memory (Step 4).
    • Pipelining: A technique that speeds execution by overlapping instruction fetch, decode, and execution stages.

Machine Cycle

  • Performance Metrics:
    • Machine Cycle Time: Measured in nanoseconds (10−9 s10^{-9}\,s) for personal computers, picoseconds (10−12 s10^{-12}\,s) for mainframes, and femtoseconds (10−15 s10^{-15}\,s) for supercomputers. Also measured in MIPS (millions of instructions per second).
    • Clock Speed: Paced by internal electronic pulses, measured in Megahertz (MHz, millions of cycles per second) or Gigahertz (GHz, billions of cycles per second).
  • Bus Architecture: The System Bus links the CPU to main memory, while the Expansion Bus connects add-on cards and peripheral devices. Wider bus widths (e.g., 64-bit) enable higher data throughput.

Memory & Advanced Processing Topologies

  • Primary Storage Types:
    • Random Access Memory (RAM): Volatile main memory holding active program instructions and data; each byte possesses a unique address.
    • Read-Only Memory (ROM): Nonvolatile storage providing permanent instructions (such as boot code).
    • Cache Memory: Extremely fast memory storing frequently accessed data. Includes Level 1 (L1, on CPU chip), Level 2 (L2, dedicated high-speed interface), and Level 3 (L3, external near CPU).
  • Storage Measurement Units:
    • Byte (B): 1 byte1\,\text{byte}
    • Kilobyte (KB): 210 bytes2^{10}\,\text{bytes} (1,024 bytes1,024\,\text{bytes})
    • Megabyte (MB): 220 bytes2^{20}\,\text{bytes} (1,024 KB1,024\,\text{KB})
    • Gigabyte (GB): 230 bytes2^{30}\,\text{bytes} (1,024 MB1,024\,\text{MB})
    • Terabyte (TB): 240 bytes2^{40}\,\text{bytes} (1,024 GB1,024\,\text{GB})
    • Petabyte (PB): 250 bytes2^{50}\,\text{bytes} (1,024 TB1,024\,\text{TB})
  • Processing Paradigms:
    • Multiprocessing: Simultaneous execution of multiple instructions, often utilizing specialized coprocessors (such as GPUs) or multicore microprocessors on a single chip.
    • Parallel Computing: Simultaneous execution of a single task across multiple processors.
    • Massively Parallel Processing: Connects hundreds or thousands of processors, each with dedicated bus, memory, and OS.
    • Grid & Cloud Computing: Grid computing coordinates distributed networks of computers; Cloud computing provides high-performance computing on shared cluster infrastructure over the Internet.

Secondary Storage Technologies

  • Access Methods:
    • Sequential Access (SASD): Data must be written and retrieved sequentially (e.g., magnetic tape used for backups).
    • Direct Access (DASD): Records are accessed directly in any order (e.g., magnetic disk/hard disk).
  • Storage Media:
    • Magnetic Disks & RAID: Redundant Array of Independent Disks (RAID) combines multiple disks for performance and redundant storage (disk mirroring).
    • Solid State Drives (SSDs): Uses integrated circuit memory chips without moving parts; offers higher speed and durability but higher cost per gigabyte than traditional hard drives.
    • Optical Disks: Uses lasers to write and read data; includes CD-ROM, DVD, and Blu-ray formats.
  • Enterprise Storage Configurations:
    • Attached Storage: Drives connected directly to a single machine; simple but lacks shared network access.
    • Network-Attached Storage (NAS): Dedicated hard disk storage with its own network address providing file sharing and file management services.
    • Storage Area Network (SAN): High-speed, dedicated network linking enterprise computers directly to heterogeneous storage devices.
    • Storage as a Service: Cloud-based pay-as-you-go model providing scalable online storage capacity.

Input/Output Devices & Computer System Categories

  • Input Hardware: Keyboards, pointing devices, speech recognition software, digital cameras, scanning devices (OMR/Scantron, OCR), pen input, Magnetic Ink Character Recognition (MICR) on checks, Point-of-Sale (POS) terminals, bar-code readers, and Radio Frequency Identification (RFID) tags.
  • Output Hardware:
    • Displays: Flat-panel screens including Liquid Crystal Display (LCD), Light-Emitting Diode (LED), Organic LED (OLED), and Plasma.
    • Hard-Copy Devices: Laser printers, inkjet printers, multi-function printers, 3D printers, and plotters.
  • Single-User Systems:
    • Portable: Smartphones/handhelds, laptops, notebooks/ultrabooks, tablets, netbooks.
    • Nonportable: Desktop computers, thin clients (centrally managed with low local storage), nettops, and workstations (high-performance desktop machines for engineering and CAD).
  • Multi-User Systems:
    • Servers: Multiuser systems running dedicated tasks; includes compact blade servers housing multiple motherboards in a single chassis.
    • Mainframes: Centralized enterprise machines providing massive processing power, high security, and high reliability; legacy jobs transitioning to smaller machines is termed computer downsizing.
    • Supercomputers: High-performance machines designed for scientific computing and complex calculations, measured in PetaFLOPS (1×1015 FLOPS1 \times 10^{15}\,\text{FLOPS}).
  • Data Centers & Green Computing:
    • Virtual Servers: Utilizes hypervisors to split physical host server resources into multiple virtual guest machines to increase hardware utilization.
    • Green Computing: Focuses on environmentally responsible design, operation, and disposal of hardware; rated via EPEAT tiers (Bronze, Silver, Gold) following IEEE 1680 standards.

Virtual Server Architecture

Systems & Application Software Frameworks

  • Software Classifications:
    • Systems Software: Coordinates hardware components and supports application programs; consists of operating systems, utility programs, and middleware.
    • Application Software: Programs designed to help users solve specific operational problems and perform tasks.
  • Spheres of Influence:
    • Personal: Productivity applications for individual users (e.g., word processors, spreadsheets).
    • Workgroup: Collaborative software for groups working toward shared goals (e.g., email, scheduling, version control).
    • Enterprise: Organization-wide software managing enterprise interactions and supply chains (e.g., Enterprise Resource Planning / ERP).

Operating System Functions & Components

  • Core OS Functions:
    • Kernel: The central core of the OS controlling critical system processes and hardware interactions.
    • User Interface: Provides interaction modes via Command-line, Menu-driven, Graphical User Interface (GUI), or Natural Language/Voice interfaces (e.g., SAPI, Siri).
    • Hardware Independence: Applications request services via Application Program Interfaces (APIs), enabling programs to run on hardware without low-level machine awareness.

Application Program Interface

  • Memory Management: Manages physical RAM and virtual memory; swaps program segments between disk and RAM using paging to reduce idle CPU time.
  • Task Management: Manages execution modes including multitasking, multithreading, time-sharing, real-time processing, and multiprocessing across scalable architectures.
  • File & Security Management: Tracks secondary storage locations, manages file access permissions, and enforces network security settings.
    • Utilities & Middleware:
  • Utility Programs: Perform system maintenance, data compression, disk cleanup, archiving, and virus protection.
  • Middleware: Software connecting disparate systems to facilitate communication; provides Enterprise Application Integration (EAI) and Service-Oriented Architecture (SOA).

Application Software Acquisition & Software Trends

  • Acquisition Approaches:
    • Proprietary Software: One-of-a-kind custom programs meeting exact business requirements; offers maximum control but entails higher development costs, time, and risks.
    • Off-the-Shelf Software: Pre-built commercial software; lower initial cost and proven quality, but may include unused features or lack specific functionality.
    • Software as a Service (SaaS): Web-hosted software accessed via subscription or usage-based pricing in cloud environments.
  • Generations of Programming Languages:
    • 1st Generation: Machine language (binary digits, e.g., 00010101).
    • 2nd Generation: Assembly language (mnemonics, e.g., MVC).
    • 3rd Generation: High-level procedural languages (e.g., READ SALES).
    • 4th Generation: Query and database languages (e.g., SQL statements).
  • Software Issues & Industry Trends:
    • Software Bugs: Deficiencies in code mitigated by registering products, installing patches, and reviewing read-me files.
    • Licensing: Software purchase grants usage licenses (single-user or multi-user) rather than source code ownership.
    • Open-Source Software: Software provided with free access to source code for modification (e.g., Linux); offers flexibility but lacks vendor-backed support warranties.