📜  RAG完整表格

📅  最后修改于: 2021-08-25 10:55:27             🧑  作者: Mango

RAG是操作系统中“资源分配图”的缩写。 RAG是一个有向图,可以用来以图片的形式表示系统的状态。死锁可以用有向图(RAG)来更精确地描述。

图(V,E)包含一组顶点,这些顶点可以划分为两种不同类型的节点:

  1. 处理顶点–
    它们表示过程,并绘制为圆圈,例如,
    {P1, P2, P3.....Pn}  
  2. 资源顶点–
    这些顶点表示资源,并绘制为带有点的正方形,这些点表示资源的实例,例如,
    {R1, R2, R3.....Rn} 

绘制资源分配图是为了查看流程和资源之间的分配关系。在这里,进程用圆圈表示,而资源用正方形表示,里面带有点,表示资源实例的数量。

RAG有两种类型的Edge,一种代表分配,另一种代表等待资源的进程。

  • 如果箭头的尾部附加到资源的一个实例上,而箭头的尾部附加到一个流程上,则将资源分配给该流程。
  • 如果箭头的尾部连接到进程,而头部指向该资源,则该进程正在等待资源。

如果RAG包含一个周期,则系统处于死锁状态,否则就没有死锁。

RAG的特点:

  • 绘画作品–
    RAG是系统状态的图形表示
  • 死锁检测–
    使用RAG,我们可以轻松地检测到系统是否处于死锁状态。
  • 资源信息–
    RAG包含资源及其实例的所有信息,无论这些资源是空闲的还是当前由任何其他进程使用。
  • 流程信息–
    RAG告诉我们有关进程的信息,即哪个进程正在保存哪个资源以及它正在请求哪个资源。

RAG的优势:

  • 它在死锁检测中非常有用。
  • 它被广泛用于银行家算法中。
  • 它是系统的图形表示。
  • 有时,我们只要看一眼图表就可以判断系统是否处于死锁状态。
  • 通过RAG了解资源分配的时间更少。

RAG的缺点:

  • 当我们拥有较少数量的流程和资源时,RAG很有用。
  • 在具有大量资源或进程的情况下,最好将数据存储在表中而不是RAG中。
  • 如果有大量的资源或流程,则该图将难以理解并且将变得复杂。