{
  "id": 10181918,
  "title": "What Actually Happens Between malloc() and Physical RAM: Virtual Memory, Page Faults, and the MMU",
  "url": "https://urgent.news/2026/09/27/what-actually-happens-between-malloc-and-physical-ram-virtual-memory",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-27T08:50:05.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/syed_anzar/what-actually-happens-between-malloc-and-physical-ram-virtual-memory-page-faults-and-the-mmu-118k"
  },
  "original_language": "en",
  "account": "When you allocate memory in C using malloc(), Node.js with allocate(), or Go's allocation, the OS doesn't immediately give you physical RAM. It simply promises you a chunk of virtual memory. Your process doesn't own any physical RAM yet. The only thing you have is a promise written in virtual memory. If you check how much memory your process is using in tools like top or /proc/self/status, you'll see that virtual memory size has increased by the requested amount, but resident set size (RSS) remains at 0 KB. Physical memory is only assigned when your CPU actually tries to read or write that first byte.",
  "summary": "When you call malloc(100 * 1024 * 1024) in C, new byte[100 * 1024 * 1024] in C#, or allocate a massive buffer in Node.js or Go, how much physical RAM did your machine just allocate? Almost every junior developer answers: 100 megabytes. The real answer is zero bytes. Your operating system handed your process a promise written on virtual paper. Not a single transistor in your DRAM sticks holds your…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}