-
임계구역 문제운영체제/프로세스 동기화 2018. 2. 3. 19:24
둘 이상의 프로세스들이 동시에 접근해서는 안 되는 공유 자원을 임계구역 이라고 하고
임계구역으로 지정되어야 할 코드 영역이 임계구역으로 지정되지 않았을 때 발생하는 문제를 상호 배제 문제 라고 한다.
임계구역 문제 해결안의 조건
상호 배제
하나의 프로세스가 임계구역에 들어가 있다면 다른 프로세스는 임계구역에 들어갈 수 없어야 한다.
진행
임계 구역에 들어간 프로세스가 없는 상태에서 들어가고자 하는 프로세스가 여러 개 있다면 어느 것이 들어갈지를 적절히 결정 해 주어야 한다.
한정된 대기
다른 프로세스들의 기아를 방지하기 위하여 한 번 임계구역에 들어간 프로세스는 다음 번 임계구역에 들어갈 때 제한을 두어야 한다.
선점형 커널
프로세스가 커널모드에서 수행되는 동안 선점되는 것을 허용하는 커널
장점
응답이 민첩할 수 있다.
실시간 프로그래밍에 더 적당하다.
비선점형 커널
커널 모드에서 수행되는 프로세스의 선점을 허용하지 않고
커널 모드 프로세스는 커널을 빠져 나가거나 봉쇄되거나
자발적으로 CPU의 제어를 양보할 때까지 계속 수행된다.
한 순간에 커널 안에서 실행중인 프로세스는 하나밖에 없기 때문에 경쟁조건을 염려할 필요가 없다.
댓글