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 |