操作系统经典习题含答案part2解析Word下载.docx

上传人:b****7 文档编号:22836271 上传时间:2023-02-05 格式:DOCX 页数:21 大小:1.27MB
下载 相关 举报
操作系统经典习题含答案part2解析Word下载.docx_第1页
第1页 / 共21页
操作系统经典习题含答案part2解析Word下载.docx_第2页
第2页 / 共21页
操作系统经典习题含答案part2解析Word下载.docx_第3页
第3页 / 共21页
操作系统经典习题含答案part2解析Word下载.docx_第4页
第4页 / 共21页
操作系统经典习题含答案part2解析Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

操作系统经典习题含答案part2解析Word下载.docx

《操作系统经典习题含答案part2解析Word下载.docx》由会员分享,可在线阅读,更多相关《操作系统经典习题含答案part2解析Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

操作系统经典习题含答案part2解析Word下载.docx

互斥:

是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。

但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

同步:

是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。

在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。

少数情况是指可以允许多个访问者同时访问资源。

7.在优先级调度中,______类进程可能被“饿死”,即长时间得不到调度。

A.短进程 

B.长进程 

C.低优先级进程 

D.大内存进程

8.进程从运行状态到阻塞状态可能是由于______。

A.进程调度程序的调度 

B.现运行进程的时间片耗尽

C.现运行进程执行了wait操作 

 

D.现运行进程执行了signal操作

9.银行家算法在解决死锁问题中是用于______的。

A.预防死锁 

B.避免死锁 

C.检测死锁 

D.解除死锁

10.______不是进程调度算法。

A.时间片轮转法 

B.先来先服务方法

C.响应比高者优先法 

D.均衡调度算法

11.下面关于线程的叙述中正确的是______。

A.线程包含CPU现场,可以独立执行程序 

B.每个线程有自己独立的地址空间

C.线程之间的通信必须使用系统调用函数 

D.进程只能包含一个线程

12.并发进程之间______。

A.彼此无关 

B.必须同步 

C.必须互斥 

D.可能需要同步或互斥

13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是______。

A.非剥夺方式 

B.剥夺方式 

C.中断方式 

D.查询方式

14.信号量S不能用于______操作。

A.signal 

B.wait 

C.赋初值 

D.运算表达式

15.______是一种只能进行wait操作和signal操作的特殊变量

A.调度 

B.进程 

C.同步 

D.信号量

16.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为______

A.运行态->

就绪态 

B.运行态->

等待态

C.就绪态->

运行态 

D.等待态->

就绪态

17.下面关于进程的叙述中正确的是______。

A.进程获得CPU运行是通过调度得到的

B.优先级是进程调度的重要依据,一旦确定就不能改变

C.在单CPU的系统中,任何时刻都有一个进程处于运行状态

D.进程申请CPU得不到满足时,其状态变为阻塞

B.错误优先级是可以动态改变的。

C.错误没进程的时候,系统可以空闲。

D.错误变为就绪态。

18.操作系统通过______对进程进行管理。

A.进程 

B.进程控制块 

C.进程启动程序 

D.进程控制区

19.若一个进程拥有100个线程,这些线程属于用户级线程,它们在系统调度执行时间上占用的时间片个数是______。

A.1 

B.100 

C.1/100 

D.0

本题主要考查关于进程和线程之间资源共享的知识点。

在引入线程的操作系统中,线程是进程中的一个实体,是系统独立调度和分派的基本单位。

但是线程自己基本上不拥有系统资源,所以它不是资源分配的基本单位,它只拥有一部分在运行中必不可少的与处理机相关的资源,如线程状态、寄存器上下文和栈等,它同样有就绪、阻塞和执行三种基本状态。

它可与同属一个进程的其他线程共享进程所拥有的全部资源。

一个线程可以创建和撤销另一个线程;

同一个进程中的多个线程之间可以并发执行。

由于用户线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调度的,用户利用线程库提供的API来创建、同步、调度和管理线程。

所以,用户线程的调度在用户程序内部进行,通常采用非抢先式和更简单的规则,也无须用户态和核心态切换,所以速度很快。

由于操作系统不知道用户线程的存在,所以,操作系统把CPU的时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。

那么,用户进程能得到的时间片即为所有用户线程共享。

因此,正确答案应为A。

20.解除死锁通常不采用的方法是______。

A.终止一个死锁进程 

B.终止所有死锁进程 

C.从死锁进程处抢夺资源 

D.从非死锁进程处抢夺资源

21.到其他3种状态的进程状态是______。

A.就绪 

B.阻塞 

C.完成 

D.执行

22.信号量的初值为2,当前值为-3,则表示等待进程有______。

A.1个 

B.2个 

C.3个 

D.5个

若信号量为正,则表示资源数;

若信号量为负,则表示等待的进程数

23.wait操作可能导致______。

A.进程就绪 

B.进程结束 

C.进程阻塞(等待) 

D.新进程创建

24.在操作系统中为避免系统的死锁采用______。

A.银行家算法 

B.破坏占有并等待条件

C.死锁检测和恢复 

D.破坏非剥夺条件

25.下列的进程状态变化中不可能发生的变化是______。

A.等待→运行 

B.运行→等待 

C.运行→就绪 

D.等待→就绪

26.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为______。

A. 

B.1 

C.2 

D.0

27.进程之间交换数据不能通过______途径进行。

A.共享文件 

B.消息传递 

C.访问进程地址空间 

D.访问共享存储区域

28.进程控制块PCB不包括的内容是______。

A.CPU现场 

B.进程优先级 

C.进程运行状态 

D.文件缓冲区

29.PCB是描述进程状态和特性的数据结构,一个进程______。

A.可以有多个PCB  B.可以和其他进程共用一个PCB

C.可以没有PCB  D.只能有唯一的PCB

30.资源顺序分配法破坏了死锁发生的______必要条件。

A.互斥占用 

B.占有等待 

C.非剥夺 

D.循环等待

31.进程和程序的本质区别是______。

A.内存和外存 

B.动态和静态特征

C.共享和独占使用计算机资源 

D.顺序和非顺序执行指令

32.设有两个进程共享3个同类资源,为使系统不死锁,每个进程最多可以申请______资源。

A.0 

D.3

33.作业调度中的先来先服务算法是以______为出发点考虑的。

A.作业执行时间 

B.作业的周转时间

C.作业等待时间 

D.等待时间加运行时同

34.设m为同类资源数,n为系统中的并发进程数。

当n个进程共享m个互斥资源时,每个进程的最大需求是w。

下列情况下,系统会死锁的是______。

A.m=2,n=l,w=2 

B.m=2,n=2,w=1

C.m=4,n=3,W=2 

D.m=4,n=2,w=3

当2个进程已经拥有2个资源,都申请第3个资源时,导致死锁。

35.用于解决进程间互斥的方法是______。

①信号量及wait、signal操作 

②加锁与解锁 

③信箱方式

④消息缓冲方式 

⑤特权指令方式

A.③、④和⑤ 

B.①和② 

C.①和③ 

D.②和⑤

36.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。

对于任何两个并发进程,它们______。

A.必定无关 

B.必定相关 

C.可能相关 

D.可能相同

二、简答题

1.什么是线程?

进程和线程的关系是什么?

2.进程能自己将自己唤醒吗?

进程能自己将自己撤销吗?

3.父进程创建子进程之后,父子进程间的关系是什么?

4.简述引进线程的好处。

5.当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好?

6.为什么说进程同步问题关系到OS的成败?

同步机制应遵循的准则是什么?

7.进程之间存在哪几种相互制约关系?

各是什么原因引起的?

下列活动分别属于哪种制约关系?

(1)若干同学去图书馆借书。

(2)两队举行篮球比赛。

(3)流水线生产的各道工序。

(4)商品生产和消费。

8.高级调度和低级调度的主要任务是什么?

为什么引入中级调度?

9.在剥夺调度中,有哪些剥夺原则?

10.引起进程调度的主要因素。

11.何为死锁?

产生死锁的原因和必要条件是什么?

比较三种解决死锁的方法?

12.试比较说明进程和程序的区别有哪些?

三、应用题

1.有一个理发师,一把理发椅和n把供等候理发的顾客坐的椅子。

如果没有顾客,则理发师便在理发椅子上睡觉;

当一个顾客到来时,必须唤醒理发师,进行理发;

如果理发师正在理发时,又有顾客来到,则如果有空椅子可坐,他就坐下来等,如果没有空椅子,他就离开。

为理发师和顾客各编一段程序描述他们的行为,要求不能带有竞争条件。

2.计算进程PC和打印进程P01、P02共享一个单缓冲区,计算进程负责计算,并把计算结果放入单缓冲中;

打印进程P01、P02则负责从单缓冲中取出计算结果进行打印,而且对每个计算结果,P01和P02都需分别打印一次。

请用记录型信号量描述上述进程间的同步关系。

wait(s)就是s减1;

  如果原来是0;

  那么就是wait(0);

  与C语言中的while很像,while(0)就是不进入循环,一直等到while

(1)再进入循环可以这么理解,但实际while直接不执行循环里的语句,跳过去了)

  如果原来>

0;

  直接减1,s的资源少了一个;

  如果原来<

  那么跟0一样还要等,等到大于0,继续执行。

  signal(s)就是s加1;

  原理同上。

【11分】

可设置四个信号量:

full1表示缓冲中是否有可供P01打印的计算结果,full2表示缓冲中是否有可给P02打印的计算结果;

emptypl、empty2则表示计算结果是否已被P01l、P02取走,只有当一个结果被两个打印进程都取走后,缓冲区才变空,计算进程才可将下一个计算结果放入单缓冲。

Varempty1,empty2,full1,full2:

semaphore:

=1,1,0,0;

Begin

Parbegin

PC:

begin

Repeat

computrtnextnumber;

wait(empty1):

wait(empty2);

addthenumbertobufer;

signal(full1);

signal(full2);

Untilfalse;

end

P01:

begin

repeat

wait(full1);

takefrombufer;

signal(emptyl):

printlastnumber;

untilflase;

P02:

wait(full2);

takefrombuffer;

signal(empty2);

untilfalse

parend

3.设有三个进程,输入进程(input)、计算进程(compute)和输出进程(output),它们通过共享两个缓冲区buf1和buf2协作完成任务。

如下图所示

三个进程之间的合作关系如下:

(1)输入进程使用put()函数把数据送到buf1,供计算进程调用calculate()函数计算;

(2)计算进程每次调用get()函数从buf1取出已输入的可计算的数据进行计算,并把计算结果使用put()函数把数据送到buf2送入buf供输出进程打印;

(3)输出进程调用get()函数把buf2中的数据使用print()函数输出。

定义合适的信号量,并用伪代码完成实现过程。

4.设系统中有三类资源A、B和C,又设系统中有5个进程P1,P2,P3,P4和P5。

在T0时刻系统状态如下:

最大需求量 

已分配资源量 

剩余资源量

C

P1

P2

P3

P4

P5

10 

3

0

5

2

1

(1)系统是否处于安全状态?

(请给出详细的判断过程)如是,则给出进程安全序列。

(2)如果进程P5申请1个资源类A和1个资源类C,能否实施分配?

为什么?

5.设有五道作业,它们的提交时间和运行时间见下表,试给出在如下表所示的三种调度算法下,作业的执行顺序,以及平均周转时间和带权平均周转时间:

(1) 

先来先服务调度算法;

(2) 

短作业优先调度算法;

(3) 

响应比高优先调度算法。

作业提交和运行时间表

作业名

提交时间/h

需执行时间/h

J1

10.1

0.8

J2

10.3

0.5

J3

10.5

0.4

J4

10.6

0.3

J5

10.7

0.2

6.假设系统有同类资源10个,供P,Q、R三个进程共享,P、Q、R所需资源总数分别为8、4、9,它们申请资源的次序和数量如下表所示。

进程资源申请表

次序

进程

申请量

1

2

3

4

5

6

R

P

Q

按银行家算法为它们分配资源:

(1)写出执行完序号为6的申请时,各进程的状态和已占的资源数。

(2)请估计系统是否会出现死锁,并简要说明理由。

7.下面给出的两个进程互斥的算法是安全的吗?

#definetrue;

#definefalse;

Intflag[2];

flag[1]=flag[2]=false;

enter-crtsec(i)

inti;

{

While(flag[1-i])

flag[i]=true;

}

leave-crtsec(i)

Inti;

flag[i]=false;

processI;

Enter-crtsec(i);

Incriticalsection;

Leave-crtsec(i);

8.设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源:

    进程A申请(3,2,1)

    进程B申请(1,0,1)

    进程A申请(0,1,0)

    进程C申请(2,0,0)

  请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。

9.进程A1,A2,…,An通过K个缓冲区向进程B1,B2,…,Bm 

不断地发送消息。

发送和接收工作遵循如下规则:

(1)每个发送进程一次发送一个消息,写入缓冲区,缓冲区大小与消息长度一致;

(2)对每个消息,B1,B2,…,Bm都需接收一次,读入各自的数据区内;

(3)K个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。

试用wait和signal原语操作组织正确的发送和接收操作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1