Race Condition
실행결과가 접근이 발생한 특정 순서에 의존하는 상황
Critical Section
공유 자원의 독점을 보장해주는 영역
이 임계영역을 다루기 위해 OS에서는 두가지 접근법이 사용된다.
- 선점형 커널
프로세스가 커널모드에서 실행되는 동안 선점이 되는것을 허용한다. - 비선점형 커널
커널 모드에서 실행되는 프로세스의 선점을 허용하지 않고 커널 모드 프로세스는 커널을 빠져나가거나 Block될 때 까지 혹은 CPU 제어권을 자발적으로 내려놓을 때 까지 실행된다.
다중처리기 환경에서 이 임계영역을 다루기 위해 다양한 방법을 제공한다. 대표적으로 Lock이 존재한다. 또 다른 방법은 작업을 원자적으로 처리하는 방법이다.