상호배제 2

[운영체제] 교착상태 개념, 특징(상호배제, 점유하며 대기, 비선점, 순환 대기)

교착상태(deadlock)란 프로세스 집합에 있는 모든 프로세스가 한 자원을 점유하고, 같은 집합의 다른 프로세스가 점유한 자원의 획득을 기다리는 상태를 의미한다. EX) DVD와 프린터에서 P1은 DVD를 점유, 프린터 요청/ P2는 프린터를 점유, DVD를 요청하는 경우 교착상태 발생 교착상태의 발생 필요조건은 4가지로 볼 수 있다. 이 4가지 조건이 '동시에' 성립할 때에 교착상태는 발생한다. 1) 상호배제 : 한 번에 한 프로세스만 사용할 수 있는 자원이 적어도 하나 존재 2) 점유하며 대기: 프로세스가 최소 하나의 자원을 점유한 상태에서 다른 프로세스가 점유한 자원을 대기 3) 순환대기 : {P0,P1,... PN)에서 각각 자기 앞 자원 대기중인 경우 4) 비선점: 자원이 강제로 방출될 수 없..

IT/Computer Science 2024.01.15

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

운영체제 상에서 임계구역(Critical section:CS)이란 프로세스가 공유 자원을 변경할 수 있는 코드 부분을 의미한다. )이 때 공유자원은 공유 변수, 테이블, 파일 등을 뜻함).이러한 임계구역 상에서 경쟁조건이 발생하지 않도록 서로 협력하기 위한 방법으로서, 프로세스 동기화와 조정이 사용된다. 임계구역 문제를 해결하기 위한 해결방안으로써, 3가지 필요조건이 존재한다. 1) 상호배제 프로세스가 본인의 임계구역 상에서 실행중이라면, 다른 프로세스들은 자신의 임계구역 내에서 진행될 수 없다. 2) 진행 임계구역 상에서 진행되는 프로세스가 없고, 자신의 임계구역으로 진입하려는 프로세스가 있다면, 나머지 구역에서 실행하지 않는 프로세스들만이 cs에 진입하는 프로세스 결정에 참여한다. 그리고 CS 밖에서..

IT/Computer Science 2024.01.12
반응형