IGCSE ICT Chapter 01: Types and Components of Computer Systems Study Guide to Computer Systems

Fundamental Definitions of Hardware and Software

Hardware refers to the physical components of a computer system that you can touch. Software, conversely, consists of the programs and instructions used for controlling the operation of the computer system or its hardware. Within software, a distinction is made between system software and application software. System software includes programs that allow the hardware to run properly and allow the user to communicate with the computer. Major examples of system software include operating systems, device drivers, compilers, linkers, and various utilities.

Application software consists of programs that allow the user to perform specific tasks or provide the services required to solve a particular task. Common examples of application software include spreadsheets, presentation software, word processors, and databases. While system software provides the environment for other software to run and manages hardware, application software is focused on the user's end goals.

Internal Memory: RAM and ROM

RAM, or Random Access Memory, is referred to as volatile or temporary memory. Its primary function is to store data and applications temporarily while they are currently running. RAM can be written to and read from, but its contents are lost when the power to the computer is turned off. A typical computer often contains 4GB4\,GB or more of RAM. It is essential during processing for storing data that the CPU needs to access quickly. RAM can be categorized as either static or dynamic and requires power to keep the data refreshed.

ROM, or Read Only Memory, is non-volatile memory, meaning its contents are not lost when the power is switched off. It is permanent memory used to hold start-up instructions, such as the BIOS (Basic Input/Output System), which are needed during the boot-up process. Data in ROM cannot be altered or overwritten; it can only be read from. ROM is significantly smaller than RAM, typically requiring only 1MB1\,MB or 2MB2\,MB for the boot program. It acts as the primary storage for essential permanent instructions.

Key Internal Hardware Components

The motherboard is the main printed circuit board (PCB) found in all computers. It serves as the foundation of the system, allowing the processor and other hardware components to function and communicate with each other. The video card is a specialized board that allows the computer to send graphical information to a video display device, such as a monitor, television, or projector. The sound card is an integrated circuit board that provides the computer with the ability to produce sounds.

Internal hard disk drives (HDD) are used for the permanent storage of data, files (including text, photos, and music), and most system and application software. Unlike RAM, the hard disk keeps information stored even when the computer is off. The Central Processing Unit (CPU) is an item of hardware that carries out the instructions of a computer program. It manages and coordinates all of the computer’s peripherals, performs basic arithmetic and logical operations via the Arithmetic Logic Unit (ALU), and manages input/output operations through the Control Unit (CU). It also contains internal storage in the form of Registers.

Features and Functions of User Interfaces

A Graphical User Interface (GUI) is characterized by four primary features, often referred to by the acronym WIMP. A Window is an area on the screen that displays information for a specific program. Icons are small pictures or images used as shortcuts to programs or applications. Menus allow a user to make selections from a list of options. A Pointer is used to select menu options and icons and to open or close windows. GUI systems are intuitive and user-friendly, supporting multitasking through multiple windows. However, they use a significant amount of memory (RAMRAM) due to high-resolution graphics, which can slow down operations if memory is low.

A Command Line Interface (CLI) requires the user to type in commands to interact with the computer. Differences between CLI and GUI include the following: CLI requires precise syntax and the memorization of complex commands and exact file paths. While CLI is difficult to edit once a command is entered and can cause major consequences if an error is made, it uses significantly less memory and processing power than a GUI. It provides direct communication with the operating system and is often preferred by expert programmers who can operate it faster without the restrictions of pre-defined GUI menus.

Specialized User Interfaces and Their Impacts

A dialogue-based user interface utilizes speech recognition software to interact with the user via the spoken word. This interface is beneficial for hands-free control, making it safer for drivers and more accessible for physically disabled users. However, it can be limited by the number of stored commands and may fail due to background noise, accents, or speech impediments. Users often need to "train" the system to recognize their specific voice.

A gesture-based user interface allows the human body to interact with a device without a keyboard, mouse, or pointing device. Benefits include a natural form of communication that keeps screens clean and uncluttered. Drawbacks include physical fatigue (sometimes called "gorilla arm"), unintentional activation of commands, and the need for significant physical space and high-quality cameras. It can also lead to "immersion syndrome," where users lose awareness of their real-world surroundings.

Comparison of Mobile and Desktop Hardware

Desktop computers consist of separate peripheral units that are easier to upgrade and repair. They are connected to mains electricity, avoiding battery issues, and typically offer more stable internet connections through cabled systems. However, they are not portable and have a large footprint with trailing cables. Laptop computers integrated main components into a single portable unit. They are lighter and can run on battery power during power cuts, but they are more expensive for similar performance levels and more difficult to repair or upgrade compared to desktops.

Smartphones and tablets are highly portable devices ideal for use on the move. Smartphones are smaller and lighter, making them easy to carry in a pocket, and often feature built-in cameras and GPS. Their disadvantages include small screens and keyboards that increase data entry errors, limited memory, and less powerful processors. Tablets offer a middle ground with larger screens than smartphones, which reduces eye strain and makes them better for viewing data, though they are less portable than phones. A "phablet" is a hybrid device that sits between a smartphone and a tablet in size, offering features of both.

Extended, Virtual, and Augmented Reality

Virtual Reality (VR) is a three-dimensional, computer-generated environment that can be explored and interacted with by a person. It replicates an environment and makes use of sensory experiences through hardware like headsets, data gloves, pressure mats, and joysticks. Uses include medical training, flight simulation, and virtual tours. Augmented Reality (AR) uses a real-world setting and layers computer-generated information or objects on top of it, often accessible via a smartphone camera. Examples include interior designers visualizing furniture in a room or police using facial recognition.

Extended Reality (XR) is a term that refers to the mixture of Virtual Reality and Augmented Reality, creating a seamless interaction where the real, physical world combines with the digital world. These technologies allow for immersive learning, such as training nuclear power station workers or pilots in risk-free environments. However, they can lead to health issues such as headaches, motion sickness, or a confusion between real life and simulated environments.

Artificial Intelligence and Automated Systems

Artificial Intelligence (AI) refers to a computer system that simulates human intelligence, mimicking problem-solving and decision-making behaviors. AI can learn from previous decisions to adapt to new situations. In social media, AI is used to target advertisements based on user interests, detect spam, and recognize faces for tagging photographs. In online shopping, AI creates customized recommendations and predicts purchasing behavior, though it raises privacy concerns regarding the tracking of personal data and browsing history.

Drones, or unmanned flying vehicles, are increasingly used for commercial and leisure activities. In emergency situations, such as a river bursting its banks, drones are safer than humans for monitoring flood damage. They can fly low, access areas blocked to humans, and cover large areas quickly. Drones are cheaper to operate than helicopters and can automatically return to a base station when fuel or battery levels are low. However, they have a limited range and can lose signal due to electrical interference during storms.

Advanced Software Categories and Roles

Different types of application software serve distinct niches. Word processing software acts as a text editor to create, store, and format documents. Spreadsheet software arranges data in rows and columns for calculations. Database software stores organized data in tables. Computer-Aided Design (CAD) helps users create 2D2\text{D} drawings and 3D3\text{D} models for manufacturing. Control software is an automatic system used to manage external hardware and regulate environments. Measurement software interacts with sensors to visualize and analyze physical quantities.

Applets are small computer programs that perform specific tasks within a larger application. Video and audio editing software allow users to modify, add features to, and export digital media in various file formats. In every case, application software provides the specific tools needed for a user to complete a task, while system software like compilers (which translate code) and linkers (which combine files) ensures the computer environment functions correctly. The CPU executes these programs by fetching instructions from memory, decoding them, and performing the necessary calculations or logical decisions to produce an output.