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 |