ZeroBase/CS

공유자원과 경쟁상태 그리고 임계영역

Red_Horse 2025. 8. 17. 16:25

1. 공유자원 (Shared Resource)

  • 시스템 내에서 여러 프로세스·스레드가 함께 접근할 수 있는 자원
  • 예: 모니터, 프린터, 메모리, 파일, 데이터 등

2. 경쟁상태 (Race Condition)

  • 둘 이상의 프로세스/스레드가 동시에 공유자원에 접근하려는 상황
  • 접근 타이밍에 따라 결과가 달라질 수 있는 상태
  • 문제점: 예상치 못한 결과 발생 → 데이터 정합성과 무결성 위협

3. 임계영역 (Critical Section)

  • 공유자원에 접근하는 코드 영역
  • 특징:
    • 한 번에 하나의 프로세스/스레드만 접근 가능해야 함
    • 동시에 진입 시 데이터 불일치, 오류 발생 가능

4. 경쟁 상태 관리의 중요성

  • 데이터 정합성: 예상되는 데이터 값과 실제 값이 일치해야 함
    • 예: 잔액이 0원이어야 하는데, 1000원이 조회되는 경우
  • 데이터 무결성: 데이터가 규칙을 위반하지 않아야 함
    • 예: 은행 계좌 잔액이 0원인데 출금이 이루어지는 경우

'ZeroBase > CS' 카테고리의 다른 글

CPU 스케줄링 알고리즘 (비선점형)  (0) 2025.08.19
경쟁 상태 해결(뮤텍스, 세마포어, 모니터)  (4) 2025.08.18
IPC  (3) 2025.08.17
프로세스의 상태  (2) 2025.08.14
PCB와 컨텍스트 스위칭  (1) 2025.08.13