1
我正在挖掘Windows中的IPC機制,並試圖瞭解它是如何在內部工作的。說到管道(命名管道),到目前爲止我還沒有找到具體的答案。命名管道在Windows中如何工作?
由於文件映射使用文件(內部)共享數據,文件地址映射到每個進程地址作爲指針,進程可以使用指針讀/寫文件。
以類似的方式,有人可以幫我理解管道是如何在內部工作的?誰在管道服務器和管道客戶端之間保存數據?
我正在挖掘Windows中的IPC機制,並試圖瞭解它是如何在內部工作的。說到管道(命名管道),到目前爲止我還沒有找到具體的答案。命名管道在Windows中如何工作?
由於文件映射使用文件(內部)共享數據,文件地址映射到每個進程地址作爲指針,進程可以使用指針讀/寫文件。
以類似的方式,有人可以幫我理解管道是如何在內部工作的?誰在管道服務器和管道客戶端之間保存數據?
數據在內部內核緩衝區中存儲和管理,內部緩衝區在管道的所有句柄關閉時釋放。在通信過程中它可以擴大和縮小。另外,由於整個網絡的通信能力,服務器和客戶端可能會有很少的緩衝區。更多關於你可以閱讀Russinovich的Windows Internals(遺憾的是不能準確地說出在哪裏閱讀)。
這是在命名管道上的[MSDN文檔](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365590(v = vs.85).aspx)。 – 2016-12-29 10:39:39
感謝原生N.我已經通過這個鏈接,它已經解釋了API和如何使用管道,但我正在尋找其內部程序。 –
我不明白這個問題,內核管理數據並保存它,直到其他人閱讀它。就像常規的文件系統一樣,文件是一個完全抽象的對象。 –