Engineer Computer System study materials
Engineer Computer System study resources

Engineer Computer System key terms

Engineer Computer System · Get comfortable with the vocabulary.

Instruction Set Architecture (ISA)

The contract between hardware and software that defines available instructions, registers, addressing modes, data types, and memory model, letting compiled programs run on any processor implementing it.

Related: Pipeline, CISC and RISC
Pipeline

A processor design that overlaps execution stages of successive instructions, increasing throughput; hazards such as data dependencies or branch misprediction can stall or flush it.

Related: Instruction Set Architecture (ISA), Cache Memory
CISC and RISC

Two design philosophies: CISC uses many complex variable-length instructions, while RISC favors a small set of simple fixed-length instructions that pipeline efficiently and rely on load/store access to memory.

Related: Instruction Set Architecture (ISA), Pipeline
Cache Memory

Small fast memory between CPU and main memory holding recently used blocks; measured by hit ratio and access time, with write-through or write-back policies and direct, set-associative, or fully associative mapping.

Related: Locality of Reference, Memory Hierarchy
Locality of Reference

The tendency of programs to reuse recently accessed data (temporal locality) and to access nearby addresses (spatial locality), which makes caches and paging effective.

Related: Cache Memory, Virtual Memory
Memory Hierarchy

Layered storage from registers and caches through main memory to disk and tape, trading capacity for speed and cost so that frequently used data stays close to the processor.

Related: Cache Memory, Virtual Memory
Amdahl's Law

A speedup limit stating that improving only a fraction f of a workload by factor s yields at most 1/((1-f)+f/s), so unimproved portions bound overall gain.

Related: Speedup and Efficiency
Two's Complement

Signed integer encoding where the most significant bit has negative weight; negation is bitwise inversion plus one, giving one representation of zero and an asymmetric range.

Related: Overflow, Floating-Point Representation
Floating-Point Representation

Encoding a real number as sign, exponent, and mantissa in IEEE 754 formats, trading range for precision; operations require rounding, and results may be inexact or non-associative.

Related: Two's Complement, Overflow
Overflow

A condition where a computed result exceeds the representable range of its type, such as signed integer wraparound or floating-point infinity, often detected by carry or exponent flags.

Related: Two's Complement, Floating-Point Representation
Karnaugh Map

A grid arranging truth-table minterms so adjacent cells differ by one variable, used to group terms and derive minimized sum-of-products Boolean expressions by inspection.

Related: Boolean Algebra, Finite State Machine
Boolean Algebra

The algebra of binary variables using AND, OR, and NOT, with identities such as De Morgan's laws and distributivity, forming the basis for simplifying and designing digital circuits.

Related: Karnaugh Map, Flip-Flop
Flip-Flop

A bistable sequential circuit storing one bit, with types such as D and JK; clocked edge-triggered versions underpin registers, counters, and state machines.

Related: Finite State Machine, Boolean Algebra
Finite State Machine

A model with a finite set of states, inputs, transitions, and outputs; Mealy outputs depend on state and input, Moore outputs on state alone, and both guide sequential logic design.

Related: Flip-Flop, Karnaugh Map
Virtual Memory

An abstraction giving each process a private address space mapped by page tables to physical frames, enabling protection, sharing, and demand paging from disk.

Related: Page Fault, Thrashing
Page Fault

A trap raised when a referenced page is not resident in memory; the operating system loads it from backing store, possibly evicting another page, then restarts the instruction.

Related: Virtual Memory, Thrashing
Thrashing

Severe performance collapse when processes spend most time paging rather than executing, caused by overcommitted memory; remedies include working-set control and reducing multiprogramming degree.

Related: Page Fault, Virtual Memory
Deadlock

A state where processes wait indefinitely for resources held by each other; it requires mutual exclusion, hold-and-wait, no preemption, and circular wait, and is handled by prevention, avoidance, detection, or recovery.

Related: Semaphore, Critical Section
Semaphore

A synchronization primitive with an integer counter and atomic wait and signal operations, used to enforce mutual exclusion or signal events between concurrent processes and threads.

Related: Deadlock, Critical Section
Critical Section

A code region accessing shared state that must execute atomically with respect to other threads, protected by locks, semaphores, or monitors to prevent race conditions.

Related: Semaphore, Deadlock
Hash Table

A dictionary storing key-value pairs in buckets chosen by a hash function, giving average constant-time lookup; collisions are resolved by chaining or open addressing with probing.

Related: Big-O Notation, Balanced Binary Search Tree
Balanced Binary Search Tree

A search tree maintaining logarithmic height through rotations, such as AVL or red-black trees, guaranteeing O(log n) search, insertion, and deletion while keeping keys ordered.

Related: Hash Table, Big-O Notation
Big-O Notation

Asymptotic notation describing an upper bound on growth rate of time or space as input size increases, ignoring constants and lower-order terms when comparing algorithms.

Related: Hash Table, Dynamic Programming
Dynamic Programming

Solving problems by combining solutions to overlapping subproblems, computed bottom-up or memoized, requiring optimal substructure and typically trading memory for reduced time complexity.

Related: Big-O Notation, Recursion
Recursion

A technique where a function calls itself on smaller inputs, requiring a base case and using the call stack; deep recursion risks stack overflow and may be replaced by iteration.

Related: Dynamic Programming
Encapsulation

Object-oriented principle hiding internal state behind a public interface, so implementation changes do not break clients and invariants are enforced by the owning class.

Related: Polymorphism, Unit Testing
Polymorphism

The ability of one interface to denote objects of different types, dispatched dynamically at run time, letting code operate uniformly on varied implementations without type checks.

Related: Encapsulation, Design Pattern
Unit Testing

Verifying individual functions or classes in isolation against expected results, usually automated and run on every change to catch regressions early and document intended behavior.

Related: Regression Testing, Continuous Integration
Regression Testing

Re-running existing tests after changes to confirm previously working behavior still works, typically automated in a suite and prioritized by risk and code coverage.

Related: Unit Testing, Continuous Integration
Design Pattern

A reusable named solution to a recurring design problem, such as Observer, Factory, or Strategy, described by intent, structure, and consequences rather than concrete code.

Related: Polymorphism, Encapsulation
Normalization

Organizing relational schemas to reduce redundancy and update anomalies by applying normal forms based on functional dependencies, progressively through 1NF, 2NF, 3NF, and BCNF.

Related: ACID Properties, Primary Key
ACID Properties

Guarantees for database transactions: atomicity (all or nothing), consistency (valid states), isolation (concurrent effects equivalent to serial), and durability (committed changes survive failure).

Related: Normalization, Primary Key
Primary Key

A minimal set of columns uniquely identifying each row and declared non-null, distinct from candidate keys and referenced by foreign keys in other tables.

Related: Normalization, ACID Properties
TCP Three-Way Handshake

Connection setup exchanging SYN, SYN-ACK, and ACK to synchronize sequence numbers and confirm both directions reachable before data transfer begins.

Related: Subnetting, TLS
Subnetting

Dividing an IP network into smaller subnetworks using a prefix length, where the mask separates network and host bits and determines addresses per subnet and broadcast address.

Related: TCP Three-Way Handshake, TLS
TLS

A protocol securing transport connections through certificate-based authentication and negotiated symmetric encryption, providing confidentiality, integrity, and server identity.

Related: TCP Three-Way Handshake, Encryption
Encryption

Transforming plaintext into ciphertext with a key so only authorized parties can recover it; symmetric schemes share one key, asymmetric schemes use public and private key pairs.

Related: TLS, Hash Function
Hash Function

A deterministic one-way function mapping input to fixed-size digest, used for integrity checks and password storage; cryptographic versions resist collisions and preimage attacks.

Related: Encryption, Digital Signature
Digital Signature

A value computed from a message digest and a private key, verifiable with the corresponding public key to prove origin and detect tampering or repudiation.

Related: Hash Function, Encryption
CAP Theorem

A distributed data store can guarantee at most two of consistency, availability, and partition tolerance; since partitions occur, systems choose consistency or availability during them.

Related: Load Balancing, Replication
Load Balancing

Distributing incoming requests across multiple servers using algorithms such as round robin or least connections, improving throughput, latency, and availability through redundancy.

Related: CAP Theorem, Replication
Replication

Maintaining copies of data on multiple nodes for availability and read scaling, with consistency depending on whether writes propagate synchronously or asynchronously.

Related: CAP Theorem, Load Balancing
Speedup and Efficiency

Speedup is serial time divided by parallel time; efficiency divides speedup by processor count, showing how well additional processors are utilized, bounded by Amdahl's law.

Related: Amdahl's Law
Continuous Integration

Practice of merging changes frequently and automatically building and testing each integration, surfacing defects early and keeping the mainline releasable.

Related: Unit Testing, Regression Testing
Intellectual Property

Legally protected creations such as copyright, patents, trademarks, and trade secrets; engineers must respect licenses, attribution, and confidentiality obligations when using code and data.

Related: Software License, Professional Code of Ethics
Software License

Terms governing use, modification, and distribution of software, such as permissive, copyleft, or proprietary licenses; obligations differ and must be checked before reuse.

Related: Intellectual Property, Professional Code of Ethics
Professional Code of Ethics

Principles guiding engineering conduct: public safety and welfare first, competence within one's expertise, honesty about capabilities and results, confidentiality, and disclosure of conflicts of interest.

Related: Intellectual Property, Software License