Banker's Algorithm(은행가알고리즘) [정의]Banker 알고리즘의 정의
- 운영체제는 자원의 상태를 감시하고 사용자 프로세스는 사전에 자기작업에서 필요한 자원의 수를 제시하는 교착상태 회피 알고리즘
프로세스, 자원요청
AMAN(AVAILABLE MAX ALLOCATE NEED)
AMAN+R(Available, Max, Allocation, Need, Request)
토픽 이름 () Banker's Algorithm
분류 OS > 병행제어 > Banker's Algorithm
키워드(암기) AMAN+R(Available, Max, Allocation, Need, Request)
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 다중 프로그래밍 운영체제 하에서 발생하는 교착상태(Dead Lock) 회피(Avoidance)하기 위한 Banker's Algorithm을 설명하시오. _86..4.2
2 교착상태(Deadlock) 필요조건과 교착상태 회피 방법으로 많이 사용되고 있는 Banker 알고리즘을 설명하시오. _101..3.3
3 교착상태 회피를 위한 Banker's Algorithm 설명하시오. 1405--2-5
4 은행가 알고리즘(Banker's Algorithm) 이용하여 프로세스 수행 순서에 대해 설명하시오. (, 프로세스 자원 요청은 P1, P2, P3, P4 진행) 1505--1-13
5 교착상태(Deadlock) 발생하는 필수조건과 해결방안을 설명하고, 회피방법인 Banker's Algorithm 설명하시오. 1711--2-4
6 교착상태를 회피하기 위한 은행가 알고리즘을 설명하고, 시스템의 구성이 다음과 같을 은행가 알고리즘을 사용하여 안전한 상태로 수행할 수 있도록 프로세스 수행 순서를 제시하시오
- 프로세스 - P0 , P1 , P2 , P3 , P4 (프로세스 자원 요청은 P0, P1, P2, P3, P4 순으로 진행)
- 자원 - A : 10 B : 5 , C : 7 (세가지 유형과 각 유형의 인스턴스 수)
- 시간 T0 시스템의 상태는 다음과 같음.
1711--3-3

 

I. 교착상태 회피 Banker 알고리즘의 개요

. Banker 알고리즘의 정의

- 운영체제는 자원의 상태를 감시하고 사용자 프로세스는 사전에 자기작업에서 필요한 자원의 수를 제시하는 교착상태 회피 알고리즘

- 운영체제는 사용자 프로세스로부터 자원의 요청이 있으면 모든 프로세스가 일정 기간 내에 성공적으로 끝날 수 있는 안전 상태인지를 면밀하게 분석하는 교착상태 회피 알고리즘

- 운영체제는 안전상태를 유지할 있는 요구만을 수락하고 불안전 상태를 초래할 사용자의 요구는 나중에 만족될 수 있을 때까지 계속 거절하는 교착상태 회피 알고리즘

 

. Banker 알고리즘의 동작 개념도


 

II. Banker 알고리즘의 자료구조 처리 프로세스

. Banker 알고리즘의 자료구조(n:프로세서 , m:자원의 종류 수)

자료명 자료형태 설명 수식
Available mvector 사용 가능한 자원의 수 Available[j] = K
자원종류 Rj중 K 사용가능
Max n x m 행렬 프로세스 별 최대 자원의 요구 Max[i, j] = K
Pi는 자원종류 Rj중 최대 K개요청
Allocation n x m 행렬 현재 프로세스 별 할당되어 있는 자원 수 Allocation[i, j] = K
Pi는 현재 자원종류 Rj를 K 할당 받고 있음
Need n x m 행렬 프로세스 별 남아 있는 자원의 수 Need[i, j]=(Max Allocation)
Pi가 작업 완료를 위해 필요한 자원유형 Rj의
Request n x m 행렬 프로세스가 요청한 자원의 수 Request[i, j] = K
Pi는 자원종류 Rj를 K개 더 요구함

 

. Banker 알고리즘 처리 프로세스

 

III. Banker 알고리즘의 구조(사례)

-풀이 2), 3) P2 R2 42로 확인 필요

- 최대 요구 자원 (Maximum Claim) 대한 정보가 있을 경우를 가정

1) 현재 사용 가능한 리소스의 양을 구한다 (Available)

2) 추가 요구량을 구한다 (Request = Max – Allocation)

3) 추가 요구 자원이 현재 여유자원보다 적은 프로세스(i) 찾는다
(수행을 끝내기 위한 충분한 자원을 확보한 프로세스 검사)
[ (Request (i) ç Available(i) )

4) 수행 가능한 프로세스가 점유한 자원을 여유 자원으로 바꿈
(끝내고 반환한 경우로 가정) 후에 3번부터 반복
(Available = Available + Allocation)

 

IV. 은행가 알고리즘(Bankers Algorithm) 한계 교착상태 방지 대응전략

- 일정한 수의 자원과 사용자에서만 가능하며 최대 자원 필요량을 사전에 등록해야

- 모든 요구를 유한 시간 내에서 수행해야 하며 프로세스들은 할당 받은 자원을 유한 시간 반환해야

- 따라서 교착상태 발생을 억제하기 위해서는 예방, 회피, 탐지, 복구 방법을 병행하여 사용하고 자원 유형별 특성을 파악하여 대응전략을 구분운영하는 것이 필요

 

 

 

 

 

“끝”

 

반응형

'정보관리기술사 > CA_OS' 카테고리의 다른 글

수직적 프로그래밍 vs 수평적 프로그래밍  (0) 2024.02.18
운영체제특권레벨  (0) 2023.11.28
모니터/Monitor 동기화  (1) 2023.11.26
교착상태(Deadlock)  (0) 2023.11.25
우선순위 역전  (0) 2023.11.24

+ Recent posts