两个进程可以共享同一个物理页面吗?
Can two process share same physical page?
能否OS将同一个物理页映射到不同的进程页表?进程可以共享同一个物理页面吗?如果它们共享同一页,一个进程是否可以破坏其他进程的数据和代码?
是的。具体参考Linux,当一个线程(任务)创建时,它可能与其他线程(任务)共享相同的内存位置。
clone
系统调用在Linux中有一个特殊的标志CLONE_VM
,它专门用于共享内存(毕竟在物理页面的深处)。
If they share same page, can one process can corrupt other processes data and code?
程序员有责任处理这个问题。处理此问题的方法之一是使用互斥锁。
能否OS将同一个物理页映射到不同的进程页表?进程可以共享同一个物理页面吗?如果它们共享同一页,一个进程是否可以破坏其他进程的数据和代码?
是的。具体参考Linux,当一个线程(任务)创建时,它可能与其他线程(任务)共享相同的内存位置。
clone
系统调用在Linux中有一个特殊的标志CLONE_VM
,它专门用于共享内存(毕竟在物理页面的深处)。
If they share same page, can one process can corrupt other processes data and code?
程序员有责任处理这个问题。处理此问题的方法之一是使用互斥锁。