티스토리 뷰
교착상태 탐지 알고리즘
쇼사니(Shoshani)와 포크만(Coffman)이 제안.
다음과 같은 자료구조들을 사용함.
Available : 자원 형태마다 사용 가능한 자원 수를 표시하는 길이가 m인 벡터.
Allocation : 각 프로세스에 현재 할당된 각 형태들의 자원 수를 표시하는 n ⅹ m 행렬.
Request : 각 프로세스의 현재 요청을 표시하는 n ⅹ m 행렬.
Request[i, j] : 프로세스 Pi가 필요한 자원 수가 k 개라면 프로세스 Pi는 자원 형태 Rj의 자원을 k개 더 요청함.
남아있는 프로세스들에 대한 할당 가능 순서를 모두 찾음.
1단계 : Work과 Finish는 각각 길이가 m과 n인 벡터로, ‘Work := Available’로 초기화 함.
- (i = 1, 2, …, n)일 때 ‘Allocationi ≠ 0’이면 ‘Finish[i] := false’이고, 아니면 ‘Finish[i] := true’.
2단계 : 다음과 같은 조건을 만족하는 색인 i를 찾으며, 조건에 맞는 i가 없으면 4단계로 이동.
- Finish[i] = false, Requesti ≤ Work
3단계 : 다음이 일치하는지 여부를 판단하여 2단계로 이동.
- Work := Work + Allocationi
- Finish[i] := true
4단계 : Finish[i] = false라면, 1 ≤ i ≤ n인 범위에서 시스템과 프로세스 Pi는 교착상태임.
교착상태 탐지 알고리즘 예
P0에서 P4까지의 프로세스 5개와 자원 형태 3개, A, B, C를 가진 시스템이 있다 가정함.
자원 형태 A는 자원을 7개, 자원 형태 B는 2개, C는 6개를 가지고 있음.
t0 시간에 다음과 같은 자원 할당 상태가 된다 가정함.
대표
사진 설명을 입력하세요.
현재 시스템은 교착상태가 아니며, <P0, P2, P3, P1, P4>는 모든 i에 대하여 ‘Finish[i] = ture’임.
프로세스 P2가 자원 형태 C의 자원을 1개 더 요청한다 가정함.
Request 행렬은 다음과 같이 수정됨.
현재 시스템은 교착상태임.
프로세스 P0이 점유하고 있는 자원을 요청하더라도 가용한 자원 수는다른 프로세스들의 요청을 충족시킬 만큼 충분하지 않음.
따라서 프로세스 <P1, P2, P3, P4>로 구성된 교착상태가 존재함.
교착상태 탐지 알고리즘 사용 횟수
탐지 알고리즘 호출 문제는 교착상태 발생 빈도수와 교착상태 발생 시 영향을 받는 프로세스의 수에 따라 결정.
교착상태가 자주 발생하면 탐지 알고리즘도 자주 호출됨.
요청을 할 때마다 교착상태 탐지 알고리즘 호출 시 연산 시간 부담이 큼.
경제적인 방법은 호출 빈도를 줄이는 것으로, 한 시간마다 또는 CPU 이용률이 40%로 저하될 때마다 호출.
- #2025공무원월급
- #드라마추천
- #공무원준비
- #공무원시험
- #퇴마
- #공무원실수령액
- #추자현
- #명절휴가비
- #판타지로맨스
- #공무원수당
- #tvn드라마
- #5급공무원월급
- #추영우
- #k드라마
- #7급공무원월급
- #9급공무원
- #mbc드라마
- #공시생
- #견우와선녀
- #티빙
- #정근수당
- #조이현
- #공무원연봉
- #드라마촬영지
- #드라마ost
- #소방공무원 #2025소방공무원 #소방공무원시험 #소방공무원경쟁률 #소방공무원커트라인 #소방공무원시험일정 #소방시험 #소방관 #공무원시험 #소방학개론 #소방관계법규 #소방체력 #소방공무원준비 #119고시 #소방시험정보
- #큐넷
- #psat
- #공무원봉급표
- #9급공무원월급
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |