北大《操作系统原理》公开课:第五周测验解析

多个进程并发执行时,各个进程应互斥进入其临界区,所谓临界区是指

  • 一段数据区
  • 一种同步机制
  • 一个缓冲区
  • 一段程序

下列哪一种场景问题只包含进程互斥问题?

  • 公共汽车上司机和售票员的工作配合
  • 田径场的四百米接力比赛
  • 两个进程通过一个缓冲区传递数据
  • 一个进程读文件,一个进程写文件

以下是解决进程互斥进入临界区的一种解法。
P:

     … …
     pturn = true;
     while (qturn) ;
         临界区操作
     pturn = false;
     … …

Q:

     … …
     qturn = true;
     while (pturn) ;
         临界区操作
     qturn = false;
     … …

其中,pturn、qturn的初值为false
如果P、Q两个进程同时想进入临界区,那么会发生下面哪一种情形?

  • P和Q都进入不了临界区
  • P和Q都进入了临界区
  • P先进入临界区,Q再进入临界区
  • Q先进入临界区,P再进入临界区

解析:p和q可能同时被赋值为true,从而造成双方一直死循环。

若干进程之间相互合作,共同完成一项任务。进程的这种关系称为
-异步

  • 同步
  • 互斥
  • 并发

下列描述的四个现象中,哪一项既具有同步关系又具有互斥关系?

  • 多个不同的用户进程编译自己的程序
  • 多个不同的用户进程一起玩麻将电子游戏
  • 多个不同的用户订票进程访问票额数据库
  • 多个不同的用户进程一起玩踢足球电子游戏

解析:可以将足球想象为临界资源,而临界资源不可同时被多个用户进程所占有,这里体现出了互斥关系,而多个用户进程的合作则体现出了同步关系。

在使用信号量及P、V操作机制解决问题时,进程执行一次P操作,意味着该进程

  • 准备释放一个资源
  • 正在使用一个资源
  • 需要共享一个资源
  • 申请分配一个资源

在使用信号量及P、V操作机制解决问题时,一个进程执行V操作意味着

  • 该进程从磁盘调入内存
  • 该进程从等待队列进入就绪队列
  • 可能有另一个进程从磁盘被调入内存
  • 可能有另一个进程从等待队列进入就绪队列

假设信号量S的当前值为 -3,这就表示

  • 在信号量S上不能再执行P操作了
  • 系统中有3个等待该信号量的进程
  • 系统中还有3个资源可以使用
  • 在信号量S上只能执行V操作

用信号量及PV操作管理临界区时,若信号量mutex的初值为1,当mutex的等待队列中有k(k > 1)个进程时,信号量的值为

  • 1-k
  • k
  • k-1
  • -k

解析:当第一个进程进入临界区时,mutex的值为0,而其后的所有进程都将被阻塞,因此k个等待进程信号量的值为-k。

用“测试并加锁”(TSL)指令解决进程互斥进入临界区的解决方案不适用于多处理器。

解析:TSL指令将一个内存字lock读到寄存器RX中,然后在该内存地址上存一个非零值,读与写操作保证是不可分割的。执行此指令的CPU将锁住内存总线,以禁止其它CPU在本指令结束之前访问内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值