진짜 개발자
본문 바로가기

CS(Computer Science)/운영체제

프로세스간 통신(IPC) - 수정중

728x90

위 그림처럼 각각의 프로세스는 완전히 독립되어있다.

장점 : 다른 프로세스에게 영향을 주지도 받지도 않는다

단점 : 프로세스간 통신을위해 커널영역에서 IPC를 제공해야 한다



프로세스의 종류

1. 독립 프로세스    

- 다른 프로세스로부터 영향을 주지도 받지도 않는 프로세스


2. 협력 프로세스

- 반대로 다른 프로세스로부터 영향을 주고 받는 프로세스



협력프로세스 이유

1. 정보 공유

2. 계산 가속화 등등



프로세스간 통신이란

- 협력적 프로세스들이 서로 데이터와 정보를 교환할 수 있도록 하는 기법



단일 PC에서의 프로세스간 통신

1. 공유메모리

- 공유메모리 구축시에만 커널명령어를 사용

- 공유메모리를 사용할 때에는 일반명령어로 사용가능

- 일반적으로 운영체제는 한프로세스가 다른 프로세스의 메모리로 접근하는것을 금한다 

  공유메모리는 통신을 원하는 프로세스들이 이 제약조건을 제거하는것을 동의하는 것을 필요로 한다

- 때문에 공유 영역에 읽고 쓰는 것은 운영체제가 간섭하지 않으며 동일한 위치에 쓰지 않도록 프로세스가 책임 져야한다. 



2. 메시지 전달

- 통상 시스템 호출을 통해 구현됨

- 코어 수가 증가할 수록 공유메모리보다 효율적


클라이언트-서버 환경에서의 프로세스간 통신

1. 소켓


2. RPC


3. 파이프

- https://12bme.tistory.com/226



'CS(Computer Science) > 운영체제' 카테고리의 다른 글

운영체제 - 프로세스 동기화란?  (0) 2019.03.05
스레드 개요  (0) 2018.10.06
프로세스 스케줄링  (0) 2018.09.24
프로세스 개요  (0) 2018.09.11
메모리관리(메모리 낭비 방지)  (0) 2018.09.06