본문 바로가기
IT/데이터베이스_네트워크

윤성우의 열혈 tcp/ip 소켓 프로그래밍 10장 연습문제 솔루션

by nutrient 2021. 5. 23.
728x90
728x170

 

 

답    안. 

문    제 1.
개념적으로 프로세스간 통신은 두 프로세스 사이에서 데이터를 주고 받는 것을 의미한다. 그러나 메모리의 관점에서 보면 이는 두 프로세스가 메모리를 공유하는 것으로 이해할 수 있다. 공유하는 메모리 영역이 존재함으로 인해서 프로세스 상호간에 데이터를 전달할 수 있기 때문이다. 


문    제 2.
IPC를 위해서는 공유되는 메모리가 필요한데, 프로세스간에는 메모리 공간을 공유하지 않기 때문에 운영체제의 도움이 필요하다. 즉, 두 프로세스가 동시에 접근 가능한 메모리 영역을 운영체제가 제공해야 하는 것이다. 


문    제 3
a. 파이프는 pipe 함수의 호출에 의해서 생성되는데, 이를 실제로 생성하는 주체는 운영체제이다.
b. pipe 함수호출에 의해서 파이프가 생성되면, 파이프에 데이터를 입출력 하기 위한 두 개의 파일 디스크립터가 반환된다. 바로 이 파일 디스크립터를 fork 함수호출 시 자식 프로세스에게 복사해 줘서 부모 프로세스와 자식 프로세스가 동시에 파이프에 접근이 가능하게 된다. 
c. 파이프는 프로세스 사이에서의 데이터 흐름을 관리하지 않는다. 때문에 파이프에 데이터가 흘러 들어가면 어느 프로세스건 그 데이터를 읽어 들일 수 있다. 따라서 프로세스 사이에서의 데이터 흐름이 어긋나지 않도록 주의해야 한다. 


728x90
그리드형

댓글