不知有沒有注意過一個現象,運行中的進程會出現相同地址卻儲存不同值的情況?這是什麼原因?本文將聚焦Linux內存底層邏輯,拆解虛擬地址空間、物理內存與頁表的關聯,揭秘進程內存隔離與地址映射的核心原理。 一.同址不同存 先看一段代碼: #includestdio.h int main() { int num = 10; int n = fo
文章目錄 前言 一、walk_pte_range 二、pte_offset_kernel 三、pte_offset_map 3.1 highmem 3.2 no highmem 前言 pte_offset_kernel() 用於內核頁表,因為內核頁表頁恆在線性映射區,可直接訪問; p