Engineer Computer System key terms
Engineer Computer System · Get comfortable with the vocabulary.
- Instruction Set Architecture (ISA)
- Related: Pipeline, CISC and RISC
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.
- Pipeline
- Related: Instruction Set Architecture (ISA), Cache Memory
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.
- CISC and RISC
- Related: Instruction Set Architecture (ISA), Pipeline
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.
- Cache Memory
- Related: Locality of Reference, Memory Hierarchy
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.
- Locality of Reference
- Related: Cache Memory, Virtual Memory
The tendency of programs to reuse recently accessed data (temporal locality) and to access nearby addresses (spatial locality), which makes caches and paging effective.
- Memory Hierarchy
- Related: Cache Memory, Virtual Memory
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.
- Amdahl's Law
- Related: Speedup and Efficiency
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.
- Two's Complement
- Related: Overflow, Floating-Point Representation
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.
- Floating-Point Representation
- Related: Two's Complement, Overflow
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.
- Overflow
- Related: Two's Complement, Floating-Point Representation
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.
- Karnaugh Map
- Related: Boolean Algebra, Finite State Machine
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.
- Boolean Algebra
- Related: Karnaugh Map, Flip-Flop
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.
- Flip-Flop
- Related: Finite State Machine, Boolean Algebra
A bistable sequential circuit storing one bit, with types such as D and JK; clocked edge-triggered versions underpin registers, counters, and state machines.
- Finite State Machine
- Related: Flip-Flop, Karnaugh Map
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.
- Virtual Memory
- Related: Page Fault, Thrashing
An abstraction giving each process a private address space mapped by page tables to physical frames, enabling protection, sharing, and demand paging from disk.
- Page Fault
- Related: Virtual Memory, Thrashing
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.
- Thrashing
- Related: Page Fault, Virtual Memory
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.
- Deadlock
- Related: Semaphore, Critical Section
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.
- Semaphore
- Related: Deadlock, Critical Section
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.
- Critical Section
- Related: Semaphore, Deadlock
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.
- Hash Table
- Related: Big-O Notation, Balanced Binary Search Tree
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.
- Balanced Binary Search Tree
- Related: Hash Table, Big-O Notation
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.
- Big-O Notation
- Related: Hash Table, Dynamic Programming
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.
- Dynamic Programming
- Related: Big-O Notation, Recursion
Solving problems by combining solutions to overlapping subproblems, computed bottom-up or memoized, requiring optimal substructure and typically trading memory for reduced time complexity.
- Recursion
- Related: Dynamic Programming
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.
- Encapsulation
- Related: Polymorphism, Unit Testing
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.
- Polymorphism
- Related: Encapsulation, Design Pattern
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.
- Unit Testing
- Related: Regression Testing, Continuous Integration
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.
- Regression Testing
- Related: Unit Testing, Continuous Integration
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.
- Design Pattern
- Related: Polymorphism, Encapsulation
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.
- Normalization
- Related: ACID Properties, Primary Key
Organizing relational schemas to reduce redundancy and update anomalies by applying normal forms based on functional dependencies, progressively through 1NF, 2NF, 3NF, and BCNF.
- ACID Properties
- Related: Normalization, Primary Key
Guarantees for database transactions: atomicity (all or nothing), consistency (valid states), isolation (concurrent effects equivalent to serial), and durability (committed changes survive failure).
- Primary Key
- Related: Normalization, ACID Properties
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.
- TCP Three-Way Handshake
- Related: Subnetting, TLS
Connection setup exchanging SYN, SYN-ACK, and ACK to synchronize sequence numbers and confirm both directions reachable before data transfer begins.
- Subnetting
- Related: TCP Three-Way Handshake, TLS
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.
- TLS
- Related: TCP Three-Way Handshake, Encryption
A protocol securing transport connections through certificate-based authentication and negotiated symmetric encryption, providing confidentiality, integrity, and server identity.
- Encryption
- Related: TLS, Hash Function
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.
- Hash Function
- Related: Encryption, Digital Signature
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.
- Digital Signature
- Related: Hash Function, Encryption
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.
- CAP Theorem
- Related: Load Balancing, Replication
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.
- Load Balancing
- Related: CAP Theorem, Replication
Distributing incoming requests across multiple servers using algorithms such as round robin or least connections, improving throughput, latency, and availability through redundancy.
- Replication
- Related: CAP Theorem, Load Balancing
Maintaining copies of data on multiple nodes for availability and read scaling, with consistency depending on whether writes propagate synchronously or asynchronously.
- Speedup and Efficiency
- Related: Amdahl's Law
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.
- Continuous Integration
- Related: Unit Testing, Regression Testing
Practice of merging changes frequently and automatically building and testing each integration, surfacing defects early and keeping the mainline releasable.
- Intellectual Property
- Related: Software License, Professional Code of Ethics
Legally protected creations such as copyright, patents, trademarks, and trade secrets; engineers must respect licenses, attribution, and confidentiality obligations when using code and data.
- Software License
- Related: Intellectual Property, Professional Code of Ethics
Terms governing use, modification, and distribution of software, such as permissive, copyleft, or proprietary licenses; obligations differ and must be checked before reuse.
- Professional Code of Ethics
- Related: Intellectual Property, Software License
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.