LEARNING OUTCOME 1
Computer System Structure
A computer system's structure defines how its various components are organized and interact. A computer, an electronic device for processing data, combined with hardware and software, forms a computer system. The primary components include a central processing unit (CPU), memory, input/output devices, and storage, all working together to produce a desired output.
Central Processing Unit (CPU)
Often called the "brain" of the computer, the CPU processes instructions and data. It consists of two main parts:
- Arithmetic Logic Unit (ALU): Executes mathematical operations (addition, subtraction) and logical operations.
- Control Unit (CU): Fetches instructions from memory, decodes them, and directs the data flow.
Memory
Memory stores data and instructions for the CPU to access. It's divided into two main categories:
- Primary memory (RAM): Volatile memory that holds data and programs the CPU is actively using.
- Secondary memory (Hard Disk, SSD): Non-volatile memory for permanent data and program storage.
Input/Output (I/O) Devices
These devices facilitate user interaction with the computer.
- Input devices: (e.g., keyboard, mouse) provide data and instructions to the computer.
- Output devices: (e.g., monitor, printer) display or present the results.
These components are interconnected via a system bus, which enables data transmission among them.
Watch this Video for a Better Understanding
This video provides a clear overview of the fundamental components of a computer system, including the CPU, Memory, and I/O devices, and explains how they interact.
Main Memory
Main memory, or primary memory, is directly accessible by the CPU and is volatile, meaning its contents are lost when power is turned off. It includes several types:
Read-Only Memory (ROM)
- Stores permanent data like the system's startup instructions (BIOS/UEFI).
- Data is non-volatile and cannot be easily modified during normal operation.
- Types include MROM, PROM, EPROM, and EEPROM.
Random Access Memory (RAM)
- Stores data and programs currently in use by the CPU for fast access.
- It is volatile, meaning data is lost when the computer is powered off.
- Types include Static RAM (SRAM), which is faster and used for cache, and Dynamic RAM (DRAM), which is more common for main system memory.
Cache Memory
- A small, high-speed SRAM that acts as a buffer between the CPU and main memory (RAM).
- It stores frequently accessed data, allowing the CPU to retrieve it much faster, which boosts system performance.
Flash Memory
- A type of non-volatile memory that can be erased and reprogrammed.
- It is used in devices like USB drives, memory cards, and Solid-State Drives (SSDs).
Summary of Key Differences
Memory Type | Volatility | Rewritability | Typical Use | Speed |
---|---|---|---|---|
ROM | Non-volatile | Not writable (during normal use) | Startup instructions, firmware | Slow |
RAM | Volatile | Writable | Currently running programs and data | Faster than ROM |
Flash Memory | Non-volatile | Rewritable | USB drives, SSDs | Varies (slower than RAM) |
Cache Memory | Volatile | Managed by CPU | Frequently accessed data | Fastest |
Secondary Storage
Secondary storage provides long-term, non-volatile storage for data and programs. It is essential for storing the operating system, applications, and user files. The main types include:
Magnetic Disk (HDD)
- Uses magnetic storage on spinning platters to read and write data.
- Advantages: High storage capacity and low cost per gigabyte.
- Disadvantages: Slower access times due to moving parts and more susceptible to physical damage.
Solid-State Drive (SSD)
- Uses flash memory chips to store data with no moving parts.
- Advantages: Significantly faster access speeds, more durable, and lower power consumption.
- Disadvantages: More expensive per gigabyte and historically have had lower capacities than HDDs.
Magnetic Tape
- A linear storage medium primarily used for data backup and archiving.
- Advantages: Very inexpensive for large amounts of data and reliable for long-term storage.
- Disadvantages: Very slow, sequential data access.
Summary of Key Characteristics
Type | Technology | Access Time | Advantages | Disadvantages |
---|---|---|---|---|
Magnetic Disk (HDD) | Magnetic platters | Slower | Inexpensive, high capacity | Slower access, prone to physical damage |
Solid-State Drive (SSD) | Flash memory | Fastest | Fast access, durable, low power use | More expensive per GB |
Magnetic Tape | Magnetic tape | Slowest | Cost-effective for archival | Slow sequential access, prone to wear |
Connecting Computer Hardware Components
Assembling a computer involves carefully connecting various components. Here is a general guide:
- Prepare the Case and Motherboard: Open the computer case and install the motherboard standoffs, which prevent the motherboard from shorting out against the case.
- Install the CPU: Carefully place the CPU into the motherboard socket, aligning it correctly, and secure the retention arm.
- Install RAM: Insert the RAM modules into the appropriate slots on the motherboard until the side clips lock into place.
- Mount the Motherboard: Secure the motherboard inside the case using screws on the standoffs.
- Install the Power Supply (PSU): Mount the PSU in the case and connect the main power connectors to the motherboard.
- Install Storage Drives: Mount the HDD or SSD in a drive bay and connect the SATA data and power cables.
- Install Expansion Cards: If applicable, install the graphics card or other expansion cards into the appropriate PCIe slots.
- Connect Case Cables: Connect the front panel cables (power button, USB ports, etc.) to the corresponding pins on the motherboard.
- Cable Management: Tidy up the cables to ensure good airflow within the case.
Functional Testing
Functional testing is a type of software testing that verifies each function of an application operates in conformance with its requirement specifications. It focuses on the results of processing, not the mechanics, ensuring the application meets user expectations. This is a form of black-box testing where the tester does not need to know the internal code structure.
Benefits of Functional Testing:
- Ensures the software behaves as expected, improving reliability.
- Helps identify and fix functionality flaws early in the development cycle.
- Improves the overall quality of the software and enhances user satisfaction.
- Verifies that the software meets the specified business and user requirements.
Maintaining Operational Standards for Your Computer
Regular maintenance ensures your computer runs efficiently, securely, and reliably. Key tasks include:
- Perform Computer Diagnosis: Use system tools to analyze the computer's health and detect potential hardware or software issues early.
- Manage Disk Space: Regularly check for low disk space and free it up by removing unnecessary files, uninstalling unused programs, and clearing temporary data. This prevents system slowdowns.
- Update Operating System: Install the latest OS updates to patch security vulnerabilities, fix bugs, and improve performance.
- Scan for and Update Antivirus: Regularly scan for malware and keep your antivirus software's definitions up-to-date to protect against the latest threats.
- Monitor Performance: Keep an eye on system resources like CPU and memory usage to identify and address performance bottlenecks proactively.