logo

자원 할당 그래프

자원 할당 그래프는 시스템 상태를 그림으로 표현한 것입니다. 이름에서 알 수 있듯이 리소스 할당 그래프는 일부 리소스를 보유하고 있거나 일부 리소스를 기다리는 모든 프로세스에 대한 완전한 정보입니다.

또한 사용 가능하거나 프로세스에서 사용되고 있는지 여부에 관계없이 모든 리소스의 모든 인스턴스에 대한 정보도 포함됩니다.

자원 할당 그래프에서 프로세스는 원으로 표시되고 자원은 직사각형으로 표시됩니다. 꼭지점과 모서리의 종류를 자세히 살펴보겠습니다.


OS 리소스 할당 그래프

정점은 크게 리소스(Resource)와 프로세스(Process) 두 가지 유형으로 나뉜다. 각각은 다른 모양으로 표현됩니다. 원은 프로세스를 나타내고 직사각형은 리소스를 나타냅니다.

리소스에는 둘 이상의 인스턴스가 있을 수 있습니다. 각 인스턴스는 직사각형 내부에 점으로 표시됩니다.


OS 자원 할당 그래프 1

RAG의 Edge에는 두 가지 유형이 있습니다. 하나는 할당을 나타내고 다른 하나는 리소스에 대한 프로세스 대기를 나타냅니다. 위의 이미지는 각각을 보여줍니다.

화살표의 꼬리가 리소스의 인스턴스에 연결되고 머리가 프로세스에 연결되면 리소스가 프로세스에 할당된 것으로 표시됩니다.

화살표의 꼬리가 프로세스에 붙어 있고 머리 부분이 리소스를 가리키고 있으면 프로세스가 리소스를 기다리는 것으로 표시됩니다.


OS 자원 할당 그래프 2 OS 자원 할당 그래프 3

3개의 프로세스 P1, P2, P3과 두 가지 유형의 리소스 R1, R2를 생각해 보겠습니다. 리소스에는 각각 1개의 인스턴스가 있습니다.

그래프에 따르면 R1은 P1에 의해 사용되고 있고, P2는 R2를 보유하고 R1을 기다리고 있으며, P3은 R2뿐만 아니라 R1을 기다리고 있습니다.

그래프에는 순환이 형성되지 않으므로 교착 상태가 발생하지 않습니다.


OS 자원 할당 그래프 4