南京工业大学python期末_操作系统期末复习南京工业大学.doc

操作系统作业

【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。

作业1——进程同步(1)

1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是 。

A. n,n-1,...,n-mB. m,m-1,...1,0,-1,...m-n

C. m,m-1,...1,0,-1,...m-n-1D. m,m-1,...1,0,-1,...m-n+1

2.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则 。

A. 表示没有进程进入与mutex相关的临界区

B. 表示有一个进程进入与mutex相关的临界区

C. 表示有一个进程进入与mutex相关的临界区,另一个进程等待进入

D.表示有两个进程进入与mutex相关的临界区

3.S.queue,S.value是信号灯S的两个组成部分,当S.queue为空时,S.value的值是 。

A.S.value≤0 ?? B.S.value=0C.S.value=1 ?? D.Svalue≥0

4.如果信号量的当前值为-3,则表示系统中在该信号量上有 个等待进程。

5.下列选项中,操作系统提供给应用程序的接口是 。(2010全国试题)

A.系统调用B.中断C.库函数D.原语

6.下列选项中,导致创建新进程的操作是 。(2010全国试题)

I.用户登录成功II.设备分配III.启动程序执行

A.仅I和IIB.仅II和IIIC.仅I和IIID.I、II和III

7.设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是 。(2010全国试题)

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

8.有两个并发进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。(2011全国试题)

//加1操作

load R1, x //取x到寄存器R1中

inc R1

store x, R1 //将R1的内容存入x//减1操作

load R2, x

dec R2

store x, R2两个操作完成后,x的值 。

A.可能为-1或3B.只能为1

C.可能为0、1或2D.可能为-1、0、1或2

作业2——进程同步(2)

1.若一只盘子一次只能放一个水果,A只往盘中放苹果,B只往盘中放梨子,C只从盘中取苹果,D只从盘中取梨子。试用P、V操作写出同步算法。

2.(2009全国试题)三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce( )生成一个正整数并用put( )送入缓冲区某个单元中;P2每次用getodd( )从缓冲区中取出一个奇数并用countodd( )统计奇数个数;P3每次用geteven( )从缓冲区中取出一个偶数并用counteven( )统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。

3.(2011全国试题)某银行提供1个服务窗口和10个顾客等待座位。顾客到达银行时,若有空座位,则到取号机领取一个号,等待叫号。取号机么每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:

cobegin

{

process 顾客i

{

从取号机获得一个号码;

等待叫号;

获得服务;

}

process 营业员

{

while (TRUE)

{

叫号;

为顾客服务;

}

}

}

coend

请添加必要的信号量和P、V(或wait( )、signal( ))操作实现上述过程的互斥和同步。要求写出完整的过程,说明信号量的含义并赋初值。

作业3——进程同步(3)

1.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。

2.今有一个文件F供进程共享,现把这些进程分成A、B两组,规定同组的进程可以同时读文件F;但当有A组(或B组)的进程在读文件F时就不允许B组(或A组)的进程读文件F。试用P、V操作来进行管理。

3*.多个进程共享一个文件,其中只读文件的称为读者,其余只写文件的称为写者,读者可以同时读,但写者只能单独写。用P、V操作写出其同步算法,使得它对写者优先,即一旦有写者到达,后续的读者都必须等待,而无论是否有读者在读文件。

【说明】

(1) 教科书上提供的读者-写者算法是“优先读者”的算法,本题要求给出的是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值