Computing foundations

166 terms, defined in plain English with an example each.

All 32 topics

Application programming interface beginner

A defined set of rules and functions that lets one piece of software request services or data from another without knowing how it works inside. It is the contract that makes software components reusable and combinable.

Example. A weather service offers an API so your app can request tomorrow's forecast for a city and receive structured data.

Related: Client, Server, Library, Graphical user interface

ARM architecture intermediate

A family of processor designs and instruction sets known for high energy efficiency, used in almost all smartphones, Apple Silicon Macs and a growing number of cloud servers. It uses a reduced instruction set, so many simple instructions do the work.

Example. Apple's M-series MacBooks run on ARM, so some x86-only Docker images run slowly through emulation on them.

Related: x86, Instruction set architecture, Central processing unit

ASCII beginner

An early character encoding that assigns numbers 0 to 127 to English letters, digits, punctuation and control codes, using seven bits per character. It cannot represent most world scripts, but remains a subset of newer encodings.

Example. In ASCII, the capital letter A is number 65 and lowercase a is 97.

Related: Unicode, UTF-8, Character encoding

Asynchronous programming intermediate

A style of programming where a task that must wait, for example for a network reply, hands control back so other work can run meanwhile, then resumes when the result is ready. It handles many waiting tasks efficiently in one thread.

Example. An API server using async code can await a slow database call while serving other users' requests.

Related: Concurrency, Thread, Event loop

Bandwidth beginner

The maximum amount of data that a connection can carry per unit of time, usually in bits per second. It sets the capacity of the link, while latency measures delay, so a link can be wide but still slow to respond.

Example. A 100 Mbps connection can carry at most about 12.5 megabytes of data every second.

Related: Latency, Throughput, Network protocol

Base64 intermediate

A method of converting binary data into text using 64 safe printable characters, so it can travel through systems built for text. It makes data about one third larger and is an encoding, not encryption.

Example. An image is sent inside a JSON message by Base64-encoding its bytes into a text string.

Related: Binary file, Character encoding, Text file

Big data units beginner

The prefixes used to describe larger quantities of data: kilo, mega, giga, tera, peta and exa, each a thousand times the last in decimal usage. They help judge whether a dataset fits in memory or needs distributed storage.

Example. A 2 TB dataset is 2,000 GB, which is far too large to fit into a typical laptop's RAM.

Related: Kilobyte and megabyte, Storage, Random access memory

Binary file beginner

A file whose contents are arbitrary bytes not meant to be read as characters, such as images, compiled programs or model weights. Opening it in a text editor shows unreadable symbols.

Example. A saved PyTorch model file is a binary file that only suitable software can interpret.

Related: Text file, Byte, File extension

Binary number system beginner

A way of writing numbers using only the digits 0 and 1, where each position stands for a power of two. Computers use it because two-state electronic circuits are simple and reliable.

Example. The binary number 1101 equals 8 + 4 + 0 + 1 = 13.

Related: Bit, Hexadecimal, Decimal number system

BIOS advanced

Basic Input/Output System, the firmware that runs when a computer powers on, checks the hardware and starts the operating system loader. Modern machines mostly use a successor called UEFI that does the same job with more features.

Example. Pressing a key at startup opens the BIOS or UEFI menu, where you can choose the boot drive.

Related: Firmware, Boot process, Operating system

Bit beginner

The smallest unit of digital information, holding one of two values, 0 or 1. All data in a computer, from numbers to images, is built from long sequences of bits.

Example. The bits 1011 together represent the number eleven in binary.

Related: Byte, Binary number system, Boolean

Bitwise operation intermediate

An operation that works directly on the individual bits of numbers, such as AND, OR, XOR and shifts. It is fast and used for flags, masks, compression and low-level data handling.

Example. In Python, 6 & 3 gives 2 because 110 AND 011 is 010.

Related: Bit, Binary number system, Boolean

Boolean beginner

A data type with only two possible values, true and false, named after mathematician George Boole. It underlies conditions in programs and the logic circuits inside hardware.

Example. The expression 5 > 3 evaluates to the Boolean value True.

Related: Bit, Logic gate, Binary number system

Boot process intermediate

The sequence a computer follows from power-on to a running operating system: firmware tests the hardware, finds a bootable disk, loads the bootloader, which then loads the kernel. Problems at any step prevent the machine from starting.

Example. If the boot process cannot find a bootable disk, the screen shows an error such as no operating system found.

Related: BIOS, Kernel, Firmware

Byte beginner

A group of eight bits, the standard unit for measuring memory and file sizes. One byte can hold 256 different values, enough for a single basic character or a number from 0 to 255.

Example. A 1 MB file contains about a million bytes, or eight million bits.

Related: Bit, Kilobyte and megabyte, Character encoding

Bytecode advanced

A compact, low-level instruction format produced from source code and executed by a virtual machine rather than directly by hardware. It lets the same program run on any system that has the matching virtual machine.

Example. CPython compiles your .py file into bytecode, which you can inspect with the dis module.

Related: Interpreter, Compiler, Virtual machine

Cache hit intermediate

The case where the data a program requests is already found in a cache, so it is served quickly without going to the slower source. The share of requests that hit is the hit rate, and raising it is a main way to speed up systems.

Example. If 95 of every 100 reads are found in the cache, the hit rate is 95 percent.

Related: Cache memory, Memory hierarchy, Latency

Cache memory intermediate

A small, very fast memory inside or next to the CPU that keeps copies of recently used data so the processor need not wait for slower RAM. Programs that reuse nearby data repeatedly run faster because most reads become cache hits.

Example. Looping through an array in order is fast because neighbouring elements are already loaded into cache.

Related: Memory hierarchy, Random access memory, Central processing unit, Cache hit

Central processing unit beginner

The main chip of a computer that fetches program instructions from memory, decodes them and executes them one after another at billions of steps per second. It handles general-purpose work such as running the operating system and application logic, and its speed and core count strongly affect how responsive a machine feels.

Example. A laptop with an 8-core CPU can run your browser, a Python script and a music player at the same time by dividing work across cores.

Related: CPU core, Clock speed, GPU, Instruction set architecture

Character encoding beginner

A rule that maps characters to numbers and then to bytes so that text can be stored and transmitted. Reading a file with the wrong encoding produces garbled text.

Example. Opening a Hindi text file saved in UTF-8 with the wrong encoding shows nonsense characters instead of Devanagari letters.

Related: ASCII, Unicode, UTF-8, Text file

Checksum intermediate

A small value calculated from a block of data so that any accidental change can be detected by recalculating and comparing. Common uses include verifying downloads and detecting corruption in storage and transmission.

Example. After downloading a large dataset, you compare its published checksum to the one computed locally to confirm the file is intact.

Related: Hash function, Data compression, Binary file

CIDR notation advanced

A compact way of writing an IP address range as an address followed by a slash and the number of leading bits that identify the network. It replaced rigid address classes and is used in cloud security rules.

Example. 10.0.0.0/16 covers all addresses from 10.0.0.0 to 10.0.255.255, which is 65,536 addresses.

Related: Subnet, IP address, Firewall

Client beginner

A computer or program that sends requests to a server and uses the response. A web browser, a mobile app or a Python script calling an API can each be a client.

Example. Your phone's weather app is a client that asks a weather server for today's forecast.

Related: Server, Network protocol, IP address

Clock speed beginner

The rate at which a processor's internal timer ticks, measured in gigahertz (billions of cycles per second). Each instruction takes one or more cycles, so a higher clock usually means more work per second, but architecture, cache and core count also decide real performance.

Example. A 3.5 GHz CPU ticks 3.5 billion times every second.

Related: Central processing unit, Instruction cycle, CPU core

Cloud computing beginner

Renting computing resources such as servers, storage and databases over the internet from a provider, paying for what is used instead of owning hardware. It lets teams scale up or down quickly.

Example. A startup in Bengaluru rents a GPU server for a weekend to train a model and pays only for those hours.

Related: Virtual machine, Data center, Server

Code point advanced

The unique number Unicode assigns to a single character, usually written as U+ followed by hexadecimal digits. It is an abstract value, separate from how it is stored as bytes.

Example. In Python, ord('A') returns the code point 65, and chr(2309) returns the Hindi letter अ.

Related: Unicode, UTF-8, Character encoding

Compiler intermediate

A program that translates source code written in a high-level language into machine code or another lower-level form before the program runs. Compiled programs typically run faster, and errors in syntax are found at translation time.

Example. A C++ compiler converts your source file into an executable that runs directly on the processor.

Related: Interpreter, Machine code, Instruction set architecture, Bytecode

Concurrency intermediate

The ability of a system to manage several tasks in overlapping time periods, switching among them so all make progress. It does not require simultaneous execution, and is mainly about structuring programs to handle many things at once.

Example. A single-core server can handle many client connections concurrently by interleaving their work.

Related: Parallel computing, Thread, Asynchronous programming

Container intermediate

A lightweight isolated environment that packages an application with its libraries and settings and shares the host's operating system kernel. It starts quickly and behaves consistently across machines.

Example. A Python app packaged with its exact library versions runs the same on a developer laptop and on a server.

Related: Virtual machine, Kernel, Process, Operating system

Content delivery network intermediate

A network of servers spread across many locations that stores copies of content close to users, so pages, images and videos load faster and the origin server is less loaded. It reduces distance-related delay.

Example. A user in Kolkata gets an image from a nearby CDN server instead of one in another continent.

Related: Latency, Cache memory, Server

Context switch advanced

The operating system's act of pausing one running process or thread, saving its state, and loading another so the CPU can work on it. It enables multitasking but costs some time, so excessive switching reduces efficiency.

Example. On a 4-core machine running 100 busy processes, the scheduler constantly context-switches between them.

Related: Scheduler, Process, Thread

Coordinated Universal Time intermediate

The global time standard used as the reference for all time zones, not shifted for daylight saving. Storing timestamps in it avoids confusion when systems in different places exchange data.

Example. India Standard Time is UTC plus 5 hours 30 minutes, so 12:00 UTC is 17:30 in India.

Related: Time zone, Unix time, Timestamp

CPU core beginner

An independent processing unit inside a CPU chip that can execute its own stream of instructions. A chip with several cores can run several tasks truly in parallel, which helps multitasking and parallel programs, though a program only benefits if it is written to split its work.

Example. A 6-core processor can run six separate Python processes at full speed simultaneously, one on each core.

Related: Central processing unit, Thread, Multiprocessing, Hyper-threading

CUDA intermediate

A parallel computing platform and programming interface from NVIDIA that lets developers run general computation on NVIDIA GPUs. Deep learning libraries such as PyTorch call CUDA libraries underneath, so the driver and toolkit versions must match the installed GPU.

Example. Running torch.cuda.is_available() in Python returns True when PyTorch can find a CUDA-capable GPU.

Related: Graphics processing unit, Parallel computing, VRAM

Daemon intermediate

A background process that starts with the system or on demand and runs without a user interface, providing a service such as web serving or scheduling. On Windows the equivalent is usually called a service.

Example. The Docker daemon runs continuously in the background, waiting for commands to start containers.

Related: Process, Process ID, Operating system

Data center beginner

A facility that houses large numbers of servers, storage and networking equipment with reliable power, cooling and security. Cloud providers run many of them around the world to host customers' applications.

Example. When you use a cloud service in the Mumbai region, your work runs on servers inside a data center in that area.

Related: Cloud computing, Server, Latency

Data compression intermediate

Encoding data using fewer bits than the original by removing redundancy. Lossless methods restore the exact original, as in ZIP, while lossy methods discard detail that matters less, as in JPEG images.

Example. A ZIP file of repetitive text logs might be only a tenth of the original size and unzips to identical content.

Related: Binary file, Checksum, Bit

Deadlock advanced

A situation in which two or more tasks each hold something the other needs and wait forever for it, so none can proceed. It is avoided by acquiring locks in a consistent order or using timeouts.

Example. Thread A holds lock 1 and waits for lock 2, while thread B holds lock 2 and waits for lock 1, so both hang.

Related: Mutex, Race condition, Thread

Decimal number system beginner

The everyday base-10 way of writing numbers with digits 0 to 9, where each position stands for a power of ten. It is the human default, and computers convert between it and binary.

Example. In 4,205, the 2 stands for two hundreds because it sits in the hundreds place.

Related: Binary number system, Hexadecimal, Octal

Device driver intermediate

Software that lets the operating system communicate with a specific piece of hardware such as a printer, network card or GPU. It translates general commands into the signals that device understands.

Example. Installing the right NVIDIA driver is needed before an operating system can use the GPU for deep learning.

Related: Operating system, Kernel, CUDA

DHCP intermediate

Dynamic Host Configuration Protocol, a service that automatically hands out IP addresses and related settings to devices when they join a network. It saves people from configuring each device manually.

Example. When your phone joins your home Wi-Fi, the router uses DHCP to give it a local address like 192.168.1.23.

Related: IP address, Router, Subnet

Digital certificate advanced

An electronic document, signed by a trusted authority, that ties a public key to the identity of a website or organisation. Browsers check it to be sure they are talking to the real server.

Example. When a website's certificate has expired, browsers show a warning before letting you continue.

Related: Transport Layer Security, Public-key cryptography, Domain name

Directory beginner

A container in a file system that holds files and other directories, forming a tree that lets data be organised and found by path. Many people call it a folder.

Example. A project directory named data can contain sub-directories for raw and cleaned files.

Related: File system, File extension, Root directory

DNS record advanced

An entry in a domain's DNS configuration that maps a name to a piece of information. Common types include A for an IPv4 address, AAAA for IPv6, CNAME for an alias and MX for mail servers.

Example. An A record for api.example.com pointing to 203.0.113.10 sends traffic for that name to that address.

Related: Domain Name System, Nameserver, IP address

Domain name beginner

A human-readable address on the internet, such as example.com, made of labels separated by dots and read from the specific part on the left to the top-level domain on the right. It is registered with a registrar and pointed to servers through DNS.

Example. In mail.example.co.in, the top-level domain is in and co.in is the country's commercial zone.

Related: Domain Name System, IP address, Nameserver

Domain Name System beginner

The internet's naming system that translates human-friendly domain names into the IP addresses machines use. Without it, people would have to remember numeric addresses for every website.

Example. When you type example.com, DNS looks up its IP address so your browser knows where to connect.

Related: IP address, DNS record, Domain name, Nameserver

Encryption intermediate

The process of scrambling data with a key so that only someone holding the right key can read it. It protects information stored on disk or sent across networks from being understood by outsiders.

Example. A messaging app encrypts your chat so that the network carrying it cannot read the words.

Related: Hash function, Transport Layer Security, Public-key cryptography

Endianness advanced

The order in which the bytes of a multi-byte number are stored in memory. Little-endian stores the least significant byte first, big-endian the most significant first, and mismatches matter when sharing binary data between systems.

Example. The 32-bit number 1 is stored as 01 00 00 00 on a little-endian machine.

Related: Byte, Binary file, Network protocol

Event loop advanced

A loop that waits for events such as network data arriving or timers expiring and runs the code registered to handle each one. It is the engine behind asynchronous frameworks, letting one thread manage thousands of connections.

Example. Python's asyncio runs an event loop that resumes your await-ing functions when their results are ready.

Related: Asynchronous programming, Concurrency, Thread

File descriptor advanced

A small integer that a Unix-like operating system gives a process to refer to an open file, socket or pipe. Programs read and write using this handle, and numbers 0, 1 and 2 are standard input, output and error.

Example. When a script opens a log file, the kernel returns a descriptor such as 3 that later reads and writes use.

Related: System call, Standard streams, Socket, File system

File extension beginner

The short suffix after the dot at the end of a file name, such as .csv or .py, that hints at the file's format and which program should open it. It is only a label, and changing it does not convert the contents.

Example. Renaming data.csv to data.xlsx does not turn it into an Excel workbook; only the label changes.

Related: File system, Text file, Binary file, MIME type

File system beginner

The method an operating system uses to name, organise and locate data on a storage device, usually as folders containing files. It keeps track of where each file's contents sit on the disk and who may access them.

Example. NTFS on Windows and ext4 on Linux are file systems that structure a disk into files and directories.

Related: Inode, Storage, Directory, File descriptor

Firewall intermediate

A security system that monitors network traffic and allows or blocks it based on rules about addresses, ports and protocols. It protects machines from unwanted connections and can be a device, software or a cloud setting.

Example. A cloud firewall rule that only allows port 443 blocks all other inbound connections to your server.

Related: Port, IP address, Virtual private network

Firmware advanced

Low-level software stored permanently on a hardware device that controls how it starts and operates. It sits between the hardware and higher-level software, and is updated less often than ordinary programs.

Example. A router's firmware update can add features or fix security problems in the device.

Related: BIOS, Device driver, Boot process

Floating-point number intermediate

A way of storing real numbers in a fixed number of bits using a sign, an exponent and a fraction, similar to scientific notation. It covers a huge range of magnitudes but represents most decimals only approximately.

Example. In Python, 0.1 + 0.2 gives 0.30000000000000004 because neither value is stored exactly.

Related: Machine epsilon, IEEE 754, Integer overflow, Precision

Garbage collection intermediate

Automatic memory management in which a language runtime finds objects a program can no longer reach and frees their memory. It spares programmers from releasing memory by hand, at the cost of some overhead and occasional pauses.

Example. When you overwrite the only variable pointing to a large list in Python, its memory is soon reclaimed automatically.

Related: Reference counting, Heap, Memory leak

Global interpreter lock advanced

A lock in the standard CPython interpreter that lets only one thread execute Python bytecode at a time. It simplifies memory management but stops pure-Python threads from using several cores, so CPU-heavy work uses multiple processes instead.

Example. Two threads each doing heavy pure-Python arithmetic do not run twice as fast in CPython, but two processes would.

Related: Thread, Multiprocessing, Concurrency

Graphical user interface beginner

A way of using a computer by interacting with visual elements such as windows, icons, buttons and menus, using a mouse or touch. It is easier for beginners than typing commands but less easy to automate.

Example. Dragging a file into a folder on your desktop is an action in a graphical interface.

Related: Command-line interface, Operating system, Application programming interface

Graphics processing unit beginner

A processor with thousands of small cores built to run the same operation on huge amounts of data in parallel. Originally for rendering images, it is now the standard hardware for training and running neural networks because those workloads are mostly large matrix multiplications.

Example. Multiplying two 4096 by 4096 matrices takes far less time on a GPU than on a CPU because thousands of multiplications run at once.

Related: CPU core, VRAM, CUDA, Parallel computing

Half-precision floating point advanced

A 16-bit floating-point format that uses half the memory of the usual 32-bit format, with less range and precision. It is widely used in deep learning to speed up computation and shrink models on GPUs.

Example. A 7-billion-parameter model needs about 14 GB in 16-bit format versus 28 GB in 32-bit.

Related: Floating-point number, Precision, VRAM, IEEE 754

Hard disk drive beginner

A storage device that records data magnetically on spinning platters read by a moving head. It is cheap for large capacities but slower than flash, especially for random access, so it suits archives and backups better than active workloads.

Example. A 4 TB hard disk is a cheap place to keep old video recordings and backups.

Related: Solid-state drive, Storage, File system

Hash function intermediate

A function that turns input of any size into a fixed-size value, so that the same input always gives the same output and even a tiny change gives a very different one. Cryptographic versions also make it infeasible to reverse or find collisions.

Example. The SHA-256 hash of any file is always 256 bits long, whether the file is one byte or one gigabyte.

Related: Checksum, Encryption, Binary file

Heap intermediate

The region of memory used for data that must live beyond a single function call and whose size may be decided while the program runs. Programs or their runtimes request and release blocks from it, and forgetting to release causes leaks.

Example. In Python, a list you create lives on the heap, and the variable holding it just points there.

Related: Stack, Garbage collection, Memory leak, Pointer

Hexadecimal beginner

A base-16 number system using digits 0 to 9 and letters A to F, in which each digit stands for exactly four bits. It is a compact way to write binary values such as colours, memory addresses and byte data.

Example. The hex value FF equals 255, and the web colour #FF0000 means full red with no green or blue.

Related: Binary number system, Byte, Octal

Hyper-threading advanced

An Intel technology that lets one physical CPU core present itself as two logical cores, so it can run two threads and fill idle execution slots. It improves throughput for some workloads but does not double performance.

Example. A 4-core CPU with hyper-threading appears to the operating system as 8 logical processors.

Related: CPU core, Thread, Simultaneous multithreading

Hypervisor advanced

Software or firmware that creates and runs virtual machines by dividing a physical machine's CPU, memory and devices among them while keeping them isolated. It is the foundation of most cloud infrastructure.

Example. A hypervisor on one server lets a Linux VM and a Windows VM run side by side without seeing each other.

Related: Virtual machine, Operating system, Cloud computing

IEEE 754 advanced

The widely adopted technical standard that defines how floating-point numbers are represented and how arithmetic on them behaves, including special values such as infinity and not-a-number. Nearly all modern processors follow it.

Example. Under IEEE 754, dividing 1.0 by 0.0 in floating point gives infinity rather than crashing in many languages.

Related: Floating-point number, Machine epsilon, Half-precision floating point

Inode advanced

A record in Unix-style file systems that stores a file's metadata, such as size, owner, permissions and where its data blocks are on disk. The file name is kept separately in the directory and points to the inode.

Example. Two hard links with different names can point to the same inode, so both show the same content.

Related: File system, Hard link, Metadata

Instruction cycle advanced

The repeating process a CPU follows to run a program: fetch an instruction from memory, decode what it means, execute it, and then store any result. Every program step runs through this cycle.

Example. To run an add instruction, the CPU fetches it, decodes it as addition, executes it on two registers and stores the sum.

Related: Central processing unit, Clock speed, Register, Machine code

Instruction set architecture intermediate

The contract between software and a processor: the list of machine instructions, registers and memory-addressing rules that programs can use. Compilers target an ISA, so binaries built for one (such as x86-64) do not run natively on another (such as ARM) without translation.

Example. A Linux program compiled for x86-64 will not run directly on an ARM-based cloud server; it must be recompiled for ARM.

Related: x86, ARM architecture, Machine code, Compiler

Integer overflow advanced

An error that occurs when an arithmetic result is too large to fit in the fixed number of bits reserved for an integer, so it wraps around or is cut off. Python integers grow as needed, but many languages and array types do not.

Example. A NumPy int8 value of 127 plus 1 wraps around to -128.

Related: Two's complement, Bit, Floating-point number

Inter-process communication advanced

The set of mechanisms that let separate processes exchange data or coordinate, such as pipes, sockets, shared memory and message queues. It is needed because processes have isolated memory.

Example. A parent process can send a list of image paths to worker processes through a queue.

Related: Process, Socket, Multiprocessing

Interpreter intermediate

A program that reads source code and executes it step by step without first producing a separate machine-code file. It makes development flexible and quick to test, at the cost of slower execution than compiled code.

Example. Running python script.py starts the interpreter, which reads and executes your code line by line.

Related: Compiler, Bytecode, Machine code

IP address beginner

A numeric label identifying a device on a network so that packets can be delivered to it. IPv4 addresses look like 192.168.1.10, and the newer IPv6 uses longer hexadecimal addresses.

Example. Your home router might give your phone the local address 192.168.1.5.

Related: IPv6, DNS, Subnet, Packet

IPv6 intermediate

The newer version of the Internet Protocol, using 128-bit addresses instead of IPv4's 32 bits, giving a vastly larger address space. It was created because the supply of IPv4 addresses is nearly exhausted.

Example. An IPv6 address looks like 2001:db8::1, written in hexadecimal groups separated by colons.

Related: IP address, Subnet, Network protocol

Kernel intermediate

The central part of an operating system that runs with full hardware privileges, managing processes, memory, devices and system calls. Everything else, including user programs, depends on it and is kept separate from it for safety.

Example. Linux is technically a kernel, and distributions such as Ubuntu add tools and libraries around it.

Related: Operating system, System call, User space, Device driver

Kilobyte and megabyte beginner

Units of data size built from bytes. Traditionally a kilobyte is 1,000 bytes and a megabyte 1,000 kilobytes in storage marketing, while binary units KiB and MiB use 1,024 for memory. The gigabyte and terabyte continue the pattern.

Example. A 5 GB dataset holds about five billion bytes.

Related: Byte, Bit, Storage

Latency beginner

The time delay between requesting something and getting the result, such as the wait for a network reply or a memory read. It is measured in time units like milliseconds, and low latency matters for interactive applications.

Example. A ping to a server in Mumbai from Delhi might show 20 ms latency, while one to a US server could show around 200 ms.

Related: Throughput, Bandwidth, Round-trip time

Library beginner

A collection of ready-made code that programs can call to perform common tasks, so developers do not write everything from scratch. The program stays in control and calls the library when needed.

Example. NumPy is a library that provides fast array maths for Python programs.

Related: Application programming interface, Compiler, Operating system

Load balancer intermediate

A system that spreads incoming requests across several servers so that no single one is overwhelmed, improving capacity and availability. If a server fails, the balancer stops sending traffic to it.

Example. A shopping site sends each visitor to one of five identical servers via a load balancer, so a sale does not crash it.

Related: Server, Throughput, Reverse proxy

Local area network beginner

A network that connects computers within a limited area such as a home, office or campus, typically with high speed and low delay. It is usually joined to the wider internet through a router.

Example. The laptops and printers in an office in Pune form a LAN linked by switches and Wi-Fi.

Related: Wide area network, Router, Switch

Localhost beginner

The special name for the computer you are currently using, which resolves to the address 127.0.0.1. Developers use it to run and test servers on their own machine without any outside network access.

Example. Running a development server and opening localhost:8000 in the browser shows the app on your own machine.

Related: IP address, Port, Loopback interface

Logic gate intermediate

A basic electronic circuit that takes one or more binary inputs and produces one output according to a logical rule such as AND, OR or NOT. Combining billions of gates builds processors and memory.

Example. An AND gate outputs 1 only when both of its inputs are 1.

Related: Boolean, Bit, Central processing unit

Loopback interface advanced

A virtual network interface inside a machine that sends traffic straight back to the same machine without using any physical hardware. It provides the address 127.0.0.1, which lets programs on one computer talk to each other over network protocols.

Example. A database and an app on the same laptop can connect through the loopback address without touching the Wi-Fi.

Related: Localhost, IP address, Socket

MAC address intermediate

A unique hardware identifier assigned to a network interface, written as six pairs of hexadecimal digits. It is used for delivery within a local network, whereas IP addresses are used across networks.

Example. A network card might have the MAC address 00:1A:2B:3C:4D:5E.

Related: IP address, Switch, Local area network

Machine code advanced

The lowest-level instructions, in binary, that a processor executes directly. Every program, whatever language it was written in, ends up as machine code for the specific processor it runs on.

Example. A compiled program file is mostly machine code such as raw instruction bytes for an x86-64 CPU.

Related: Instruction set architecture, Compiler, Central processing unit

Machine epsilon advanced

The gap between 1.0 and the next larger number a given floating-point format can represent, which measures the format's relative rounding precision. For 64-bit floats it is about 2.2 times ten to the power minus 16.

Example. In NumPy, np.finfo(float).eps returns about 2.22e-16.

Related: Floating-point number, IEEE 754, Precision

Memory bandwidth advanced

The amount of data a memory system can move per second, usually quoted in gigabytes per second. Many AI workloads, especially generating text from large models, are limited by how quickly weights can be read rather than by arithmetic speed.

Example. A GPU with 2,000 GB/s bandwidth can read a 14 GB model's weights about 140 times per second at best.

Related: VRAM, Latency, Throughput, Graphics processing unit

Memory hierarchy intermediate

The layered arrangement of memory types from tiny, fast and costly (registers, cache) to large, slow and cheap (RAM, disk). Systems are designed so frequently used data lives near the top, giving the illusion of a memory that is both big and fast.

Example. A CPU checks its cache first, then RAM, then the disk, each step being much slower than the last.

Related: Cache memory, Random access memory, Storage, Register

Memory leak intermediate

A bug where a program keeps reserving memory it no longer needs and never releases it, so its memory use grows over time until the system slows or crashes. Long-running services are most exposed to it.

Example. A web service whose memory climbs from 300 MB to 4 GB over a week, without traffic growing, likely has a leak.

Related: Garbage collection, Heap, Out of memory

Metadata intermediate

Data that describes other data, such as a file's size, creation time, owner and type, rather than its content. It helps systems organise, search and manage data.

Example. A photo's metadata may record the camera model and the time and place it was taken.

Related: File system, Inode, File extension

MIME type intermediate

A standard label of the form type/subtype, such as text/html or image/png, that says what kind of data a file or message contains. Browsers and servers use it to decide how to handle content.

Example. A server sending a PDF labels it application/pdf so the browser knows to show a document viewer.

Related: File extension, Binary file, Text file

Moore's law intermediate

The observation, made by Gordon Moore, that the number of transistors on a chip roughly doubles about every two years. It has loosely guided the rise in computing power, though its pace has slowed in recent years.

Example. Chips of the same size could hold about twice the transistors after two years, which supported steady speed gains.

Related: Central processing unit, Logic gate, Graphics processing unit

Multiprocessing intermediate

Running work in several separate processes, each with its own memory, so that computation can use multiple CPU cores at the same time. It avoids sharing problems between threads but has more overhead to start and to pass data between processes.

Example. Using Python's multiprocessing Pool with 4 workers can process 4 image folders on 4 cores at once.

Related: Process, CPU core, Parallel computing, Global interpreter lock

Multithreading intermediate

Running several threads inside a single process so that tasks appear to proceed at once. It is well suited to programs that spend time waiting on input or output, and it needs synchronisation when threads touch shared data.

Example. A downloader that fetches 20 files concurrently using 20 threads finishes much faster than fetching them one by one.

Related: Thread, Concurrency, Global interpreter lock, Mutex

Mutex advanced

A mutual-exclusion lock that allows only one thread at a time to enter a protected section of code. Threads that arrive while it is held wait, which prevents simultaneous changes to shared data.

Example. Wrapping a shared counter update in a lock makes sure two threads cannot change it at the same instant.

Related: Race condition, Deadlock, Thread

Nameserver advanced

A server that stores DNS records for a domain and answers queries about them. Resolvers ask a chain of nameservers, from the root down, to find the record for a name.

Example. A domain's registrar setting lists which nameservers are authoritative for its records.

Related: Domain Name System, DNS record, Domain name

Network address translation advanced

A technique in which a router rewrites packet addresses so that many devices on a private network share one public IP address. It conserves public addresses and hides internal addresses from outside.

Example. All phones and laptops in your home reach the internet through the router's single public IP address using NAT.

Related: Router, IP address, Firewall

Network protocol beginner

An agreed set of rules describing how devices format, send, receive and interpret messages over a network. Because both sides follow the same rules, different machines and software can communicate.

Example. Your browser and a website both follow the same protocols so they understand each other's messages.

Related: TCP, IP address, OSI model, Packet

NVMe advanced

A protocol for talking to solid-state drives directly over the PCIe bus, designed for flash so that many requests can be handled in parallel. It gives far higher throughput and lower delay than older SATA connections.

Example. A cloud instance with local NVMe disks can feed training data to GPUs faster than one using network-attached disks.

Related: Solid-state drive, PCIe, Storage

Octal intermediate

A base-8 number system using digits 0 to 7, in which each digit stands for three bits. It survives mainly in Unix file permission notation.

Example. The octal value 755 is a common Unix permission setting, where 7 means read, write and execute.

Related: Binary number system, Hexadecimal, Decimal number system

Open-source software beginner

Software whose source code is published under a licence that lets others read, use, modify and share it, subject to the licence terms. Much of modern infrastructure, including Linux and many AI libraries, is open source.

Example. Linux and Python are open-source projects that anyone can download and inspect.

Related: Operating system, Library, Kernel

Operating system beginner

The core software that manages a computer's hardware and provides services to programs, including running processes, managing memory, handling files and controlling devices. Applications talk to the hardware only through it.

Example. Windows, macOS, Linux and Android are operating systems.

Related: Kernel, Process, File system, Device driver

OSI model intermediate

A seven-layer conceptual framework describing how network communication is divided into stages, from physical signals up to application data. Each layer has one job and talks to the layers next to it, which helps engineers reason about and troubleshoot networks.

Example. Cable and Wi-Fi signals sit in the lowest layer, while a web application sits in the highest.

Related: TCP/IP model, Network protocol, Packet

Out of memory intermediate

An error state in which a program or system asks for more memory than is available and cannot get it, so the process fails or is killed. In machine learning it is common when a batch or model is too big for GPU or system memory.

Example. Training with batch size 512 crashes with a CUDA out-of-memory error, and reducing the batch size to 128 fixes it.

Related: VRAM, Random access memory, Memory leak

Packet beginner

A small chunk of data with a header carrying addressing and control information, into which network messages are divided for transmission. Packets may take different routes and are reassembled at the destination.

Example. Sending a 1 MB photo splits it into hundreds of packets that are rebuilt on the receiving side.

Related: IP address, Router, TCP, Network protocol

Page fault advanced

An event that occurs when a program touches a memory page that is not currently loaded in RAM. The operating system pauses the program, loads the page from disk, and resumes it, which costs far more time than a normal memory access.

Example. Opening a huge memory-mapped file triggers page faults as each section is read for the first time.

Related: Paging, Virtual memory, Swap space

Paging advanced

A memory management method that splits memory into fixed-size blocks called pages, which the operating system can place anywhere in RAM or move to disk. It avoids the need for a program's memory to be one continuous block.

Example. With 4 KB pages, a 1 MB program occupies 256 pages that may be scattered across RAM.

Related: Virtual memory, Swap space, Page fault

Parallel computing intermediate

Carrying out multiple computations at literally the same moment on separate processing units, such as several CPU cores or GPU cores. It speeds up tasks that can be split into independent pieces.

Example. Adding two arrays of a million numbers can be split so a GPU adds thousands of pairs simultaneously.

Related: Concurrency, CPU core, Graphics processing unit, Multiprocessing

PCIe advanced

Peripheral Component Interconnect Express, the high-speed serial connection between a motherboard and add-in devices such as GPUs and NVMe drives. It is organised in lanes, and more lanes or newer generations move more data per second.

Example. A GPU sitting in a x16 PCIe slot exchanges data with the CPU over sixteen lanes.

Related: Graphics processing unit, NVMe, Memory bandwidth

Ping beginner

A basic network diagnostic tool that sends small echo requests to a host and reports whether replies arrive and how long they take. It is a quick way to check reachability and delay.

Example. Running ping 8.8.8.8 shows whether your machine can reach that server and the round-trip time.

Related: Round-trip time, IP address, Packet

Pointer intermediate

A value that stores the memory address of another piece of data instead of the data itself. Pointers let programs share and pass large objects cheaply, and many languages, including Python, use similar references behind the scenes.

Example. If a variable holds address 0x7ffe10, reading through that pointer fetches the value stored at that location.

Related: Heap, Stack, Reference counting

Port beginner

A number from 0 to 65535 that identifies a particular service or application on a machine, letting one IP address handle many network conversations. Some numbers are conventional, for example 443 for secure web traffic.

Example. A web server usually listens on port 443, while a local development server might use port 8000.

Related: IP address, Socket, Firewall, TCP

Precision intermediate

In computing, the number of bits or digits used to represent a number, which sets how finely values can be told apart. Lower precision saves memory and time but adds rounding error.

Example. Storing a model's weights in 16-bit instead of 32-bit precision halves their memory use.

Related: Floating-point number, Half-precision floating point, Machine epsilon

Process beginner

A running instance of a program, with its own memory space, resources and at least one thread of execution. Processes are isolated from one another by the operating system, so one crashing usually does not bring down others.

Example. Opening two terminal windows and running python script.py in each creates two separate processes.

Related: Thread, Process ID, Context switch, Multiprocessing

Process ID beginner

A unique number the operating system assigns to each running process so that it can be identified, monitored or stopped. Tools such as task managers and kill commands refer to processes by this number.

Example. If a stuck script has process ID 4821, you can stop it by sending a terminate signal to 4821.

Related: Process, Signal, Daemon

Public-key cryptography advanced

An approach to secure communication using a pair of related keys, one public and one private. What one key locks, only the other unlocks, which allows secure exchange and digital signatures without sharing a secret beforehand.

Example. A website publishes its public key, and your browser uses it to set up a secure session that only the site's private key can complete.

Related: Encryption, Transport Layer Security, Hash function

Race condition advanced

A bug where the result of a program depends on the unpredictable order in which threads or processes touch shared data. It can produce wrong values that appear only occasionally, which makes it hard to reproduce.

Example. Two threads each read a counter of 5, add 1 and write back, so the counter ends at 6 instead of 7.

Related: Mutex, Deadlock, Thread, Concurrency

Random access memory beginner

The fast, temporary working memory of a computer where running programs keep their data and code. Any location can be read in about the same short time, but the contents disappear when power is off, so anything important must be saved to storage.

Example. Loading a 2 GB CSV file into a pandas DataFrame uses roughly that much or more of your RAM.

Related: Storage, Virtual memory, Memory hierarchy, Swap space

Reference counting advanced

A memory management scheme in which each object tracks how many references point to it, and is freed as soon as that count reaches zero. CPython uses it as its main mechanism, with a separate collector for cyclic references.

Example. In Python, sys.getrefcount(x) reports how many references currently point to object x.

Related: Garbage collection, Pointer, Heap

Register advanced

A tiny storage slot built directly into the CPU that holds the values an instruction is currently working on. Registers are the fastest memory in a computer, but there are only a few dozen of them, so compilers decide carefully what to keep there.

Example. An addition instruction typically reads two registers and writes the sum to a third.

Related: Central processing unit, Memory hierarchy, Machine code

Reverse proxy advanced

A server that sits in front of one or more backend servers, receiving client requests and passing them on, then returning the replies. It can handle encryption, caching and load distribution while hiding the backend.

Example. Nginx placed in front of an app server accepts connections on port 443 and forwards them to the app on a private port.

Related: Load balancer, Server, Transport Layer Security

Round-trip time intermediate

The time it takes for a small message to travel from a sender to a destination and for the reply to return. It is a basic measure of network delay and is what the ping tool reports.

Example. A ping reporting 45 ms means the round trip to the server and back took 45 milliseconds.

Related: Latency, Ping, Three-way handshake

Router beginner

A network device that forwards packets between different networks by choosing the next hop toward each packet's destination address. Your home router connects your local devices to the internet.

Example. Your home router passes your laptop's request from the Wi-Fi network out to your internet provider.

Related: Packet, IP address, Switch, Network address translation

Scheduler intermediate

The part of the operating system that decides which process or thread gets the CPU and for how long. Its policy balances fairness, responsiveness and priorities so that many programs seem to run at the same time.

Example. When you play music and compile code together, the scheduler gives each a slice of CPU time in turn.

Related: Context switch, Process, Operating system

Secure Shell intermediate

A protocol and tool for securely logging in to and running commands on a remote computer over an encrypted connection. It commonly uses key pairs instead of passwords and is the usual way to manage servers.

Example. Running ssh user@203.0.113.10 opens a secure session on that remote server.

Related: Public-key cryptography, Server, Port, Encryption

Serialization intermediate

Converting an in-memory object into a sequence of bytes or text that can be stored or transmitted, so it can be rebuilt later. Formats such as JSON and pickle do this, and the reverse step is called deserialization.

Example. Saving a Python dictionary to a JSON file is serialization, and reading it back into a dictionary is deserialization.

Related: Binary file, Text file, Character encoding

Server beginner

A computer or program that waits for requests from other machines, called clients, and responds with data or services. A physical machine in a data center is often called a server, as is the software answering on it.

Example. A web server receives your browser's request for a page and sends the page back.

Related: Client, Cloud computing, Network protocol

Signal advanced

A short message the operating system delivers to a process to notify it of an event or ask it to act, such as terminate or interrupt. Programs can catch some signals to shut down cleanly.

Example. Pressing Ctrl+C sends an interrupt signal that stops a running Python script.

Related: Process ID, Process, Daemon

Single instruction multiple data advanced

A form of parallelism in which one instruction is applied to several data values at the same time, using wide registers. It accelerates numeric work such as image and array processing and is the idea behind vectorised libraries.

Example. One SIMD instruction can add eight pairs of 32-bit numbers simultaneously.

Related: Parallel computing, Graphics processing unit, Central processing unit

Socket intermediate

One endpoint of a two-way network connection, identified by an IP address and port. Programs create sockets to send and receive data, and higher-level tools like web servers are built on top of them.

Example. A Python program can open a socket to 93.184.216.34 on port 443 to talk to a server.

Related: Port, TCP, IP address, File descriptor

Solid-state drive beginner

A storage device that keeps data in flash memory chips with no moving parts, so it reads and writes much faster than a spinning disk and is more shock resistant. It is standard in modern laptops and cloud servers.

Example. Loading a large dataset from an SSD can take seconds, where the same file on an older hard disk might take a minute.

Related: Hard disk drive, Storage, NVMe

Stack intermediate

A region of memory that stores function call information such as local variables and return addresses, in last-in first-out order. Space is reserved automatically when a function is called and freed when it returns, and it is small compared with the heap.

Example. Infinite recursion keeps adding calls to the stack until a stack overflow error is raised.

Related: Heap, Call stack, Function

Standard streams intermediate

The three default channels each program has for communication: standard input for incoming data, standard output for normal results, and standard error for error messages. Separating them lets output be redirected or piped independently.

Example. print() in Python writes to standard output, while error tracebacks go to standard error.

Related: File descriptor, Process, System call

Storage beginner

Hardware that keeps data permanently, even when the computer is switched off, such as a hard disk or solid-state drive. It is much larger and cheaper per gigabyte than RAM but slower, so programs copy data from storage into memory to work on it.

Example. A 512 GB SSD holds your operating system, applications and datasets, even after a shutdown.

Related: Solid-state drive, Hard disk drive, Random access memory, File system

Subnet advanced

A logical subdivision of an IP network, defined by a network prefix or mask, that groups devices and limits how traffic spreads. Cloud networks use subnets to separate public and private resources.

Example. The notation 10.0.1.0/24 describes a subnet of 256 addresses, of which the first 24 bits identify the network.

Related: IP address, CIDR notation, Router

Swap space intermediate

A region of disk that the operating system uses as overflow when RAM is full, moving rarely used pages out to make room. It prevents crashes from memory shortage but makes the machine very slow if it is used heavily.

Example. A laptop running a data-processing script that needs more than its 8 GB RAM starts swapping and becomes sluggish.

Related: Virtual memory, Paging, Random access memory

Switch intermediate

A network device that connects devices within the same local network and forwards data only to the port where the destination device sits, using hardware addresses. This makes local traffic efficient compared with broadcasting to everyone.

Example. An office with 40 desktops connects them through switches so each can exchange files with a file server.

Related: Router, MAC address, Local area network

System call intermediate

A controlled request from a program to the operating system kernel to perform a privileged action, such as reading a file, creating a process or sending network data. It is the only doorway from user programs into the kernel.

Example. When Python's open() reads a file, it ends up making an operating-system read call on your behalf.

Related: Kernel, User space, Operating system, File descriptor

TCP intermediate

Transmission Control Protocol, a transport protocol that provides reliable, ordered delivery of data by establishing a connection, numbering bytes, acknowledging receipt and resending anything lost. Web pages, email and file transfers rely on it.

Example. If one packet of a file download is lost, TCP notices and asks for it again so the file arrives complete.

Related: UDP, Three-way handshake, Packet, Port

TCP/IP model intermediate

The four-layer practical model of the internet, consisting of link, internet, transport and application layers. It groups the protocols actually used, such as IP, TCP and DNS, and is simpler than the seven-layer reference model.

Example. An email travels through the application layer, then the transport layer, the internet layer and finally the link layer.

Related: OSI model, TCP, IP address

Tensor processing unit intermediate

A custom chip designed by Google specifically to accelerate the matrix arithmetic in neural networks. It trades flexibility for efficiency on that one workload and is offered through Google Cloud for training and inference.

Example. A team can rent a TPU on Google Cloud to train a large model instead of buying GPUs.

Related: Graphics processing unit, Parallel computing, Cloud computing

Text file beginner

A file whose bytes represent characters under a text encoding, so a person can read it in a simple editor. Source code, CSV and JSON files are text files.

Example. A Python script saved as train.py is a text file you can open in any editor.

Related: Binary file, Character encoding, File extension

Thread intermediate

A unit of execution within a process. Threads of one process share the same memory, so they communicate easily but can also interfere with each other, which makes shared data need careful protection.

Example. A web scraper can start 10 threads within one process so that one thread's wait for a slow site does not block the rest.

Related: Process, Concurrency, Race condition, Multithreading

Three-way handshake advanced

The exchange used by TCP to open a connection: the client sends a SYN, the server replies with SYN-ACK, and the client answers with ACK. It confirms both sides are ready and agrees on starting sequence numbers.

Example. Before your browser sends any page request, it and the server complete the three messages SYN, SYN-ACK, ACK.

Related: TCP, Round-trip time, Socket

Throughput beginner

The amount of work completed per unit of time, such as requests served per second or megabytes moved per second. A system can have high throughput yet still respond slowly to each individual request, so it is different from latency.

Example. A server that finishes 500 requests every second has a throughput of 500 requests per second.

Related: Latency, Bandwidth, Parallel computing

Time zone beginner

A region that shares the same standard clock time, defined as an offset from UTC. Time zone handling is a common source of bugs when software mixes local and universal times.

Example. A meeting at 10:00 in Bengaluru is at 04:30 UTC, so a server logging in UTC shows 04:30.

Related: Coordinated Universal Time, Unix time, Timestamp

Transistor intermediate

A tiny electronic switch that can turn current on or off or amplify a signal, and is the basic building block of modern processors and memory. Billions of them are packed on one chip to form logic gates.

Example. A modern CPU contains billions of transistors acting as switches to represent 0s and 1s.

Related: Logic gate, Moore's law, Central processing unit

Transport Layer Security intermediate

A cryptographic protocol that secures communication over a network by encrypting data and verifying the server's identity with a certificate. It is what makes the padlock appear in a browser and is the successor to SSL.

Example. A site using TLS lets you log in without anyone on the shared Wi-Fi reading your password.

Related: Digital certificate, Encryption, Public-key cryptography, TCP

Two's complement advanced

The standard way computers store signed integers in binary: a negative number is formed by inverting all bits of its positive value and adding one. It lets the same addition circuit handle both positive and negative numbers.

Example. In 8 bits, 5 is 00000101 and -5 is 11111011, and adding them gives zero after dropping the overflow.

Related: Integer overflow, Bit, Binary number system

UDP intermediate

User Datagram Protocol, a simple transport protocol that sends independent messages without setting up a connection or guaranteeing delivery or order. Its low overhead suits live video, gaming and DNS lookups where speed beats perfect reliability.

Example. A video call uses UDP because a dropped packet causing a brief glitch is better than pausing to resend it.

Related: TCP, Packet, Latency

Unicode intermediate

A universal standard that gives every character from the world's writing systems, plus symbols and emoji, a unique number called a code point. It defines the characters, while encodings such as UTF-8 define how those numbers become bytes.

Example. The Devanagari letter अ has the Unicode code point U+0905.

Related: UTF-8, ASCII, Character encoding, Code point

Uniform Resource Locator beginner

A standard text address that identifies a resource on the internet and how to reach it, made of a scheme, host, optional port, path and optional query. Browsers use it to know where to send a request.

Example. In https://example.com:443/docs/intro?lang=en, the host is example.com and the path is /docs/intro.

Related: Domain name, Port, IP address

Unix time intermediate

A way of representing a moment as the number of seconds elapsed since 00:00:00 UTC on 1 January 1970, ignoring leap seconds. Computers use it because it is a simple number that is easy to store, compare and subtract.

Example. The Unix timestamp 0 means midnight UTC on 1 January 1970, and adding 86400 moves it forward one day.

Related: Time zone, Integer overflow, Coordinated Universal Time

Uptime beginner

The proportion of time that a system or service is operating and available, often expressed as a percentage. Service promises are commonly stated as uptime targets such as 99.9 percent.

Example. A service with 99.9 percent uptime can be down for about 43 minutes in a 30-day month.

Related: Latency, Server, Data center

User space advanced

The part of memory and execution where ordinary applications run with limited privileges, separated from the kernel. A program that misbehaves in user space cannot directly corrupt the kernel or other programs.

Example. Your Python script runs in user space and must ask the kernel to open a file for it.

Related: Kernel, System call, Process

UTF-8 intermediate

A variable-length encoding of Unicode that uses one to four bytes per character, keeps ASCII characters as single identical bytes, and is the dominant encoding on the web and in modern software. Files and APIs should default to it.

Example. In UTF-8, the letter A takes 1 byte, while the Hindi letter अ takes 3 bytes.

Related: Unicode, ASCII, Character encoding, Code point

Virtual machine intermediate

A software imitation of a complete computer that runs its own operating system on top of real hardware, isolated from other virtual machines on the same host. Cloud providers use them to rent out slices of powerful servers.

Example. A cloud provider can run ten customers' virtual machines on one physical server.

Related: Hypervisor, Container, Cloud computing, Operating system

Virtual memory intermediate

A technique where the operating system gives each program its own private address space and maps it onto physical RAM and disk as needed. It isolates programs from each other and lets them use more memory than is physically installed.

Example. Two Python processes can both use memory address 1000 without touching each other's data because each has its own mapping.

Related: Paging, Swap space, Random access memory, Process

Virtual private network intermediate

A service that creates an encrypted tunnel between your device and another network, so traffic is hidden from the networks in between and appears to come from the far end. Companies use it to give staff safe access to internal systems.

Example. An employee working from home connects through a VPN to reach the office's internal servers securely.

Related: Encryption, Firewall, IP address

Von Neumann architecture advanced

A computer design in which program instructions and data share the same memory and are fetched over the same connection to the processor. It underlies most modern computers, and its shared path can become a bottleneck.

Example. A stored-program computer keeps both your code and your data in RAM, and the CPU fetches each from there.

Related: Central processing unit, Random access memory, Memory bandwidth

VRAM intermediate

The dedicated high-speed memory attached to a GPU, holding the data the GPU is working on, such as model weights, activations and images. If a model does not fit in VRAM, it cannot run on that GPU without tricks such as offloading or compression.

Example. A model with 7 billion weights stored at 2 bytes each needs about 14 GB of VRAM just for the weights.

Related: Graphics processing unit, Random access memory, Memory bandwidth

Wide area network intermediate

A network that spans large geographic distances, connecting separate local networks, often across cities or countries. The internet is the largest example, and companies use private ones to link branch offices.

Example. A bank links its Chennai and Delhi offices through a WAN so they share the same systems.

Related: Local area network, Router, Latency

x86 intermediate

A family of processor instruction sets originating from Intel and also implemented by AMD, dominant in desktops, laptops and most traditional servers. The 64-bit version, x86-64, is what most Windows and Linux machines and many cloud virtual machines use.

Example. When you pick an 'amd64' Docker image, you are choosing one built for x86-64 processors.

Related: ARM architecture, Instruction set architecture, Central processing unit