Computer Science

[운영체제] 임계구역 문제, 해결책(상호배제 ,진행 , 한정 대기)

imsunbow 2024. 1. 12. 17:11

운영체제 상에서 임계구역(Critical section:CS)이란 프로세스가 공유 자원을 변경할 수 있는 코드 부분을 의미한다. )이 때 공유자원은 공유 변수, 테이블, 파일 등을 뜻함).이러한 임계구역 상에서 경쟁조건이 발생하지 않도록 서로 협력하기 위한 방법으로서, 프로세스 동기화와 조정이 사용된다.

 

임계구역 문제를 해결하기 위한 해결방안으로써, 3가지 필요조건이 존재한다. 

 

1) 상호배제

프로세스가 본인의 임계구역 상에서 실행중이라면, 다른 프로세스들은 자신의 임계구역 내에서 진행될 수 없다.

 

2) 진행

임계구역 상에서 진행되는 프로세스가 없고, 자신의 임계구역으로 진입하려는 프로세스가 있다면, 나머지 구역에서 실행하지 않는 프로세스들만이 cs에 진입하는 프로세스 결정에 참여한다. 그리고 CS 밖에서 수행중인 프로세스는 다른 프로세스를 block할 수 없다.

 

3) 한정 대기

프로세스가 CS 진입을 요청한 후에 요청이 허용될 때까지 다른 프로세스의 임계구역 진입이 허용되는 횟수에 제한이 있어야 한다. 이를 통해 어떤 프로세스도 임계구역 진입을 영원히 기다리지 않도록 해야한다.

반응형