운영체제

프로세스 동기화

leeeehhjj 2024. 2. 18. 17:45

Race condition(경쟁 상황)

  • 동시에 여러 개의 프로세스가 동일한 데이터에 접근하여 변경하고, 그 결과가 접근 발생 순서에 의존하는 상황
  • 이 상황을 방지하기 위해 한 순간에 하나의 프로세스만 데이터를 변경하도록 보장해야 하며, 프로세스들이 동기화되도록 할 필요성

critical section 문제

  • 각 프로세스는 자신의 코드 안에 임계 구역(critical section)을 포함하고 있고, 그 안에서 다른 프로세스와의 공유 자원을 변경하는 등의 작업 수행
  • 한 프로세스가 자신의 임계 구역에서 수행하는 동안 다른 프로세스는 그들의 임계 구역 안에서 실행할 수 없다.
  • 각 프로세스는 임계 구역으로 진입하기 위한 허가 요청을 하는 코드인 entry section과 exit section이 있다.

critical section 해결방법

1. 상호 배제(Mutual Exclusion)

: 한 프로세스가 자신의 임계 구역에서 실행되면 다른 프로세스들은 자신의 임계 구역에서 실행할 수 없다.