1/225
All the content you need to know for GCSE Computer Science
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
A logical shift involves moving each bit in a bit pattern a certain number of places to the left or right, and the empty spaces left are filled with zeros.
An arithmetic shift performs a similar operation, but on a shift right, the most significant bit (MSB) is copied into the empty spaces on the left, preserving the sign of the number in two's complement representation, whereas on a logical shift left, zeros are added to the right.
What are the main components of the central processing unit (CPU) and what are their primary functions?
Registers: These are high-speed storage areas within the CPU that temporarily hold data and instructions during processing.
Arithmetic Logic Unit (ALU): The ALU performs all arithmetic and logical operations, such as addition, subtraction, and comparisons.
Control Unit (CU): The CU directs the CPU by fetching, decoding, and executing instructions from memory.
Clock: The clock provides a steady pulse that synchronizes the operation of all CPU components, determining the speed at which instructions are processed.
Please describe the fetch-decode-execute cycle performed by the CPU.
Fetch: The Control unit checks the PC for the address of the next instruction and loads it onto the MAR. The address from the MAR is used as the address to retrieve the instruction from. The instruction arrived at the MDR, then it is copied from the MDR onto the CIR. The PC is then incremented.
The Control Unit (CU) decodes the instruction stored in the Current Instruction Register (CIR) and splits it into two main components Opcode and Operands.
Execute: The instruction is executed and the results goes into the ACC, then it will be sent back to RAM, to be stored.
Why is secondary storage necessary in a computer system?
Main memory is volatile – data is lost when power is off
Secondary storage is non-volatile – retains data long-term
Used to store programs and data permanently
When an app is opened, it’s loaded from secondary storage into main memory
What are the key differences between primary storage and secondary storage?
Primary Storage | Secondary Storage |
Volatile (data lost when power off) | Non-volatile |
Limited capacity (up to 32GB) | High capacity (up to TBs) |
Very fast access speed | Slower access speed |
RAM, ROM | HDDs, SSDs, CDs, DVDs, USBs |
Stores currently running programs & data | Stores date for the long term. |
The address bus carries the memory addresses of data or instructions between the CPU and memory.
The data bus transmits the actual data and instructions between the CPU, memory, and other peripherals.
The control bus sends control signals from the control unit to other components of the computer, coordinating their actions.
What is the function of the CPU clock in a computer?
A tiny quartz crystal that vibrates at a constant rate
Produces regular electrical pulses called clock cycles
Clock speed (in Hertz) = number of cycles per second
Synchronises all CPU operations
Ensures instructions are executed in order and at a consistent pace
Magnetic storage devices include hard disk drives (HDDs) and magnetic tape drives.
A HDD contains a stack of circular, metal platters that spin at high speed. These platters are coated with a magnetic material. Each platter has an electromagnetic read-write head on an arm that moves across the surface.
Data is stored on these platters as magnetic patterns. Each tiny area on the platter can be magnetised to represent a binary number: a north-to-south (1) or south-to-north (0).
To read data, the read head passes over the spinning platter and detects the magnetic orientation of these tiny areas. To write data, the write head magnetises these areas with the appropriate north or south pole.
Optical storage devices, including CDs, DVDs, and Blu-ray discs, use patterns of pits and lands on their surface to represent data.
Writing: A laser beam is fired to burn the disk to create pits (0) and land (1)
Reading: A laser beam is shone onto the disc, and the reflected light is interpreted as 1s and 0s based on whether it hits a pit or a land.
How do SSD write?
& read?
What are some typical forms?
Write: an electrical current is applied to the transistor, this forces electrons, through the barrier to trap them in electron pools. A full pool is 0 and an empty pool is 1.
Read: a small voltage is applied. If the pool is empty, the transistor turns on, a 1 is read. If the pool is full, the transistor does not turn on, a 0 is read.
Uses: USB sticks, phones, smart watches etc.
What is a major advantage of solid-state storage storage?
A major advantage of solid-state storage is its very fast data access speed due to the absence of moving parts. They are also more durable and reliable.
A key drawback of solid-state storage can be the relatively limited number of read-write cycles it can endure over its lifespan.
They also tend to be more expensive per unit of storage compared to magnetic storage.
Embedded systems are often single-purpose
have customised hardware and software
have limited memory and processing power
are designed for low power consumption
may have wireless connectivity
often have a minimal or no user interface
are typically small in physical size
are responsive to their environment
require low maintenance
usually operate in real-time.
What are the typical hardware components found in an embedded system?
Long-life power source (e.g., battery)
Microcontroller – contains:
CPU
Memory (RAM & Flash)
Input/Output peripherals
Sensors/input devices – gather data
Actuators/output devices – produce a response
Could you provide some examples of common embedded systems?
Washing machine – regulates water usage
Drinks dispenser – manages orders
Insulin pump – monitors blood glucose
Anti-lock braking system (ABS) – controls vehicle braking
Burglar alarm – detects intrusions
Car navigation system – provides directions
It manages computer hardware and software.
Provides an interface between the user and hardware.
Provides common services for programs e.g. malware removal
What are the 5 main tasks performed by an Operating System?
Process management
Memory management
File management
User management
Peripheral management
What does the process management task of an Operating System involve?
Process management in an operating system involves overseeing the execution of programs by the CPU.
When a program is opened, it is copied into secondary storage, then moved into main memory so that the CPU can execute it.
The OS allocates CPU time to different processes, enabling multitasking where several processes appear to run concurrently.
Scheduling algorithms, like round-robin, ensure that each process gets a fair share of CPU time.
Could you explain the main memory management role of an Operating System?
Memory management is the operating system's task of controlling and coordinating the computer's main memory (RAM).
When a process is loaded into memory, the OS allocates blocks of main memory called pages.
It keeps track of which parts of memory are currently being used and by which processes.
If memory becomes full, the OS may temporarily move inactive processes out of main memory into an area on the hard drive called virtual memory, freeing up RAM for active processes.
File management is the responsibility of the operating system to organise and keep track of files and folders stored on the computer's storage devices, such as hard drives and SSDs.
The OS maintains a hierarchical structure of directories (folders) and files.
It handles operations such as creating, deleting, copying, moving, and renaming files and directories.
File permissions control who can do what with each file, ensuring data security.
What does User Management entail within an Operating System?
Manages user accounts and access rights
Requires login with username and password for authentication
Controls access to shared resources
Ensures users can only access authorized files and applications
Peripheral management involves the operating system communicating with and controlling the computer's peripheral devices, such as printers, keyboards, and mice.
The OS uses special software called device drivers to enable communication between the operating system and each specific peripheral device.
These drivers need to be kept up to date so that peripherals continue to work as expected.
The round-robin algorithm is a scheduling algorithm used by the operating system in process management of CPU time.
In this algorithm, each process in the ready queue is allocated a short period of CPU time, known as a time slice or quantum.
If a process does not complete its execution within its time slice, it is moved to the back of the ready queue, and the next process in the queue gets its turn.
This ensures that all processes get some CPU time and prevents any single process from monopolising the CPU.
What is utility software?
Maintains and optimises computer system performance
Analyses and configures system settings
Includes tools for file management, system diagnostics, and security
Enhances overall system efficiency and reliability
What is Disk Defragmentation software and what does it do?
Disk defragmentation is a utility that improves file access speed on HDDs.
It rearranges fragmented files so their parts are stored together.
This reduces read/write time by minimizing head movement.
Useful for enhancing HDD performance (not needed for SSDs).
What is backup software and what is its purpose?
A utility program that creates copies of files, folders, or entire drives
Protects against data loss from:
Hardware failure
Software corruption
Accidental deletion
Other disasters
Enables data restoration when needed
Files are handled normally over time (deletion, saving modification etc.)
At first the files are stored contiguously but as files are deleted, new smaller gaps of free space are created.
Then new files have to be stored in these gaps, but many do not fit so are split between these gaps making them non-contiguous.
So then files are broken up across the HDD, resulting in slower read & write speeds.
Yes but it does not affect their speed as data retrieval time is the same as there are no moving parts.
Antimalware software is a type of utility software designed to protect the computer system from malicious software (malware) such as viruses, worms, spyware, and ransomware.
It works by scanning files and system memory for known malware signatures and suspicious behavior.
If malware is detected, the antimalware software can quarantine, remove, or block it.
More sophisticated antimalware uses heuristic analysis to look for suspicious code patterns even in previously unknown malware.
They can handle unexpected inputs (out of their problem space) without crashing.
They are thus dependable and reliable in adverse conditions.
Three practices to make software more robust include adhering to good programming practices, carrying out regular code reviews, and keeping an audit trail. Good programming practices involve writing clear, well-structured code that anticipates potential errors.
Regular code reviews by other programmers can help identify and fix potential weaknesses.
An audit trail helps in tracing what changes were made to the code and when, which can be useful for debugging and identifying the cause of issues.
What are code reviews in software development?
A process where programmers review code written by others
Purpose: Identify bugs, errors, and areas for improvement
Ensures code quality, maintainability, and robustness before deployment
Audit trails are logs that record what changes were made to the software code and when, along with who made the changes.
Audit trails are useful for tracking the history of the software development, debugging issues, and ensuring accountability.
Could you provide examples of low-level programming languages?
Machine code (Binary)
Assembly language
What are some key features of low-level programming languages?
Low-level languages are closely related to the computer's hardware. Machine code consists of binary instructions that the CPU can directly execute. Assembly language uses mnemonic codes that correspond to machine instructions. Low-level languages require a detailed understanding of the computer's architecture and are often machine-specific. They give the programmer direct control over hardware but are difficult and time-consuming to write.
Assembly language is a type of low-level programming language that uses symbolic representations, called mnemonics, for machine instructions.
Each mnemonic typically corresponds to a single machine code instruction.
Assembly language needs to be translated into machine code by an assembler before it can be executed by the computer.
What are some typical uses for low-level programming languages?
Low-level languages are often used for programming directly with computer hardware and for writing code that needs to be very efficient in terms of memory usage and execution speed. This includes writing device drivers and programming for embedded systems.
Could you give 3 examples of high-level programming languages?
C++
Java
Python
What are some characteristic features of high-level programming languages?
+ Readable & easy to use as they use English-like keywords and syntaxes
+ Problem orientated: programmers get to focus on the logic of the problem rather than details of the underlying hardware.
+ They are machine independent and thus device portable
= A single line of high level code corresponds to many lines of machine code
- Usually less resource efficient than low level languages.
What are some common uses for high-level programming languages?
High-level languages are widely used for developing a wide range of applications, including desktop software, web applications, mobile apps, and artificial intelligence programs. They provide libraries and tools that simplify complex programming tasks.
What are three disadvantages of using low-level programming languages?
Time: Low-level languages are time-consuming to write.
Technicality: Low-level languages are hard to learn and use effectively.
Portability: Low-level languages are often not portable between two devices.
What is one advantage of using low-level programming languages?
One advantage of low-level languages is that they allow for very efficient code in terms of memory usage and execution speed, giving the programmer direct control over the hardware.
What are three advantages of using high-level programming languages?
Three advantages of high-level languages are that they are easier and faster to write due to their more human-readable syntax, they are more portable across different computer architectures, and they allow programmers to focus on the problem rather than hardware details.
What is one disadvantage of using high-level programming languages?
One disadvantage of high-level languages is that they may be less efficient in terms of memory usage and execution speed compared to carefully written low-level code, as the translator may not always produce the most optimised machine code.
What are two advantages of using a compiler?
Rerun: This can be done with a reinterpret.
Source code: This is hard to get from the compiled code protecting proprietary software.
- Entire Program needs to be compiled before running after any source code modification, this can take time
- If there are errors the programmer, they are reported after the program finished running which wastes time and is harder to decode.
What are two advantages of using an interpreter?
Three advantages of using an interpreter are that it provides immediate feedback as code is executed line by line, making it easier to debug.
It is also platform-independent, as long as an interpreter is available for that platform, the code can be run. Interpreters are often better for testing and prototyping due to the ability to run code incrementally.
They are generally slower than compilers because every run the code needs to be translated.
What are assemblers?
Assemblers translate assembly language into machine code.
Perform a one-to-one conversion of mnemonics into binary instructions.
Enable the CPU to understand and execute the code.
Explain five motivations for establishing connections between computers on a network
Share data and software between computers.
Share hardware peripherals like printers and hard drives.
Deploy new software and updates quickly.
Enable communication via web and web-based services.
Support collaborative work and video conferencing.
What constitutes a Local Area Network (LAN)
Local Area Network (LAN) connects two or more devices within a small geographical area.
Commonly used in homes, offices, and schools.
Enables resource sharing, such as files, printers, and internet connections.
Defined by its physical scope and limited coverage area.
Typically faster and more secure than wider network types like WANs.
A local area network spans a small geographical area.
It is typically used in small organisations
LANs are often connected to WANs, e.g. the internet.
What is meant by a Wide Area Network (WAN)
WAN connects multiple LANs over a large area.
Used by businesses to link offices and share resources.
Relies on leased lines, satellite, or internet for data transfer.
What is an IP address
An IP address is a unique numeric identifier assigned to each device on a network.
It enables accurate data transmission by identifying the correct sending and receiving devices.
Used whenever a device communicates over the internet or a local network.
Contrast IPv4 and IPv6, highlighting their key distinctions
Address Length: IPv4 uses 32-bit addresses, IPv6 uses 128-bit addresses
Format: IPv4: Decimal, separated by dots (e.g., 192.168.1.1), IPv6: Hexadecimal, separated by colons (e.g., 2001:db8::1)
Number of Addresses: IPv4: Around 4 billion, IPv6: Much larger address space
Use & Adoption: IPv4 is older and widely used, IPv6 was created to replace IPv4 as addresses run out
What is a dynamic IP address
Dynamic IP address is not permanently assigned to a device.
Allocated from a pool of available IP addresses each time a device connects to the internet.
The IP address may change upon subsequent connections.
Commonly used by ISPs (Internet Service Providers) for devices that don't need a fixed IP.
Offers security benefits, as the changing address makes it harder to target a specific device.
Describe the sequence of events when a HTML web page is requested
When a user enters a URL into their web browser, the browser sends a request containing the URL to a DNS server.
The DNS server then translates the domain name part of the URL into its corresponding IP address.
Once the browser has the IP address of the web server hosting the requested page, it sends an HTTP request to that server.
The web server then finds the requested page and sends it back to the browser in the form of data packets, which the browser then interprets and displays as the web page.
What journey do packets do across the network (including verification)?
The sending computer breaks down the data of a message or file into smaller units called packets.
These packets are then directed through the network by routers, which inspect the destination address in each packet and determine the most efficient path to the receiving computer.
The packets may take different routes across the network and might arrive at the receiving computer out of order.
The receiving computer reassembles these packets into the original message or file once all packets have been received
It then verifies the packets integrity using checksums within the packet headers.
What are Routers?
What does a router do when it receives a packet?
It examines the destination IP address located in the packet's header.
Using this address and its internal routing table, the router then determines the optimal next hop or the next network segment towards the packet's final destination.
It removes the MAC addresses previously on the packet and adds the MAC address of itself and the next node the packet is being forwarded to
It proceeds to forwards the packet accordingly.
Identify the three main components of a data packet and describe the information contained within each?
A data packet typically comprises three parts:
Header:
IP of destination and sender
Sequence number
Checksum
Total sum of packets
Body:
Data being sent
Footer:
End of packet flag
Describe the four steps a computer undertakes upon receiving data packets
When a computer receives data packets, it first checks that all the packets have been received.
Secondly, it verifies that each of the received packets is complete and uncorrupted by using the checksum information in the header.
Thirdly, it uses the sequence numbers in the headers to reassemble the packets into the correct order, reconstructing the original data.
Finally, once the data is reassembled and verified, the computer can then process or display the information contained within the packets, such as rendering a web page in a browser.
What are the distinctions between fibre-optic and copper cables, and in what scenarios is each type typically used?
Fibre-Optic Cable
Transmits data as pulses of light through glass strands
High bandwidth & long range (up to 80–100 km)
Immune to electrical interference
Ideal for long-distance & high-speed communication
Copper Cable
Transmits data as electrical pulses
Shorter range (up to 100 m)
Cheaper and common in local area networks (LANs)
Prone to electrical interference
Bandwidth is the total volume of data that can be transferred by the network at one time, this total bandwidth is shared between all connected devices
Wi-Fi is a wireless communication medium that uses radio waves to transmit data over short to medium ranges (up to 100 m)
it is commonly used to connect devices to local area networks and the internet, offering flexibility and ease of installation.
It is susceptible to interference from walls and physical obstacles.
Easily wireless LANs can be created with Wi-Fi, allowing devices like laptops and consoles to connect without dedicated network cabling, provided they have the network ID and a password.
What are the key features and common applications of Radio-Frequency Identification (RFID) technology?
Uses radio waves to identify and track tags attached to objects
Operates over close proximity (around 10 cm) or medium range (up to 1 m)
Common uses:
Contactless payment systems
Access control
Inventory management
What are the defining characteristics and typical uses of Near-Field Communication (NFC) technology?
Low power and short-range (around 10 cm) wireless technology
Enables data exchange between devices at close proximity
Common uses:
Contactless payments
Data sharing
Device pairing
Requires devices to be very close together to function
Wired networks generally offer more secure connections,
higher and more reliable data transfer speeds with high bandwidth (up to 10 Gigabits per second),
lower susceptibility to interference compared to wireless networks. The cables in wired networks have protective coverings making them less susceptible to interference.
What are the disadvantages typically encountered with wired network setups?
Difficult and costly to install (requires physical cabling)
Limited flexibility (devices can't be easily moved)
Cables can be disruptive and time-consuming to install
What are the benefits of implementing wireless networks?
Easy installation – no need for physical cabling
Greater flexibility – devices can move freely within range
Scalable – simple to add new wireless access points to expand coverage
What are protocol layers in the context of network communication?
Conceptual division of network communication into distinct levels
Each layer has its own protocols for data formatting, transmission, and reception
Simplifies network communication complexity
Top layer protocols use the services of the layer below
What are protocols in network communication?
Why are they needed?
Protocols are a set of rules and procedures that govern how devices on a network communicate with each other, ensuring that data is transmitted and received correctly.
Protocols are needed:
to ensure that data is formatted correctly,
to ensure that addressing is correct,
to ensure that data is transmitted in an understandable way,
to ensure that errors are detected.
What essential components must all network protocols include?
Data formats: Define how data is structured for transmission
Addressing schemes: Identify senders and recipients on the network
Transmission methods: Ensure data is sent in a way that devices understand
Error detection: Mechanisms to identify and handle errors in data transmission
What is the Simple Mail Transfer Protocol (SMTP) and what is its role in email communication?
SMTP is an Application Layer protocol used for sending email messages from a client to a mail server or between mail servers.
POP is an Application Layer protocol used by email clients to retrieve email messages from a mail server. Its use is to retrieve email from a server and then the email is deleted off the server.
What is the Internet Message Access Protocol (IMAP) and how does it facilitate email management?
IMAP (Internet Message Access Protocol) operates at the Application Layer
Used by email clients to access and manage email on a mail server
Allows organising emails into folders and syncing across multiple devices
Purpose: To access and organise email on a server
In what order does data traverse the layers of the TCP/IP stack during transmission?
Top to Bottom:
Application
Transport
Internet
Link