[OS] Critical Section

Race Condition

실행결과가 접근이 발생한 특정 순서에 의존하는 상황

Critical Section

공유 자원의 독점을 보장해주는 영역

이 임계영역을 다루기 위해 OS에서는 두가지 접근법이 사용된다.

  1. 선점형 커널
    프로세스가 커널모드에서 실행되는 동안 선점이 되는것을 허용한다.
  2. 비선점형 커널
    커널 모드에서 실행되는 프로세스의 선점을 허용하지 않고 커널 모드 프로세스는 커널을 빠져나가거나 Block될 때 까지 혹은 CPU 제어권을 자발적으로 내려놓을 때 까지 실행된다.

다중처리기 환경에서 이 임계영역을 다루기 위해 다양한 방법을 제공한다. 대표적으로 Lock이 존재한다. 또 다른 방법은 작업을 원자적으로 처리하는 방법이다.

Author: Song Hayoung
Link: https://songhayoung.github.io/2020/07/21/OS/critical-section/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.