0

在Linux/Darwin/Windows中是否存在特定於操作系統的方式來限制對某些虛擬內存頁面的訪問僅限於一個線程,以便當另一個線程嘗試訪問它時,OS會攔截並報告錯誤?將內存區域限制到線程

我試圖模擬fork與多個進程的行爲,其中每個進程都有自己的內存,除了一些共享內存,主要是爲了避免所有編程錯誤,其中一個工人將訪問屬於另一個工人的內存。

+1

然後解決問題,使用fork(),但首先設置一些共享內存段。 – nos

回答

0

作爲一般命題,這是不可能的。線程的整個想法是讓多個執行流共享相同的地址。如果你是一個內核模式的kommando,你可能會修改一些線程用來使頁面無法從用戶模式訪問的頁表,然後解鎖它們。