我正在嘗試使用linux-kernel中提供的mamp()功能。 當我們在用戶空間中調用mmap()時,我們嘗試將用戶空間進程的虛擬內存區域映射到內核空間中的內存。mmap()在Linux內核中訪問未映射的內存
內核中mamp()的定義是在我的內核模塊中完成的,它嘗試在頁面中分配一些內存&在mmap系統調用期間映射它。這個內核空間內存的內存內容可以由這個模塊填充。
我想問的問題是,在內存映射後,用戶空間進程可以直接訪問映射的內存,而無需任何額外的內核過載,所以不會有系統調用,如read(),但如果內存(在內核空間映射的內核空間&內分配)包含指向內核空間內分配的其他內存(未映射)的指針,那麼用戶空間進程可以藉助映射來訪問這個未映射的內存內存的內容是指向這個未映射內存的指針。