본문 바로가기
카테고리 없음

네트워크 프로그래밍 10주차 복습

by 할 수 있다 ! 2023. 6. 15.

1. 프로세스 간의 통신의 필요성과 방법에 대해서 설명하시오.

 

두 프로세스 사이에서의 데이터 전달이 가능하려면 두 프로세스가 함께 공유하는 메모리가 된다. 

 

 

2. 프로세스 간의 통신을 위해서 사용하는 도구는 무엇인가?

 

파이프 기반의 프로세스 간 통신이다. 

 

3. 교재의 pipe1.c 소스를 작성하여 실행하고, 출력을 프로세스와 pipe를 기준으로 설명하시오.

 

who are you ? 

 

중요한 사실은 부모, 자식 프로세스 모두 파이프의 입출력 경로에 접근이 가능하지만 자식은 입력 경로에만 부모는 출력 경로에만 접근해서 통신을 했다는 점이다. 

 

5. pipe 기반의 프로세스 간의 양방향 통신을 파이프의 개수를 사용하여 설명하시오

 

파이프 2개 생성한다. 

 

파이프를 반드시 하나만 생성한다 것이 아니다. 

 

 

 

 

6. pipe2.c pipe3.c 소스코드를 파이프의 개수를 비교하여 설명하시오.

 

 

pipe 2의 소스 코드를 보면 fds [2]; 하나만 들어가지만 

 

pipe 3 의 소스코드에서는 fds [2] , fds 2 [2] 

 

fds 1, 2 가 2개나 들어간다. 

 

 

7. pipe2.c pipe3.c 소스코드를 실행하면 결과는 동일하다. 내부적인 차이점을 비교 설명하시오.

 

파이프에 데이터가 전달되면 먼저 가져가는 프로세스에게 이 데이터가 전달된다. 

 

파이프를 반드시 하나만 생성 할 필요가 없다. 

 

파이프의 fds 가 2개가 들어가는 차이 입니다.  

 

 

8. 교재의 echo_storeserv.c 소스를 실행 후 결과를 IPC를 기반으로 설명하시오. (자식 프로세스의 역할)

서버는 클라이언트가 전송하는 무자열을 전달되는 순서대로 파일에 저장된다.