百字明
嗡 班匝儿萨埵萨玛雅 嘛呢巴拉雅班匝儿萨埵得诺巴迪叉哲卓美巴哇 色多喀哟美巴哇 色波喀哟美巴哇 阿呢ra多美巴哇 萨儿瓦色德玛美抓雅匝 萨儿瓦嘎儿玛色匝美泽当西日扬格热吽哈哈哈哈吙巴嘎万萨儿瓦达塔嘎达班匝儿玛美门匝 班则儿巴哇 玛哈萨玛雅萨埵阿
金刚萨埵心咒--嗡 班匝儿萨埵吽........
祈愿有缘者,能依四种对治力精勤念诵金刚萨埵百字明、金刚萨埵心咒,在菩提心的摄持之下,发愿为自他一切众生清净无始劫以来所有恶业,顺利往生极乐世界。
嗡 班匝儿萨埵萨玛雅 嘛呢巴拉雅班匝儿萨埵得诺巴迪叉哲卓美巴哇 色多喀哟美巴哇 色波喀哟美巴哇 阿呢ra多美巴哇 萨儿瓦色德玛美抓雅匝 萨儿瓦嘎儿玛色匝美泽当西日扬格热吽哈哈哈哈吙巴嘎万萨儿瓦达塔嘎达班匝儿玛美门匝 班则儿巴哇 玛哈萨玛雅萨埵阿
金刚萨埵心咒--嗡 班匝儿萨埵吽........
祈愿有缘者,能依四种对治力精勤念诵金刚萨埵百字明、金刚萨埵心咒,在菩提心的摄持之下,发愿为自他一切众生清净无始劫以来所有恶业,顺利往生极乐世界。
供养咒:
纳摩Ra纳扎雅雅 纳摩巴嘎哇得 班匝儿萨Ra扎玛儿达呢 达塔嘎达雅 阿儿哈得 桑雅桑波达雅 达雅塔 嗡班贼儿班贼儿玛哈班贼儿 玛哈得匝班贼儿 玛哈波雅班贼儿 玛哈波德泽达班贼儿 玛哈波德曼卓巴桑札玛纳班贼儿 萨儿瓦嘎儿玛 阿瓦Ra纳 波效达纳 班贼儿娑哈
供养三宝[鲜花][鲜花][鲜花][心][心][心]
纳摩Ra纳扎雅雅 纳摩巴嘎哇得 班匝儿萨Ra扎玛儿达呢 达塔嘎达雅 阿儿哈得 桑雅桑波达雅 达雅塔 嗡班贼儿班贼儿玛哈班贼儿 玛哈得匝班贼儿 玛哈波雅班贼儿 玛哈波德泽达班贼儿 玛哈波德曼卓巴桑札玛纳班贼儿 萨儿瓦嘎儿玛 阿瓦Ra纳 波效达纳 班贼儿娑哈
供养三宝[鲜花][鲜花][鲜花][心][心][心]
进程之间的资源竞争
当并发进程在争夺同一资源的使用时,它们会相互冲突。在纯粹的形式中,我们可以如下描述这种情况。两个或多个进程在执行过程中需要访问一个资源。每个进程都不知道其他进程的存在,并且每个进程都不会受到其他进程执行的影响。因此,每个进程都应保留其使用的任何资源的状态。资源的示例包括I/O设备、存储器、处理器时间和时钟。
竞争进程之间没有信息交流。然而,一个进程的执行可能会影响竞争进程的行为。特别是,如果两个进程都希望访问单个资源,那么一个进程将由操作系统分配该资源,另一个进程将不得不等待。因此,被拒绝访问的进程将减慢。在极端情况下,被阻止的进程可能永远无法访问资源,因此永远不会成功终止。
在竞争进程的情况下,必须面对三个控制问题。首先是相互排斥的必要性。假设两个或多个进程需要访问单个不可共享资源,例如打印机。在执行过程中,每个进程将向I/O设备发送命令、接收状态信息、发送数据和/或接收数据。我们将把这样的资源称为关键资源,并将使用它的程序部分称为程序的临界区。重要的是一次只允许一个程序进入其临界区。我们不能简单地依靠操作系统来理解和执行这一限制,因为详细的要求可能并不明显。例如,在打印机的情况下,我们希望任何单独的进程在打印整个文件时都能控制打印机。否则,来自竞争进程的行将被交错。
相互排斥的实施造成了两个额外的控制问题。一个是死锁。例如,考虑两个进程P1和P2,以及两个资源R1和R2。假设每个进程都需要访问这两个资源来执行其部分功能。然后可能出现以下情况:OS将R1分配给P2,将R2分配给P1。每个进程都在等待两个资源中的一个。在它获取其他资源并执行需要两种资源的功能之前,两者都不会释放它已经拥有的资源。这两个进程陷入死锁问题。
最后一个控制问题是饥饿。假设三个进程(P1、P2、P3)每个都需要周期性地访问资源R。考虑P1拥有资源的状态,并且P2和P3都被延迟,等待该资源。当P1退出其关键部分时,应允许P2或P3访问R。假设OS授予对P3的访问权限,并且P1在P3完成其关键部分之前再次要求访问。如果OS在P3完成之后授予对P1的访问,并且随后交替地授予对P1和P3的访问,则P2可以被无限期地拒绝对资源的访问,即使不存在死锁情况。
竞争控制不可避免地涉及操作系统,因为操作系统分配资源。此外,进程本身需要能够以某种方式表达互斥的要求,例如在使用资源之前锁定资源。任何解决方案都将涉及操作系统的一些支持,例如提供锁定功能。图5.4以抽象的术语说明了相互排斥的机制。有n个进程要同时执行。每个进程包括(1)在某些资源Ra上运行的关键部分,以及(2)在不涉及对Ra的访问的关键部分之前和之后的附加代码。因为所有进程都访问相同的资源Ra,所以希望一次只有一个进程处于其关键部分。为了强制互斥,提供了两个函数:entercritical和exitcritical。每个函数都以竞争主体的资源的名称为参数。对于相同的资源,任何试图进入其关键部分而另一个进程处于其关键部分的进程都将等待。
它仍然需要研究提供临界和紧急临界功能的具体机制。目前,我们将这个问题推迟,同时考虑进程交互的其他情况。
当并发进程在争夺同一资源的使用时,它们会相互冲突。在纯粹的形式中,我们可以如下描述这种情况。两个或多个进程在执行过程中需要访问一个资源。每个进程都不知道其他进程的存在,并且每个进程都不会受到其他进程执行的影响。因此,每个进程都应保留其使用的任何资源的状态。资源的示例包括I/O设备、存储器、处理器时间和时钟。
竞争进程之间没有信息交流。然而,一个进程的执行可能会影响竞争进程的行为。特别是,如果两个进程都希望访问单个资源,那么一个进程将由操作系统分配该资源,另一个进程将不得不等待。因此,被拒绝访问的进程将减慢。在极端情况下,被阻止的进程可能永远无法访问资源,因此永远不会成功终止。
在竞争进程的情况下,必须面对三个控制问题。首先是相互排斥的必要性。假设两个或多个进程需要访问单个不可共享资源,例如打印机。在执行过程中,每个进程将向I/O设备发送命令、接收状态信息、发送数据和/或接收数据。我们将把这样的资源称为关键资源,并将使用它的程序部分称为程序的临界区。重要的是一次只允许一个程序进入其临界区。我们不能简单地依靠操作系统来理解和执行这一限制,因为详细的要求可能并不明显。例如,在打印机的情况下,我们希望任何单独的进程在打印整个文件时都能控制打印机。否则,来自竞争进程的行将被交错。
相互排斥的实施造成了两个额外的控制问题。一个是死锁。例如,考虑两个进程P1和P2,以及两个资源R1和R2。假设每个进程都需要访问这两个资源来执行其部分功能。然后可能出现以下情况:OS将R1分配给P2,将R2分配给P1。每个进程都在等待两个资源中的一个。在它获取其他资源并执行需要两种资源的功能之前,两者都不会释放它已经拥有的资源。这两个进程陷入死锁问题。
最后一个控制问题是饥饿。假设三个进程(P1、P2、P3)每个都需要周期性地访问资源R。考虑P1拥有资源的状态,并且P2和P3都被延迟,等待该资源。当P1退出其关键部分时,应允许P2或P3访问R。假设OS授予对P3的访问权限,并且P1在P3完成其关键部分之前再次要求访问。如果OS在P3完成之后授予对P1的访问,并且随后交替地授予对P1和P3的访问,则P2可以被无限期地拒绝对资源的访问,即使不存在死锁情况。
竞争控制不可避免地涉及操作系统,因为操作系统分配资源。此外,进程本身需要能够以某种方式表达互斥的要求,例如在使用资源之前锁定资源。任何解决方案都将涉及操作系统的一些支持,例如提供锁定功能。图5.4以抽象的术语说明了相互排斥的机制。有n个进程要同时执行。每个进程包括(1)在某些资源Ra上运行的关键部分,以及(2)在不涉及对Ra的访问的关键部分之前和之后的附加代码。因为所有进程都访问相同的资源Ra,所以希望一次只有一个进程处于其关键部分。为了强制互斥,提供了两个函数:entercritical和exitcritical。每个函数都以竞争主体的资源的名称为参数。对于相同的资源,任何试图进入其关键部分而另一个进程处于其关键部分的进程都将等待。
它仍然需要研究提供临界和紧急临界功能的具体机制。目前,我们将这个问题推迟,同时考虑进程交互的其他情况。
✋热门推荐