我有家庭作業問題:進程如何引用不在其地址空間中的對象(例如文件或其他進程)?
Explain how a process can refer to objects that are not in its
address space (for example, a file or another process)?
我知道,每個進程都與定義在這個過程中(got that from this book)訪問所有存儲資源映射的地址空間中創建。我認爲這個問題的第二部分沒有意義。一個進程如何引用另一個進程的對象?操作系統是不是想限制它?也許我沒有正確理解這個問題。無論如何,如果我正確地理解了這個問題,唯一可行的方法就是使用我相信的內核。
對於特定的系統調用(例如mmap,shm等),操作系統可以選擇設置1:N的頁面映射,而不是通常的1:1。這是基於每個頁面的,所以通常的規則不會被「違反」,特定的例外被授予。 – Flexo 2012-03-02 17:00:21