0128 进程与线程2

目录

2.进程与线程

2.3同步与互斥

2.3部分习题 


2.进程与线程

2.3同步与互斥

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2.3部分习题 

1.一个正在访问临界资源的进程,由于申请等待I/O操作而被中断时,它()

A.允许其他进程进入与该进程相关的临界区

B.不允许其他进程进入任何临界区

C.允许其他进程抢占处理器,但不得进入该进程的临界区

D.不允许任何进程抢占处理器

2.以下()不属于临界资源

A.打印机        B.非共享数据        C.共享变量        D.共享缓冲区

3.以下()属于临界资源

A.磁盘存储介质        B.公用队列        C.私用数据        D.可重入的程序代码

4.一个系统共有5个并发进程涉及某个相同的变量A,变量A的相关临界区是由()个临界区构成

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

5.下列关于管程的叙述,错误的是()

A.管程是进程同步工具,解决信号量机制大量同步操作分散的问题

B.管程每次只允许一个进程进入管程

C.管程中signal操作的作用和信号量机制中的V操作相同

D.管程是被进程调用的,管程是语法范围,无法创建和撤销

6.进程P1和P2均包含并发执行的线程,部分伪代码如下:

//进程P1
int x=0;

Thread1()
{    
    int a;
    a=1;
    x+=1;
}

Thread2()
{
    int a;
    a=2;
    x+=2;
    
}

//进程P2
int x=0;

Thread3()
{    
    int a;
    a=x;
    x+=3;
}

Thread4()
{
    int b;
    b=x;
    x+=4;
    
}

下列选项中,需要互斥执行的操作是()

A.a=1与a=2        B.a=x与b=x

C.x+=1与x+=2        D.x+=1与x+=3

7.在下列同步机制中,可以实现让权等待的是()

A.Peterson方法        B.swap指令

C.信号量方法        D.TestAndSet指令


1.C

进程进入临界区必须满足互斥条件,当进程进入临界区但尚未离开时就被迫进入阻塞,在这种情况下,只要其他进程在运行过程中不寻求进入该进程的临界区,就允许其运行,即分配CPU

2.B

临界资源是互斥共享资源,非共享数据不属于临界资源

3.B

公用队列可供多个进程使用,但一次只可供一个进程使用,属于临界资源

4.C

临界区指访问临界资源A的那段代码,那么5个并发进程共有5个操作共享变量A的代码段

5.C

不同,信号量机制中的V操作一定会改变信号量的值S=S+1;而管程中signal操作是针对某个条件变量的,若不存在因该条件而阻塞的进程,signal就不会产生任何影响

6.C

P1对a进行赋值,并不影响最终结果,因此a=1与a=2 无需互斥执行;a=x与b=x执行先后不影响a与b的结果,无需互斥执行;x+=1与x+=2执行先后会影响x的结果,需互斥执行;P1中的x与P2中的x是不同范围中的x,互不影响

7.C

硬件方法实现进程同步时不能实现让权等待,Peterson算法满足有限等待但不满足让权等待;记录型信号量由于引入阻塞机制,消除了不让权等待的情况

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nzmzmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值