将内存区域限制为线程

时间:2016-11-29 10:28:58

标签: linux multithreading memory memory-management virtual-memory

Linux / Darwin / Windows中是否存在特定于操作系统的方式,将某些虚拟内存页面的访问限制为仅限一个线程,以便当另一个线程尝试访问它时,操作系统会拦截并报告错误?

我正在尝试使用多个进程模拟fork的行为,其中每个进程除了一些共享内存外都有自己的内存,主要是为了避免一个worker访问属于另一个worker的内存的所有编程错误

1 个答案:

答案 0 :(得分:0)

作为一般性建议,这是不可能的。线程的整个想法是拥有共享相同地址的多个执行流。如果你是一个内核模式kommando,你可能会对一些线程用来使用户模式无法访问的页面表进行一些修改,然后解锁它们。