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

