deadlock 2

Deadlock(2)

Banker’s Algorithm 하나의 자원이 가진 인스턴스가 여러개일 때 Deadlock을 Avoidance하는 방법 프로세스에게 Maximum 자원을 할당해줘도 Safe한지 확인하는 알고리즘 특징 Multiple Instance에 적용 가능 사전에 process가 필요로 하는 자원의 정보가 필요 자원을 얻기전에 Process가 기다릴 수도 있다. 프로세스는 자원을 정해진 시간 내에 반납해야한다. Data Structures for the Banker’s Algorithm Available : 현재 여유분. 여유 자원의 갯수. Available[j] = k 이면 j자원의 갯수가 여유가 k개 있다. Max : Process가 원하는 자원의 최댓값. Max[i][j] = K 이면 Pi가 Rj를 원하는 갯..

Computer Science/OS 2023.12.02

Deadlock(1)

Deadlocks 7강 학습목표 데드락이 무엇인지 알고 데드락에 빠지는 상황과 조건을 안다. 데드락을 예방, 회피하는 방법을 안다. DeadLock 두개 이상의 Process들이 각각의 자원을 Hold한 상태에서 다른 Process의 자원을 받길 기다리는 상태. Ex ) Semaphore A와 B가 1로 초기화 된 후 P0 -> Wait(A); Wait(B); / P1 -> Wait(B); Wait(A); Bridge Crossing Example 차량이 하나밖에 통과할 수 없는 다리를 생각했을 때, 다리 = 자원 차량 = 프로세스 다리의 중간에서 차량이 만난 상황이 데드락 상황이다. 차를 뒤로 뺄 수 없는 상황이다 = 한번 할당된 자원은 반환되지 않는다(No preempt) Starvation이 일어날..

Computer Science/OS 2023.12.01