【问题标题】:What is meant by "Process holding a resource"?“进程持有资源”是什么意思?
【发布时间】:2016-01-04 20:16:47
【问题描述】:

我的意思是即使资源是可共享的,并且如果一个进程持有它,那么另一个进程是否可以使用第一个进程 持有的资源?

【问题讨论】:

  • 一般来说,持有是指拥有资产以供使用。持有性质将决定其他进程是否可以以哪种方式使用。这一切都取决于读/写/执行权限。 CPU等一些资源不能被多个进程同时使用
  • 谢谢....................... .

标签: process operating-system deadlock


【解决方案1】:

示例:资源 -> 文件

如果一个进程打开文件。之后写入该文件。当 A 进程将数据写入文件时,B 进程也在将数据写入同一个文件。 因此,两个进程一次写入同一个文件。因此文件中存在的数据已损坏。因此,我们可以说一次两个进程(A 和 B)都持有资源(文件)。所以我们可以使用 fcntl 函数来锁定文件。在线程中我们可以使用信号量和互斥锁。所以,程序员的职责是锁定资源(文件)。

【讨论】:

    【解决方案2】:

    是的,但有指定的操作或允许的有限操作。

    案例 1: 如果进程 1 为 w/r/x(write/read/execute) 持有该资源,则第二个进程只能将其用于读取和执行目的,以便其他拥有者尝试访问该共享区域。

    案例 2: 如果进程 1 仅出于读取目的而持有该资源,则其他进程可以为 w/r/x 持有共享资源

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2013-09-19
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多