프로세스 동기화
전공-OS

병행 프로세스

다중프로그래밍 시스템에서는 한 시스템에서 동시에 여러 프로세스가 존재한다. 이 프로세스들은 독립적 또는 협력적으로 실행된다.

  • 독립적 실행독립 프로세스

    다른 프로세스의 영향을 받지 않음 => 주어진 초기 치에 대해서 항상 같은 결과

  • 협력적 실행협력 프로세스

    다른 프로세스에게 영향을 주거나 받음

    장점

    • 정보 공유
    • 계산 속도 증가
    • 모듈화
    • 편의성

    프로세스 간 통신과 동기화 메커

해결 과제

  • 결정성 확보
  • 협력 또는 동기화
  • 상호 배제
  • 교착상태 해결

IPC프로세스 간 통신

프로세스가 통신하고, 그들간의 행동을 동기화하는 메커니즘이다. 통신 모델로는 공유 메모리 모델 또는 메시지 전달 모델을 사용하며, 대부분의 시스템은 두 가지 모델을 함께 구현한다.

공유 메모리 모델 메시지 전달 모델
IPC는 공유 영역에 데이터를 판독 또는 저장한다. IPC는 데이터를 전송 또는 수신한다.
통신의 최대속도 및 편의성을 제공
메모리 속도 수준으로 구현 가능
메시지 전달보다 신속공유 메모리 영역을 설정할 때에만 시스템 호출
소량의 데이터 교환에 유용충돌이 발생하지 않아야 하기 때문
공유 메모리 모델보다 구현이 용이
시스템 호출을 통해 구현되므로, 커널이 개입되는 과정에서 더 많은 시간을 차지

상호배제와 동기화

상호배제 방법들