354 | Interrupt Controller: How Hardware Interrupts the CPU

dean
354 | Interrupt Controller: How Hardware Interrupts the CPU Key Insight: You press a key, and a character appears on the screen almost simultaneously — behind this, the CPU has never been “waiting” for the keyboard. It has been running its own code the whole time, until the hardware forcibly “interrupts” it. 1. Problem: How... » read more

K04 — When Memory Is Exhausted: How the OOM Killer Chooses Its Victims

dean
K04 — When Memory Is Exhausted: How the OOM Killer Chooses Its Victims Key Insight: When memory is exhausted, the kernel needs a “referee” to decide who should leave. That is the OOM Killer. OOM Killer Trigger Conditions When system memory is critically low, Linux invokes the OOM Killer. The trigger is not “memory is... » read more

S08 — How Does an Address Travel from the CPU to a DRAM Cell

dean
S08 — How Does an Address Travel from the CPU to a DRAM Cell Key Insight: Every bit of data has its complete journey map. The Complete Path from CPU to DRAM How does an address issued by the CPU ultimately select a DRAM cell? It requires a complete address resolution process. Complete path (simplified):... » read more

K02 — Process Address Space: Virtual Address Management and VMA

dean
K02 — Process Address Space: Virtual Address Management and VMA Key Insight: Each process’s address space is an independent map. Every region on the map is described by a VMA. What is a VMA (Virtual Memory Area) VMA (Virtual Memory Area) is a Linux kernel data structure describing a contiguous region in a process’s virtual... » read more

A04 — Memory Leaks: How malloc Without free Causes Leaks

dean
A04 — Memory Leaks: How malloc Without free Causes Leaks Key Insight: After the program ends, the system reclaims the memory. But during execution, leaked memory is truly leaked. What is a Memory Leak A memory leak occurs when a program dynamically allocates memory and fails to free it, making that memory permanently unavailable for... » read more

B01 — BIOS’s First Map for the OS: The e820 Memory Map

dean
B01 — BIOS’s First Map for the OS: The e820 Memory Map Key Insight: When the computer starts, the first problem the OS must solve is: how much memory is there and where is it? The OS’s First Question After Power-On After power-on, BIOS (UEFI) first completes hardware initialization. Then the OS starts booting. The... » read more

331 – Android Bootloader: From Chip Power-On to Kernel Loading

dean
331 – Android Bootloader: From Chip Power-On to Kernel Loading Series Navigation: 330-Boot Overview | 332-init Process | 333-Zygote In the previous article, we outlined the complete Android boot chain. This article focuses on the first software stage — the Bootloader. The Bootloader is the first software code to run after hardware powers on (hard-coded... » read more

Writing an OS Kernel from Scratch — Part 16: VMA and Process Exit — Safely Reclaiming Every Byte of Memory

dean
从零写 OS kernel-Part 16: VMA 与process退出 — 安全reclaim每一片内存 “Allocating memory is just the beginning — safe release is the true endpoint. Today, we implement Virtual Memory Area (VMA) management, ensuring every resource is reclaimed without leaks when a process exits!” 在前几篇中, 我们Implementation了 Buddy 系统, Slab allocate器, 用户态 malloc, 但process的virtual address空间仍是一团乱麻: 无法跟踪哪些Region已allocate process退出时, 物理页, file descriptor,... » read more

Writing an OS Kernel from Scratch | NIC — From PHY to Socket

dean
Writing an OS Kernel from Scratch | NIC — From PHY to Socket Have you ever thought about this process: You type in a URL, how does the data packet get sent from your computer to the server? The CPU hands the data to the network card, and the network card sends the electrical signal... » read more

S09 — ECC Memory: How Single-Bit Errors Are Detected and Corrected

dean
S09 — ECC Memory: How Single-Bit Errors Are Detected and Corrected Key Insight: A reliable system is one that can still operate correctly under the worst conditions. Two Types of Memory Errors: Error Detection vs. Error Correction Memory errors fall into two categories: Bit Flip: Physical causes: - Cosmic rays (high-energy particles) hitting a DRAM... » read more

H07 — How DDR Power Consumption Is Calculated: IDD Parameters and Power Models

dean
H07 — How DDR Power Consumption Is Calculated: IDD Parameters and Power Models Key Insight: Every refresh, every activation, every read and write consumes power. Components of DDR Power Consumption DDR memory power consumption has three parts: Static Power (Leakage) + Dynamic Power (Switching) + I/O Power. DDR 系统功耗分解: 1. 核心功耗(Core Power): - DRAM Cell... » read more

S10 — How to Read a Memory Datasheet

dean
S10 — How to Read a Memory Datasheet Key Insight: Engineers who can read a datasheet can make correct product decisions. Basic Structure of a Datasheet A memory datasheet typically contains the following main sections: Typical memory datasheet structure: 1. Overview - Capacity, model number, voltage, package 2. Architecture - Organization (e.g., 1G × 8,... » read more