更多“试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法”相关问题
  • 第1题:

    ● 在众多进程调度算法中,银行家算法用于()。()A.预防死锁 B.解除死锁 C.避免死锁 D.检测死锁


    正确答案:C
        银行家算法是一种最有代表性的避免死锁的算法。我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。

  • 第2题:

    试写出折半查找的递归算法。


    参考答案:
      [算法描述]
      int BinSrch(rectype r[ ],int k,low,high)
      //在长为n的有序表中查找关键字k,若查找成功,返回k所在位置,查找失败返回0。
      {if(low≤high) //low和high分别是有序表的下界和上界
      {mid=(low+high)/2;
      if(r[mid].key==k)return (mid);
      else if(r[mid].key>k)return (BinSrch(r,k,mid+1,high));
      else return (BinSrch(r,k,low,mid-1));
      }
      else return (0);//查找失败。
      }//算法结束

  • 第3题:

    避免死锁的一个著名的算法是()。

    A、先人先出算法

    B、银行家算法

    C、优先级算法

    D、资源按序分配法


    参考答案:B

  • 第4题:

    下列关于死锁的叙述中,不正确的是

    A.系统的安全状态是没有死锁的状态

    B.银行家算法是一种有效的避免死锁的算法

    C.死锁避免策略提高了资源利用率也降低了系统开销

    D.可以用资源剥夺法或者撤销进程法来解除死锁


    正确答案:C
    解析:死锁避免策略提高了资源利用率,但是增加了系统开销。

  • 第5题:

    最著名的死锁避免算法是【 】算法。


    正确答案:银行家
    银行家 解析:银行家算法是一种最有代表性的最著名的避免死锁的算法。

  • 第6题:

    银行家算法是一种()算法。

    A.死锁检测
    B.死锁解除
    C.死锁预防
    D.死锁避免

    答案:D
    解析:
    银行家算法是一个避免死锁的著名算法。

  • 第7题:

    关于“死锁”,下列说法正确的是()

    • A、死锁是操作系统中的问题,数据库操作中不存在
    • B、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
    • C、当两个用户同时竞争相同资源时不会发生死锁
    • D、只有出现并发操作时,才有可能出现死锁

    正确答案:D

  • 第8题:

    解决死锁的方法有多种,通过银行家算法来解决死锁的方法称为()

    • A、死锁预防
    • B、死锁预防
    • C、死锁检测
    • D、死锁解除

    正确答案:B

  • 第9题:

    试从物理概念上说明记录型信号量wait和signal。


    正确答案: wait(S):当S.value>0时,表示目前系统中这类资源还有可用的。执行一次wait操
    6作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为S.value:=S.value-1;当S.value<0时,表示该类资源已分配完毕,进程应调用block原语自我阻塞,放弃处理机,并插入到信号量链表S.L中。
    signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:=S.value+1操作。若加1后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。

  • 第10题:

    单选题
    银行家算法是一种()算法。
    A

    死锁预防

    B

    死锁避免

    C

    死锁解除

    D

    死锁检测


    正确答案: B
    解析: 暂无解析

  • 第11题:

    多选题
    关于"死锁",下列说法中错误的是()。
    A

    死锁是操作系统中的问题,数据库系统中不存在

    B

    只有出现并发操作时,才有可能出现死锁

    C

    在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库

    D

    当两个用户竞争相同的资源时不会发生死锁


    正确答案: A,C
    解析: 暂无解析

  • 第12题:

    单选题
    资源的静态分配算法在解决死锁问题中是用于()
    A

     防止死锁

    B

     避免死锁

    C

     检测死锁

    D

     解除死锁


    正确答案: B
    解析: 暂无解析

  • 第13题:

    下列关于死锁的叙述中,哪些是正确的?

    A.死锁产生的原因是进程推进顺序不当

    B.环路是死锁产生的必要条件

    C.采用银行家算法能有效地实现死锁避免

    D.当系统中只有一个进程时也可能会产生死锁

    E.系统出现死锁是因为进程调度不当 计算机组成原理部分


    正确答案:ABC

  • 第14题:

    在哲学家进餐问题中,若仅提供5把叉子,则同时要求进餐的人数最多不超过( )时,一定不会发生死锁。

    A 2

    B 3

    C 4

    D 5


    参考答案C

  • 第15题:

    设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。


    正确答案:

  • 第16题:

    下列属于死锁解除方法的是( )。A.资源剥夺法B.银行家算法C.信号量法D.时间片轮转法


    正确答案:A
    死锁解除常常可以采用资源剥夺法和撤销进程法来完成

  • 第17题:

    Dijkstra提出的银行家算法属于

    A)死锁预防

    B)死锁避免

    C)死锁检测

    D 死锁解除


    正确答案:B

  • 第18题:

    资源的静态分配算法在解决死锁问题中是用于()

    • A、 防止死锁
    • B、 避免死锁
    • C、 检测死锁
    • D、 解除死锁

    正确答案:A

  • 第19题:

    避免死锁的一个著名的算法是()。

    • A、先入先出法
    • B、银行家算法
    • C、优先级算法
    • D、资源按序分配法

    正确答案:B

  • 第20题:

    在哲学家算法中,是否能防止或解除死锁?为什么?


    正确答案: 银行家算法部分防止和解除死锁,因为它只能根据安全状态防止部分死锁,没有防止和解除所有死锁的能力。

  • 第21题:

    关于死锁,以下说法错误的是()。

    • A、多个进程并发使用独占设备,就一定会死锁
    • B、多个进程并发使用独占设备,只要安排一个合适的执行顺序,就不会死锁
    • C、对于不同的设备特性,在处理关于死锁的问题上,可以采取不同的解决策略
    • D、死锁发生后,一定有多个进程处于永久等待状态

    正确答案:A

  • 第22题:

    问答题
    试从物理概念上说明记录型信号量wait和signal。

    正确答案: wait(S):当S.value>0时,表示目前系统中这类资源还有可用的。执行一次wait操
    6作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为S.value:=S.value-1;当S.value<0时,表示该类资源已分配完毕,进程应调用block原语自我阻塞,放弃处理机,并插入到信号量链表S.L中。
    signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:=S.value+1操作。若加1后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。
    解析: 暂无解析

  • 第23题:

    单选题
    关于“死锁”,下列说法中正确的是()。
    A

    死锁是操作系统中的问题,数据库操作中不存在

    B

    在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库

    C

    当两个用户竞争相同资源时不会发生死锁

    D

    只有出现并发操作时,才有可能出现死锁


    正确答案: D
    解析: 暂无解析

  • 第24题:

    问答题
    在哲学家算法中,是否能防止或解除死锁?为什么?

    正确答案: 银行家算法部分防止和解除死锁,因为它只能根据安全状态防止部分死锁,没有防止和解除所有死锁的能力。
    解析: 暂无解析