• OS练习题(整理)


    以下有关资源分配图的描述中正确的是( )。
    A.有向边包括进程指向资源类的分配边和资源类指向进程申请边两类
    B.矩形框表示进程,其中圆点表示申请同一类资源的各个进程
    C.圆圈节点表示资源类
    D.资源分配图是一个有向图,用于表示某时刻系统资源与进程之间的状态

    答案:D

    在资源分配图中,用圆圈代表一个进程,用矩形框代表一类资源。由于一种类型的资源可能有多个,用矩形框中的一个点代表一类资源中的一个资源。从进程到资源的有向边叫请求边,表示该进程申请一个单位的该资源;从资源到进程的边叫分配边,表示该资源已经有一个被分配给了该进程。由上所述知D选项为正确答案。

    死锁检测时检查的是( )。
    A.资源有向图
    B.前驱图
    C.搜索树
    D.安全图

    答案:A

    死锁检测一般采用两种方法:资源有向图法和资源矩阵法。前驱图只是说明进程之间的同步关系,搜索树用于数据结构的分析,安全图并不存在。

    某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( )
    A.2
    B.3
    C.4
    D.5

    答案:C

    考虑最极端的情况,因为每个进程最多需要3台打印机,假设每个进程已经占有了两个打印机,那么只要还有多的打印机,总能满足达到3台的条件。将8台打印机分给K个进程,每个进程有2台打印机。
    极端情况下K为4。不死锁需要2K+1<8,最多支持3个进程并发。注意问的如果是“不会发生死锁的最大值”就选B。4个以上就死锁,所以会死锁的最小值是4。此时,四个进程由于都缺少一台打印机而不能继续执行,出现了死锁的状况。

    为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的( )也可能产生死锁。
    A.进程优先权
    B.资源的线性分配
    C.进程推进顺序
    D.分配队列优先权

    答案:C

    产生死锁的两个原因:竞争资源,进程间推进顺序非法。(若干进程因竞争资源而无休止地等待其他进程释放已占有的资源)

    另外:

    产生死锁的4个必要条件:
        1.互斥条件
        2.请求和保持条件
        3.不可抢占
        4.循环等待条件
    死锁产生的必要条件有4个,要预防死锁发生,必须破坏死锁的四个必要条件之一,但破坏互斥条件是不太实际的。
    预防死锁主要分为三种:
        1.破坏请求和保持条件
        2.破坏不可抢占条件
        3.破坏循环等待条件
    避免死锁同样属于事先预防的策略,但并不是事先采取某种限制措施,破坏产生思索的必要条件,而是在资源动态分配过程中,防止系统进入不安全状态,以避免发生死锁。
    避免死锁的基本思想就是确保系统始终处于安全状态。最具有代表性的避免死锁的算法是Dijkstra的银行家算法。
    死锁的解除方法(2种):
        1.抢占资源、资源剥夺
        2.终止(或撤销)进程。

    -

  • 相关阅读:
    git pull fatal: refusing to merge unrelated histories
    Git报错:Your branch is ahead of 'origin/master' by 1 commit
    java读取大文件内容到Elasticsearch分析(手把手教你java处理超大csv文件)
    Java try catch语句块中try()的括号中代码作用
    Redis这15个“雷坑”,别问我咋知道的……
    MySql死锁
    MQ限流应用
    什么是 JWT -- JSON WEB TOKEN
    mybatis-plus查询指定字段
    数据库炸了----我就重启了一下啊(Communications link failure)
  • 原文地址:https://www.cnblogs.com/jiamian/p/12510793.html
Copyright © 2020-2023  润新知