병행 프로세스
다중프로그래밍 시스템에서는 한 시스템에서 동시에 여러 프로세스가 존재한다. 이 프로세스들은 독립적 또는 협력적으로 실행된다.
-
독립적 실행독립 프로세스
다른 프로세스의 영향을 받지 않음 => 주어진 초기 치에 대해서 항상 같은 결과
-
협력적 실행협력 프로세스
다른 프로세스에게 영향을 주거나 받음
장점
- 정보 공유
- 계산 속도 증가
- 모듈화
- 편의성
프로세스 간 통신과 동기화 메커
해결 과제
- 결정성 확보
- 협력 또는 동기화
- 상호 배제
- 교착상태 해결
IPC프로세스 간 통신
프로세스가 통신하고, 그들간의 행동을 동기화하는 메커니즘이다. 통신 모델로는 공유 메모리 모델 또는 메시지 전달 모델을 사용하며, 대부분의 시스템은 두 가지 모델을 함께 구현한다.
공유 메모리 모델 | 메시지 전달 모델 |
---|---|
IPC는 공유 영역에 데이터를 판독 또는 저장한다. | IPC는 데이터를 전송 또는 수신한다. |
통신의 최대속도 및 편의성을 제공 메모리 속도 수준으로 구현 가능 메시지 전달보다 신속공유 메모리 영역을 설정할 때에만 시스템 호출 |
소량의 데이터 교환에 유용충돌이 발생하지 않아야 하기 때문 공유 메모리 모델보다 구현이 용이 시스템 호출을 통해 구현되므로, 커널이 개입되는 과정에서 더 많은 시간을 차지 |