Computer Systems III: Computer Architecture

Part III of the Computer Systems series: computer architecture (basic organization, instruction set architecture and MIPS32, performance and Amdahl’s law, design of the control unit, the MIPS32 datapath, SRAM and DRAM, memory interfacing and interleaving, the memory hierarchy and cache memory, I/O organization with interrupts and DMA, buses and USB, pipelining and pipeline hazards, instruction-level parallelism with dynamic scheduling and speculation, vector processors and SIMD extensions, the roofline model, multithreading, multicore processors and cache coherence).

November 3, 2026 · 131 min · Utkarsh Sharma

Computer Systems II: Operating Systems

Part II of the Computer Systems series: operating systems (dual-mode operation, system calls, processes, the PCB, scheduling queues and schedulers, context switches, process creation and termination, threads, CPU scheduling algorithms, deadlocks with the Banker’s algorithm and deadlock detection, process synchronization, the classic synchronization problems, memory management, paging and virtual memory, multi-level page tables, frame allocation and thrashing, memory-mapped files, kernel memory allocation (buddy system and slab allocation), disk structure, scheduling and management, directory structures, file allocation methods and free-space management).

November 3, 2026 · 152 min · Utkarsh Sharma

Computer Systems I: Digital Electronics

Part I of the Computer Systems series: digital electronics (Boolean algebra, duality, canonical forms, K-maps, NAND/NOR implementation, hazards), decoders, encoders and multiplexers, number systems and codes, number representation, adders, multiplication and Booth’s algorithm, IEEE 754 floating point, latches and flip-flops, registers, counters and state machines.

November 3, 2026 · 67 min · Utkarsh Sharma