参考答案和解析
正确答案:A
更多“在Pthread线程包关于条件变量的使用中,pthread_mutex_init( )表示的是()。A、创建一个互斥量B、等待一个互斥量C、获得一个互斥量D、释放一个互斥量”相关问题
  • 第1题:

    在Pthread线程包关于条件变量的使用中,pthread_mutex_init()表示的是

    A.创建一个互斥量

    B.等待一个互斥量

    C.等待一个互斥量

    D.释放一个互斥量


    正确答案:A

  • 第2题:

    在解决进程间同步和互斥机制中,有一种机制是用一个标志来代表某种资源的状态,该标志称为( )。

    A 共享变量

    B flAg

    C 信号量

    D 整型变量


    参考答案C

  • 第3题:

    在Pthread线程包中,线程操作pthread_join的含意是

    A.创建一个新的线程

    B.撤销一个线程

    C.等待一个特定的线程退出

    D.参加一个新的线程


    正确答案:C

  • 第4题:

    假设有5个进程共享一个互斥段X,如果最多允许2个进程同时进入互斥段X,则信号量S的变化范围是( );若信号量S的当前值为-3,则表示系统中有(请作答此空)个正在等待该资源的进程。

    A.0
    B.1
    C.2
    D. 3

    答案:D
    解析:
    本题的正确答案为D。根据PV操作定义,当信号量的值小于0时,其绝对值表示等待资源的进程数。本题中信号量S的当前值为-3,则表示系统中有3个进程请求资源得不到满足。

  • 第5题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。

    其中,信号量S是一个互斥信号量,初值为( );S1是一个( );S2是一个(请作答此空)。

    A.互斥信号量,表示仓库的容量,初值为n
    B.互斥信号量,表示仓库是否有产品,初值为0
    C.同步信号量,表示仓库的容量,初值为n
    D.同步信号量,表示仓库是否有产品,初值为0

    答案:D
    解析:
    本题考查PV操作方面的基础知识。
    初值正确答案是B。根据题意,可以通过设置三个信号量S、S1和S2,其中,S是一个互斥信号量,初值为1,因为仓库是一个互斥资源,所以将产品送仓库时需要执行进行P(S)操作,当产品放入仓库后需要执行V(S)操作。
    S1的正确答案是C。从图中可以看出,当生产一件产品送入仓库时,首先应判断仓库是否有空间存放产品,故需要执行P(S1)操作,该操作是对信号量S1减1,若≥0表示仓库有空闲,则可以将产品放入仓库。由于仓库的容量为n,最多可以存放n件产品,所以信号量S1初值应设为n。
    S2的正确答案是D。从图中可以看出,生产部将产品放入仓库后必须通知销售部,故应执行V(S2)操作。销售部要从仓库取产品,首先判断仓库是否存有产品,故应执行P(S2)操作。若仓库没有产品,则执行P(S2)操作时,信号量S2减1,S2<0则表示仓库无产品,显然S2的初值应设为0。

  • 第6题:

    ()用来初始化一个互斥锁。

    • A、pthread_mutex_init
    • B、pthread_mutex_create
    • C、pthread_mutex_begin
    • D、pthread_mutex_lock

    正确答案:A

  • 第7题:

    Linux系统中线程的同步方式有互斥量、信号量和条件变量等。假设现在需要设计一个多线程的应用程序,试分析一下以上几种同步方式分别可在什么场合下使用。


    正确答案: Mutex互斥量,用于操作某个临界资源时对该资源上锁,以实现互斥地对独占资源的使用
    Semophore信号灯,信号灯内有一计数器,可以用于对多个同类资源的分配。当资源用完时,申请资源的线程会在信号量上睡眠,有线程释放资源时,再将该线程唤醒继续运行。
    Condition条件变量,条件变量用于等待信号。当一个线程需要等待某个信号时,就可到条件变量上等待,当信号具备时,系统会唤醒该线程继续运行。

  • 第8题:

    多个并发进程使用一个互斥信号量mutex时,如果mutex=0,则表示()

    • A、没有进程在临界区中
    • B、有一个进程在临界区中
    • C、有多个进程在临界区中
    • D、有一个进程在临界区中,另一些进程正在等待进入临界区

    正确答案:D

  • 第9题:

    应用题:设有n个进程共享一个互斥段,如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进程(m≤n)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?


    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。

  • 第10题:

    单选题
    设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是(  )。
    A

    5

    B

    3

    C

    1

    D

    0


    正确答案: D
    解析:

  • 第11题:

    问答题
    应用题:设有n个进程共享一个互斥段,如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进程(m≤n)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?

    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。
    解析: 暂无解析

  • 第12题:

    单选题
    在Pthread线程包中,线程操作pthread_yield表示的是()。
    A

    线程让出CPU

    B

    创建一个线程

    C

    阻塞一个线程

    D

    等待一个特定的线程退出


    正确答案: D
    解析: 线程操作pthread_yield表示线程让出CPU。故选择A选项。

  • 第13题:

    下列关于信号量使用的叙述中,哪些是正确的?

    A.信号量初始化后,只能实施P、V原语操作

    B.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作

    C.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的V操作

    D.信号量的初值不能小于0

    E.互斥信号量的变化范围只能是正整数


    正确答案:ABD

  • 第14题:

    多个并发进程使用一个互斥信号量nap时,如果nap=0,则通常表示(21)。由于可重用资源的冲突会引起死锁,产生死锁有4个必要条件:互斥、保持和等待、循环等待以及(22)分配方式。

    A.有多个进程在临界区中

    B.有一个进程在临界区中

    C.没有进程在临界区中

    D.有一个进程在临界区中,另一些进程正在等待进入临界区


    正确答案:B

  • 第15题:

    假设系统有6个进程共享一个互斥段,如果最多允许3个进程同时进入互斥段,则信号量S的初值为(请作答此空),信号量S的变化范围是( )。

    A.0
    B.1
    C.3
    D.6

    答案:C
    解析:
    本题考查操作系统进程管理中信号量与同步互斥方面的基础知识。
    本题中已知有6个进程共享一个互斥段,而且最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,所以,信号量的初值应设为3。
    当第一个申请该资源的进程对信号量S执行P操作,信号量S减l等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S再减1等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S再减1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-1,进程申请的资源得不到满足处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S减1等于-2;当第六个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-3,进程申请的资源得不到满足处于等待状态。所以信号量S的变化范围是-3~3。

  • 第16题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量s是一个互斥信号量,初值为( );S1是一个(请作答此空);S2是一个( )。

    A.互斥信号量,表示仓库的容量,初值为n
    B.互斥信号量,表示仓库是否有产品,初值为0
    C.同步信号量,表示仓库是否有产品,初值为0
    D.同步信号量,表示仓库的容量,初值为n

    答案:D
    解析:
    本题主要考查PV操作实现同步与互斥。从图中可以看出,当生产一件产品送入仓库时,首先应判断仓库是否有空间存放产品,故需要执行P (S1)操作,该操作是对信号量S1减1,若多0表示仓库有空闲,则可以将产品放入仓库。由于仓库的容量为n,最多可以存放n件产品,所以信号量S1初值应设为n。故正确答案为D

  • 第17题:

    在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许3个进程进入互斥段(临界区),则信号量S的变化范围是__(1)__;若信号量S的当前值为-2,则表示系统口有__(2)__一个正在等待该资源的进程。空白(2)处应选择()

    • A、0
    • B、1
    • C、2
    • D、3

    正确答案:C

  • 第18题:

    设有n个进程共享一个互斥段,如果:  (1)每次只允许一个进程进入互斥段;  (2)每次最多允许m个进程(m≤n)同时进入互斥段。  试问:所采用的信号量初值是否相同?信号量值的变化范围如何?


    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1 ,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m ,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。

  • 第19题:

    在Pthread线程包中,线程操作pthread_join的含意是()

    • A、创建一个新的线程
    • B、撤销一个线程
    • C、等待一个特定的线程退出
    • D、参加一个新的线程

    正确答案:C

  • 第20题:

    在Pthread线程包中,线程操作pthread_yield表示的是()。

    • A、线程让出CPU
    • B、创建一个线程
    • C、阻塞一个线程
    • D、等待一个特定的线程退出

    正确答案:A

  • 第21题:

    实现进程互斥时,用()对应,对同一个信号量调用PV操作实现互斥。 

    • A、一个信号量与一个临界区
    • B、一个信号量与一个相关临界区
    • C、一个信号量与一组相关临界区
    • D、一个信号量与一个消息

    正确答案:C

  • 第22题:

    问答题
    Linux系统中线程的同步方式有互斥量、信号量和条件变量等。假设现在需要设计一个多线程的应用程序,试分析一下以上几种同步方式分别可在什么场合下使用。

    正确答案: Mutex互斥量,用于操作某个临界资源时对该资源上锁,以实现互斥地对独占资源的使用
    Semophore信号灯,信号灯内有一计数器,可以用于对多个同类资源的分配。当资源用完时,申请资源的线程会在信号量上睡眠,有线程释放资源时,再将该线程唤醒继续运行。
    Condition条件变量,条件变量用于等待信号。当一个线程需要等待某个信号时,就可到条件变量上等待,当信号具备时,系统会唤醒该线程继续运行。
    解析: 暂无解析

  • 第23题:

    单选题
    在Pthread线程包关于条件变量的使用中,pthread_mutex_init( )表示的是()。
    A

    创建一个互斥量

    B

    等待一个互斥量

    C

    获得一个互斥量

    D

    释放一个互斥量


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