2Computer systems
- 2.1The Processor
Learn the basic cycle by which a CPU executes instructions (fetch, decode, execute, store), and the registers, pipelining, and CISC/RISC design philosophies that determine its speed. We also cover performance metrics such as clock frequency and MIPS, and how multicore processors and GPUs divide labor, organizing the processor as a whole from a practical perspective.
- 2.2Memory and the Storage Hierarchy
Learn the difference between volatile RAM and non-volatile ROM, cache memory (the write-through and write-back schemes) that bridges the speed gap between the CPU and main memory, virtual memory (paging) that lets you work with more address space than physical main memory, and the overall picture of the storage hierarchy that trades off speed, capacity, and cost. We also touch on calculating access time and hit rate.
- 2.3System Configuration and Virtualization
Learn representative system configuration patterns: centralized processing vs. distributed processing, the client-server system, the three-tier web architecture, and clustering with load balancing. We also cover virtualization (hypervisors), which runs multiple operating systems on one physical machine, the lighter-weight container approach, and how IaaS/PaaS/SaaS cloud service models differ.
- 2.4Performance and Reliability
Learn response time and turnaround time, which describe how fast a system responds, and throughput, which describes its processing capacity, along with benchmarks used to measure them. We also cover the numerical measures of reliability, availability (calculated for series and parallel connections) and MTBF/MTTR, the comprehensive reliability perspective RASIS, and failure-handling design philosophies (fault tolerant, fail-safe, fail-soft).
- 2.5Software (Operating Systems)
Learn the resource management role the OS plays, state transitions in task (process) management, and scheduling schemes (such as round robin) that allocate CPU time. We also cover mutual exclusion (semaphores) needed when multiple tasks compete for a resource, the deadlock this can cause, the basics of file management, and the idea of OSS (open source software).
- 2.6Hardware and Embedded Systems
Learn logic circuits—the foundation of digital circuits, split into combinational circuits and sequential circuits—and the flip-flop, which stores state. We also cover IoT devices, made up of sensors that capture real-world information and actuators that physically act on computer instructions, embedded systems specialized for a particular purpose under tight resource constraints, and power-saving design thinking.

