Jason's Notebook
Search
Search
Dark mode
Light mode
Reader mode
Book navigation
Home
Computer Systems
Computer Systems
Switch book
Knowledge Vault
Artificial Intelligence
Computer Science Introduction
Computer Science Theory
Computer Systems
, selected book
Data Science
Development Environment
Machine Learning Systems
Mathematics
Physics
Robotics
Explorer
Computer Architecture
Computer Systems
Binary and Data Representation
Number Bases and Unsigned Integers
Unix
Unix Command Line
Unix File System
Digital Systems
Boolean Algebra
Combinational Logic Design
Comparators, Subtractors, Multipliers, ALUs
Finite State Machines, Delays
Latches & FFs
Memory
Mux, Demux, Decoders, Adders
Number Systems and Boolean Algebra
RTL Design
Simple CPU Design
SOP, POS, K-Maps & Logic Simplification
Timing Examples
Transistors & Gates
Operating Systems
Concurrency & Synchronization
Deadlocks
Deadlock Fundamentals & Coffman Conditions
Deadlock Handling Strategies
Synchronization Patterns
Producer-Consumer Problem
Reader-Writer Problem
Synchronization Primitives
Condition Variables
Locks
Monitors
Semaphores
Critical Sections & Mutual Exclusion
Race Conditions & Shared State
File System
Common File Operations
File Buffer Cache
File System Layout
File System Reliability
File Systems & Storage Technologies
Multi-Level Indexed Layout
Optimized Disk Layout
Kernel & Architecture
CPU Scheduling
Classic Scheduling Algorithms
CPU Scheduling Fundamentals & Metrics
Multilevel Feedback Queue & Real-World Schedulers
Process Management
Process Abstraction & PCB
Process Lifecycle & API
Thread Management
Kernel vs User Level Threads
Thread Abstraction & TCB
Thread Context Switch & Scheduling
Dual-Mode Operation & Memory Protection
Interrupts and Exceptions
Introduction to Operating Systems
System Calls
Memory Management
Page Replacement Policies
Page Replacement Algorithms
Thrashing & Frame Allocation Policies
Paging Mechanisms
Evolution of Memory Management
Base & Bound
Paging
Segmentation
Multi-Level Page Tables
Page Table Entries & Memory Overhead
Virtual Memory
Advanced Virtual Memory Features
Kernel Address Space & Page Table Storage
Virtual Memory & Address Translation Fundamentals
Demand Paging & Page Faults
Process Address Space Allocation (Stack & Heap)
Translation Lookaside Buffer (TLB)
Storage & IO Systems
Hard Disk Drive Mechanics & Scheduling
RAID Architectures
Solid State Drives & NAND Flash
Storage & Memory Technology Spectrum
Virtual Machines
Containers
CPU, Event, and IO Virtualization
Hypervisor Architectures & Software Virtualization
Memory Virtualization & Extended Page Tables
Types of Virtual Machines Monitors
Virtualization Fundamentals & Trap-and-Emulate
Protection
Practice Examples
Digital Communication
HTTP Server - State and Path Parsing
Network IO & HTTP Communication
Intro to Systems Programming
Hashing (SHA256)
Pointers and Reference
Returning Pointer
Sizeof
Memory Management
Coalescing Heap
Dynamic Struct
Fixed-Sized Struct
Heap and Strings
Implementation of Malloc
Memory and References
Memory Leak
Metadata and Pointer Operations
Pointer Operations
Size of Struct
Structs in C
Strings and Data
ASCII
Bitwise Operators Review
Signed vs Unsigned Numbers
Signedness and Bit Masks
String Concatenation and Memory
Unicode and UTF-8 Encoding
UTF-8
UTF-8 Codepoint
Systems and Processes
Process of Operating System
String Tokenize
Virtual Memory
Explorer
Home
❯
Computer Systems
❯
Digital Systems
❯
Timing Examples
Timing Examples
Graph View