Ubuntu vs Linux Mint vs Zorin OS: Three Easy Linux Distros Compared

dean
title: “Ubuntu vs Linux Mint vs Zorin OS: Three Easy Linux Distros Compared” date: 2026-07-14 categories: [“operating-system”] tags: [“ubuntu”, “linux-mint”, “zorin-os”, “linux-distro”, “comparison”, “windows-10-eol”, “gnome”, “cinnamon”, “snap”, “desktop-linux”] Ubuntu vs Linux Mint vs Zorin OS: Three Easy Linux Distros Compared Why these three make sense to compare side by side All three are Ubuntu-based, all... » read more

From Cloudflare Pages to EdgeOne Makers: A Chinese Developer’s Migration Story

From Cloudflare Pages to EdgeOne Makers: A Chinese Developer’s Migration Story If you’re a frontend developer or someone who runs their own personal site, you’re probably familiar with Cloudflare Pages. Git push, auto-build, global CDN distribution, and edge functions — a powerful combination that simplifies static site hosting to the extreme. But if you’re serving... » read more

K10 — NUMA Systems: Memory Nodes and Local Allocation

dean
K10 — NUMA Systems: Memory Nodes and Local Allocation Key Insight: On multi-socket servers, “local memory” and “remote memory” access latency can differ by up to 3x — NUMA is the source of this difference. The Concept of NUMA NUMA (Non-Uniform Memory Access) means each CPU core has local memory. Local access is fast, remote... » read more

K09 — Memory Leaks: Why malloc Without free Causes Unrecoverable Memory

dean
K09 — Memory Leaks: Why malloc Without free Causes Unrecoverable Memory Key Insight: After a program ends, the system reclaims its memory — but while running, leaked memory is truly leaked. What Is a Memory Leak A memory leak occurs when a program dynamically allocates memory but fails to release it, making that memory permanently... » read more

K12 — Memory Fragmentation and Compaction: Why Large Memory Allocations Fail

dean
K12 — Memory Fragmentation and Compaction: Why Large Memory Allocations Fail Key Insight: Fragmentation is the chronic disease of memory — it doesn’t hurt normally, but when it flares up, it can be fatal. What Is Memory Fragmentation Memory fragmentation refers to the presence of many “small holes” in memory that make it impossible to... » read more

K11 — The Full Path of Physical Page Allocation: alloc_pages and the Buddy System

dean
K11 — The Full Path of Physical Page Allocation: alloc_pages and the Buddy System Key Insight: Every call to alloc_pages embarks on a complete journey from request to physical page frame. The alloc_pages Function Signature alloc_pages is the core function for allocating physical pages in Linux: struct page *alloc_pages(gfp_t gfp_mask, unsigned int order); Parameters: -... » 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

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

K08 — Inter-Process Shared Memory: shm and mmap(MAP_SHARED)

dean
K08 — Inter-Process Shared Memory: shm and mmap(MAP_SHARED) Key Insight: The fastest inter-process communication is no communication at all — directly share the same block of memory. Three Ways to Share Memory Between Processes Linux supports three mechanisms for inter-process shared memory: 1. System V Shared Memory (shmget/shmat) - Long history, pre-POSIX API - Managed... » read more

K03 — Memory Copy During Process Creation: copy_page_range and COW Details

dean
K03 — Memory Copy During Process Creation: copy_page_range and COW Details Key Insight: The elegance of fork lies in turning “copying” into “sharing, until it must be otherwise”. Memory Copy Flow in fork The core of fork is copy_process. The memory-related part is copy_mm, which calls copy_page_range to copy the parent’s address space. fork 内存复制的调用链:... » read more