2011-02-14 119 views
2

正如我們在用戶空間中所知道的,如果某些虛擬地址空間尚未分配但已被訪問,則會發生頁面錯誤。內核線程在內核地址空間中的任意讀取是否會引起恐慌?

在內核空間中如何?例如,我想在Linux中運行一個內核線程,以天真的方式讀取最高1G地址空間的每個字。

我想它是可以的,即內核線程在內核地址空間中的任意讀取不會引起恐慌。這是對的嗎?任何人都可以詳細說明嗎?如果在空白區域閱讀,該怎麼辦?

回答

4

您無法讀取未在內核空間中映射的內存地址,處理器將捕獲該地址並生成故障,該故障在Linux下將報告爲Oops。見http://www.kerneloops.org/