操作系统中的资源分配图(RAG)
就像银行家的算法,使用就像分配、请求之类的表格,所有这些东西都可以用来了解系统的状态。类似地,如果你想理解系统的状态而不是使用那些表,实际上表很容易表示和理解,但是你仍然可以在图中表示相同的信息。这个图称为资源分配图(RAG)。
因此,资源分配图向我们解释了系统在过程和资源方面的状态。比如有多少资源可用,分配了多少,每个进程的请求是什么,一切都可以用图来表示。使用图表的优点之一是,有时可以通过使用RAG直接看到死锁,但是你可能无法通过查看表来了解死锁。但是,如果系统包含大量的流程和资源,则表更好;如果系统包含较少的流程和资源,则图更好。
我们知道任何图形都包含顶点和边。
所以RAG也包含顶点和边,在RAG中,顶点有两种类型:
进程顶点:每个进程都将表示为一个进程顶点。通常,该进程将以圆圈表示。
资源顶点:每个资源将被表示为一个资源顶点。它也是有两种类型:
- 单实例类型资源:它表示为一个框,在该框内将有一个点。因此,点的数量表示每种资源类型存在多少个实例。
- 多资源实例类型资源:它也表示为一个框,在框内,将存在许多点。