쉽게 배우는 OS Chapter05 프로세스 동기화_IPC

5.0 프로세스 동기화

5.1 프로세스간 통신(IPC)

5.1.1 프로세스간 통신의 개념

프로세스는 시스템 내부에서 서로 데이터를 주고 받으며 협업하기도 한다. 이때 같은 컴퓨터의 프로세스들뿐만 아니라 네트워크로 연결된 다른 컴퓨터의 특정 프로세스와도 통신 가능하다.

동기와 여부에 따른 분류

5.1.3 프로세스간 통신의 종류

5.1.3.3 파이프를 이용한 통신.

단방향통신이며, 부모 자식 프로세스간의 통신방식이며 pipe후 fork하는 방식으로 사용한다. 특수한 공통 파일에 한쪽에서는 쓰고 한쪽에서는 읽는 방식으로 통신한다.

단순 파일을 이용하는 것과 차이점은 아래와 같다.

pipe를 사용할때 주의할점은 다음과 같다.

파이프 공부할때 정리했던 노션 등등 내용등

5.1.3.4 소켓를 이용한 통신.

socket 참고 : 블로그 나중에 소켓 통신 공부할때 더 자세하게 정리하기.

클라이언트 측

  1. 소켓 생성
  2. connect()를 이용하여 서버와 접속 시도
  3. 서버와 접속 후 read/write를 이용하여 통신
  4. 통신 종료 후 소켓을 닫고 종료

서버 측

  1. 소켓(들을) 생성
  2. bine()를 통해 소켓(여러개)을 특정 포트에 등록
  3. listen()을 통해 클라이언트의 connect()를 대기
  4. accept()로 클라이언트와 통신 시작하고, 클라이언트측 소켓의 기술자가 생성->???
  5. 통신이 끝나면 소켓을 닫고 다시 listen()으로 connect()대기.

여러 컴퓨터간 통신하는것을 네트워킹이라고 한다. 네트워킹은 원격프로세저 호출이나 소켓을 이용한다.