操作系统复习资料习题 4文档格式.docx

上传人:b****6 文档编号:20423499 上传时间:2023-01-22 格式:DOCX 页数:11 大小:48.02KB
下载 相关 举报
操作系统复习资料习题 4文档格式.docx_第1页
第1页 / 共11页
操作系统复习资料习题 4文档格式.docx_第2页
第2页 / 共11页
操作系统复习资料习题 4文档格式.docx_第3页
第3页 / 共11页
操作系统复习资料习题 4文档格式.docx_第4页
第4页 / 共11页
操作系统复习资料习题 4文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

操作系统复习资料习题 4文档格式.docx

《操作系统复习资料习题 4文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统复习资料习题 4文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

操作系统复习资料习题 4文档格式.docx

9.用V操作唤醒一个等待进程时,被唤醒进程的状态变为________。

A.等待B.就绪C.运行D.完成

10.下面对进程的描述中,错误的是________。

A.进程是动态的概念B.进程执行需要处理机

C.进程是有生命期的D.进程是指令的集合

11.进程控制就是对系统中的进程实施有效的管理,通过使用________、进程撤消、进程阻塞、进程唤酲等进程控制原语实现。

A.进程运行B.进程管理

C.进程创建D.进程同步

12.信箱通信是一种________通信方式。

A.直接通信B.间接通信

C.低级通信D.信号量

13.操作系统通过________对进程进行管理。

A.JCBB.PCBC.DCTD.CHCT

14.某系统的进程状态如下图所示:

a是①B状态,b是②D状态,c是③C状态。

1表示④B,2表示⑤A,3表示发生了等待事件,4表示等待事件结束。

下列情况中,当发生前者的状态转换时,⑥AB会导致发生后者的状态转换。

①②③:

A.挂起B.运行C.等待D.就绪E.睡眠

④⑤:

A.落选B.选中C.等待

⑥:

A.2→1B.4→2

 

15.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次________。

A.等待活动B.运行活动

C.单独操作D.关联操作

16.一个进程被唤醒意味着________。

A.该进程重新占有了CPUB.它的优先权变为最大

C.其PCB移至等待队列队首D.进程变为就绪状态

17.下面所述步骤中,________不是创建进程所必需的。

A.由调度程序为进程分配CPU

B.建立一个进程控制块

C.为进程分配内存

D.将进程控制块链入就绪队列

18.多道程序环境下,操作系统分配资源以________为基本单位。

A.程序B.指令C.进程D.作业

19.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则________。

A.表示没有进程进入临界区

B.表示有一个进程进入临界区

C.表示有一个进程进入临界区,另一个进程等待进入

D.表示有两个进程进入临界区

二、填空题

1.进程的基本特征有①动态、②并发、独立、异步及结构特征。

2.信号量的物理意义是当信号量值大于零时表示①有资源可用;

当信号量值小于零时,其绝对值为②等待资源的进程个数。

3.临界资源的概念是①一段时间内只允许一个进程使用的资源,而临界区是指②使用临界资源的代码。

4.进程在运行过程中有三种基本状态,它们是①、②、③。

5.进程主要由①PCB、②代码段、③数据段三部分内容组成,其中④PCB是进程存在的惟一标志。

而⑤代码段部分也可以为其他进程共享。

6.系统中各进程之间逻辑上的相互制约关系称为__同步______。

7.对于信号量可以做①操作和②操作,③P操作用于阻塞进程,④V操作用于释放进程。

程序中的⑤P和⑥V操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。

8.程序顺序执行时有顺序性、__封闭性______和可再现性的特点。

9.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是__1~1-m______。

10.设系统中有n(n>

2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况:

①没有运行进程,有2个就绪进程,n-2个进程处于等待状态。

②有1个运行进程,没有就绪进程,n-1进程处于等待状态。

③有1个运行进程,有1个就绪进程,n-2进程处于等待状态。

④有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

上述情况中,不可能发生的情况是___①____。

11.下面关于进程的叙述不正确的是____①②③____。

①进程申请CPU得不到满足时,其状态变为等待状态。

②在单CPU系统中,任一时刻有一个进程处于运行状态。

③优先级是进行进程调度的重要依据,一旦确定不能改变。

④进程获得处理机而运行是通过调度而实现的。

12.信箱逻辑上分成①信箱头和②信箱体两部分。

①信箱头中存放有关信箱的描述。

②信箱体由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。

13.在操作系统中引入线程概念的主要目的是_减少进程调度的时空开销和提高系统的并发性____。

解析题

1.叙述进程和程序的主要区别。

解:

进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:

(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。

而进程是程序在处理机上的一次执行过程,它是一个动态概念。

(2)程序的存在是永久的。

而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。

(3)程序仅是指令的有序集合。

而进程则由程序、数据和进程控制块组成。

(4)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程;

而一个进程可以执行多个程序。

2.图2.7给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用P、V操作描述它。

说明任务启动后S1先执行。

当S1结束后,S2、S3可以开始执行。

S2、S3完成后,S4才能开始执行。

为了确保这一执行顺序,设三个同步信号量b2、b3、b4分别表示进程S2、S3、S4是否可以开始执行,其初值均为0。

这四个进程的同步描述如下:

intb2=0;

/*表示进程S2是否可以开始执行*/

intb3=0;

/*表示进程S3是否可以开始执行*/

intb4=0;

/*表示进程S4是否可以开始执行*/

main()

{

cobegin

S1();

S2();

S3();

S4();

coend

}

S1()

v(b2);

v(b3);

S2()

p(b2);

v(b4);

}

S3()

p(b3);

S4()

p(b4);

3.某系统的进程状态转换图如图所示,请说明:

(1)引起各种状态转换的典型事件有哪些?

(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。

在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?

(3)试说明是否会发生下述因果转换:

2→1

3→2

4→1

(1)在本题所给的进程状态转换图中,存在四种状态转换。

当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;

正在执行的进程如因时间片用完而被暂停执行就会引起转换2;

正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;

当进程等待的事件发生时(如I/O完成)则会引起转换4。

(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。

这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。

(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。

当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。

2→1:

当某进程发生转换2时,就必然引起另一进程的转换1。

因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。

3→2:

某个进程的转换3决不可能引起另一进程发生转换2。

这是因为当前执行进程从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。

4→1:

当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1。

因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。

4.在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。

有可能出现上述情形吗?

如果可能请说明理由。

有可能出现上述情况。

例如,若在进程P时间片用完后,被迫回到就绪队列时,就绪队列为空,这样进程P就是就绪队列中惟一的一个进程,于是调度程序选中的进程必然是进程P;

又如在按优先级调度的系统中,就绪队列按进程优先级排列,在进程P时间片用完之后回到就绪队列时,若其优先级高于当前就绪队列中的其他进程,则它将排在就绪队列之首,从而再次被调度程序选中并投入运行。

5.(北京大学1990年试题)

①写出P、V操作的定义。

②有三个进程PA、PB和PC合作解决文件打印问题:

PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;

PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;

PC将缓冲区2的内容打印出来,每执行一次打印一个记录。

缓冲区的大小等于一个记录大小。

请用P、V操作来保证文件的正确打印。

①P、V操作是两条原语,它们的定义如下:

P操作P操作记为P(S),其中S为一信号量,它执行时主要完成下述动作:

S=S-1

若S≥0,则进程继续运行。

若S<0,则该进程被阻塞,并将它插入该信号量的等待队列中。

V操作V操作记为V(S),S为一信号量,它执行时主要完成下述动作:

S=S+1

若S>0,则进程继续执行。

若S≤0,则从信号量等待队列中移出队首进程,使其变为就绪状态。

②在本题中,进程PA、PB、PC之间的关系为:

PA与PB共用一个单缓冲区,而PB又与PC共用一个单缓冲区,其合作方式可用图2.12表示。

当缓冲区1为空时,进程PA可将一个记录读入其中;

若缓冲区1中有数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中;

若缓冲区2中有数据,则进程PC可以打印记录。

在其他条件下,相应进程必须等待。

事实上,这是一个生产者-消费者问题。

为遵循这一同步规则。

应设置四个信号量empty1、empty2、full1、full2,信号量empty1及empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;

信号量full1及full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。

其同步描述如下:

intempty1=1;

intempty2=1;

intfull1=0;

intfull2=0;

PA();

PB();

PC();

PA()

while

(1)

{

从磁盘读一个记录;

p(empty1);

将记录存入缓冲区1;

v(full1);

PB()

while

(1)

p(full1);

从缓冲区1中取出记录;

v(empty1);

p(empty2);

将记录存入缓冲区2;

v(full2);

PC()

p(full2);

从缓冲区2中取出记录;

v(empty2);

打印记录;

6.有一个仓库,可以存放A和B两种产品,但要求:

(1)每次只能存入一种产品(A或B);

(2)-N<A产品数量-B产品数量<M。

其中,N和M是正整数。

试用P、V操作描述产品A与产品B的入库过程。

本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。

第二个条件可以分解为:

-N<A产品数量-B产品数量

A产品数量-B产品数量<M

也就是说,A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比B产品的数量多M个以上。

在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;

sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。

初始时,sa为M-1,sb为N-1。

当往库中存放入一个A产品时,则允许存入B产品的数量也增加1;

当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。

产品A、B的入库过程描述如下:

intmutex=1;

/*互斥信号量*/

intsa=M-1;

intsb=N-1;

{

取一个产品;

if(取的是A产品)

p(sa);

p(mutex);

将产品入库;

v(mutex);

v(sb);

else/*取的产品是B*/

p(sb);

v(pa);

从本题的解法可以看出,当有比较复杂条件出现时,可以把复杂条件分解成一组简单条件,这样就能很容易地写出对应的程序流程了。

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

当前位置:首页 > 经管营销 > 企业管理

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

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