본문내용
Needi(필요량) = Needi(필요량) - Requesti(요구량)
2) 안전 알고리즘
<안전 알고리즘>
() Work, Finish를 각각 길이가 m, n인 벡터라고 하면, Work = Available로 Finish[i] = false, i = 1, 2, 3, ..... , n으로 초기화 한다. Work에는 남아 있는 자원 수인 Available의 임시변수이다.
(遁) 다음과 같이 되는 i 값을 찾는다.
a) Finish[i] = false
b) Needi ≤ Work
이런 i 값이 존재하면 ()으로 없으면 ()로 간다.
() 자원을 할당한 후 해제한다.
Work = Work + Allocationi
Finish[i] = true
(遁)단계로 간다.
() 만약 모든 i에 대하여 Finish[i] = true면 시스템은 안전 상태
(3) 교착상태의 발견
- 시스템 운영중에 교착상태가 발생했는지 결정하고 교착상태에 관련된 프로세스와 자원을 발견
1) 자원 유형마다 여러 개의 자원이 있는 경우
- 자료구조 정의
① Available : 각 자원의 형태별로 사용가능한 자원의 수를 표시하는 길이가 m인 벡터
② Allocation : 현재 각 프로세스에 할당된 자원의 수를 정의한 n×m 행렬
③ Request : 각 프로세스의 현재 요구를 표시하는 n×m 행렬
④ Request[i,j] = k라면 프로세스 Pi는 자원형태 Rj의 자원을 k개 더 요구
<발견 알고리즘>
() Work, Finish를 각각 길이가 m, n인 벡터라고 하면, Work = Available로 초기화 한다. i = 1, 2, 3, ..... , n일 때 만약 Allocation ≠ 0이면 Finish[i] = false 이고, 그렇지 않으면 Finish[i] = true로 초기화한다.
(遁) 다음과 같이 되는 인덱스 i 값을 찾는다.
a) Finish[i] = false
b) Requesti ≤ Work
이런 i 값이 존재하면 ()으로 없으면 ()로 간다.
() Work = Work + Allocationi
Finish[i] = true (遁)단계로 간다.
() Finish[i] = false면 1 ≤ i ≤ n인 범위에서 시스템은 교착상태
2) 자원 유형마다 하나의 자원이 있는 경우 교착 상태 발견
- 대기 그래프 사용 : 자원할당 그래프에서 자원형태 노드들을 삭제하고 적절히 연결선들을
제거하여 사용
- 대기 그래프가 사이클을 포함하는 경우 교착 상태 존재
(4) 교착상태의 회복
- 시스템이 교착상태에 빠지면 교착상태는 하나 또는 그 이상의 교착상태 필요조건을 제거함으로서 회복된다
1) 프로세스 중지
① 교착상태 프로세스를 모두 중지하는 방법
: 교착상태 사이클 제거시 효과적, 비용이 많이 든다
② 교착상태 사이클이 제거될 때까지 한 프로세스씩 중지 : 오버헤드가 걸림
③ 한 프로세스씩 중지를 위한 희생자 선택의 원칙(희생자 선택 시 고려사항) 기출96
- 프로세스의 우선순위
- 수행된 시간과 종료 시간(얼마나 수행되었고 앞으로 얼마나 수행될 것인가)
- 사용한 자원의 유형과 수(얼마나 많은 자원을 사용중인가)
- 종료를 위해 필요한 자원의 수(얼마나 많은 자원을 더 필요로 할 것인가)
- 복귀하는데 포함된 프로세스의 수(몇 개의 프로세스를 복귀시킬 것인가)
- 대화식인지 일괄 처리식인지의 여부
2) 자원 선점
- 교착상태의 프로세스로부터 자원을 선점하여 다른 프로세스에게 제공
- 자원 선점 시 고려해야할 문제(교착상태 처리 시 강제해제의 문제점)
: 희생자 선정문제, 복귀문제, 기아상태 문제
2) 안전 알고리즘
<안전 알고리즘>
() Work, Finish를 각각 길이가 m, n인 벡터라고 하면, Work = Available로 Finish[i] = false, i = 1, 2, 3, ..... , n으로 초기화 한다. Work에는 남아 있는 자원 수인 Available의 임시변수이다.
(遁) 다음과 같이 되는 i 값을 찾는다.
a) Finish[i] = false
b) Needi ≤ Work
이런 i 값이 존재하면 ()으로 없으면 ()로 간다.
() 자원을 할당한 후 해제한다.
Work = Work + Allocationi
Finish[i] = true
(遁)단계로 간다.
() 만약 모든 i에 대하여 Finish[i] = true면 시스템은 안전 상태
(3) 교착상태의 발견
- 시스템 운영중에 교착상태가 발생했는지 결정하고 교착상태에 관련된 프로세스와 자원을 발견
1) 자원 유형마다 여러 개의 자원이 있는 경우
- 자료구조 정의
① Available : 각 자원의 형태별로 사용가능한 자원의 수를 표시하는 길이가 m인 벡터
② Allocation : 현재 각 프로세스에 할당된 자원의 수를 정의한 n×m 행렬
③ Request : 각 프로세스의 현재 요구를 표시하는 n×m 행렬
④ Request[i,j] = k라면 프로세스 Pi는 자원형태 Rj의 자원을 k개 더 요구
<발견 알고리즘>
() Work, Finish를 각각 길이가 m, n인 벡터라고 하면, Work = Available로 초기화 한다. i = 1, 2, 3, ..... , n일 때 만약 Allocation ≠ 0이면 Finish[i] = false 이고, 그렇지 않으면 Finish[i] = true로 초기화한다.
(遁) 다음과 같이 되는 인덱스 i 값을 찾는다.
a) Finish[i] = false
b) Requesti ≤ Work
이런 i 값이 존재하면 ()으로 없으면 ()로 간다.
() Work = Work + Allocationi
Finish[i] = true (遁)단계로 간다.
() Finish[i] = false면 1 ≤ i ≤ n인 범위에서 시스템은 교착상태
2) 자원 유형마다 하나의 자원이 있는 경우 교착 상태 발견
- 대기 그래프 사용 : 자원할당 그래프에서 자원형태 노드들을 삭제하고 적절히 연결선들을
제거하여 사용
- 대기 그래프가 사이클을 포함하는 경우 교착 상태 존재
(4) 교착상태의 회복
- 시스템이 교착상태에 빠지면 교착상태는 하나 또는 그 이상의 교착상태 필요조건을 제거함으로서 회복된다
1) 프로세스 중지
① 교착상태 프로세스를 모두 중지하는 방법
: 교착상태 사이클 제거시 효과적, 비용이 많이 든다
② 교착상태 사이클이 제거될 때까지 한 프로세스씩 중지 : 오버헤드가 걸림
③ 한 프로세스씩 중지를 위한 희생자 선택의 원칙(희생자 선택 시 고려사항) 기출96
- 프로세스의 우선순위
- 수행된 시간과 종료 시간(얼마나 수행되었고 앞으로 얼마나 수행될 것인가)
- 사용한 자원의 유형과 수(얼마나 많은 자원을 사용중인가)
- 종료를 위해 필요한 자원의 수(얼마나 많은 자원을 더 필요로 할 것인가)
- 복귀하는데 포함된 프로세스의 수(몇 개의 프로세스를 복귀시킬 것인가)
- 대화식인지 일괄 처리식인지의 여부
2) 자원 선점
- 교착상태의 프로세스로부터 자원을 선점하여 다른 프로세스에게 제공
- 자원 선점 시 고려해야할 문제(교착상태 처리 시 강제해제의 문제점)
: 희생자 선정문제, 복귀문제, 기아상태 문제
추천자료
심혈관계질환
(복지기관 자원봉사 및 체험 실습보고서) - 대구 자원봉사센터를 다녀와서
치매환자에 대한 손마사지 효과 연구 + 치매노인을 대상으로 한 회상요법의 효과 + 손&#8...
식생활에 따른 암의 발생 및 종류에 대한 문제
전자공학실험 구형파발진기(비안정멀티바이브레이터) 실험보고서
이혼의배경,자녀에게미치는 영향
외국인 고용 허가 제도
[사회복지조사론] 사회복지시설 평가
여성생식기 질환 ‘모성간호학’-성 전파성 감염, 질 분비물 감염, 경부염 유발 감염, 생식기 ...
최근 이슈화되고 있는 또는 관심 갖는 청소년문화 현상에 대하여 조사하고, 이에 대한 긍정적...
지역사회간호과정 - 서울시 성북구
[청소년 문화과제] 최근 이슈화되고 있는 또는 관심 갖는 청소년문화 현상에 대하여 조사하고...
항생제 및 항생제 내성균에 대해 조사 하고, 이를 관리 또는 대처하는 방법제시
소개글