2016-12-29 4 views
1

Windows의 IPC 메커니즘을 통해 파고 들며 내부적으로 어떻게 작동하는지 이해하려고했습니다. 파이프 (명명 된 파이프)에 관해서는 나는 지금까지 구체적인 답변을 찾지 못했습니다.명명 된 파이프는 Windows에서 어떻게 작동합니까?

파일 매핑은 파일을 사용하여 내부적으로 데이터를 공유하며 파일 주소는 각 프로세스 주소에 포인터로 매핑되고 프로세스는 파일에 대한 읽기/쓰기 포인터를 사용할 수 있습니다.

비슷한 방식으로 누군가 파이프가 내부적으로 어떻게 작동하는지 이해할 수 있습니까? 파이프 서버와 파이프 클라이언트간에 누가 데이터를 보유하고 있습니까?

+0

다음은 명명 된 파이프에서 [MSDN 설명서] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365590(v=vs.85) .aspx)입니다. –

+0

Raw N. 감사합니다. 이미이 링크를 살펴 보았으며 API 및 API 사용 방법에 대해 설명했지만 내부 프로 시저를 찾고 있습니다. –

+0

나는 그 질문을 이해할 수 없다. 커널은 데이터를 관리하고 다른 누군가가 그것을 읽을 때까지 그것을 유지한다. 일반 파일 시스템과 마찬가지로 파일은 완전히 추상적 인 객체입니다. –

답변

1

데이터는 내부 커널 버퍼에 저장되고 관리되며, 이는 파이프에 대한 모든 핸들이 닫힐 때 해제됩니다. 통신 프로세스 중에 확장 및 축소 될 수 있습니다. 또한 네트워크를 통한 통신 기능으로 인해 서버 및 클라이언트 측에 버퍼가 거의 없을 수 있습니다. 더 많은 정보를 Russinovich의 Windows Internals에서 읽을 수 있습니다 (불행히도 정확하게 읽을 위치를 말할 수는 없습니다).