操作系统题进程.docx
《操作系统题进程.docx》由会员分享,可在线阅读,更多相关《操作系统题进程.docx(18页珍藏版)》请在冰点文库上搜索。
操作系统题进程
1并发进程失去了封闭性,是指(d)
A多个相对独立的进程以各自的速度向前推进
B并发进程的执行结果与速度无关
C并发进程执行时,在不同时刻发生的错误
D并发进程共享变量,其执行结果与速度有关
2当一个进程处于这样的状态(ab)时,称其为等待状态。
A它正等着输入一批数据B它正等着协作进程的一个消息
C它正等分给它一个时间片D它正等着进入内存
3.进程的属性包括(c)。
A进程就是程序。
或者说,进程是程序的另一种叫法。
B一个被创建了的进程,在它消灭之前,在任何时刻总是处于3种基本状态之一。
C多个不同的进程可以包含相同的程序。
D一个处于等待队列的进程,即使进入其它状态,仍然被放在等待队列中。
E两个进程可以同时处于运行状态。
4判断正误
1)进程由进程控制块和数据集以及对该数据集进程操作的程序组成。
(dui)
2)进程上下文是进程执行活动全过程的静态描述(dui)
3)并发是进程的不同表述,其原理相同。
(cuo)
5.简答:
比较进程和程序的区别
进程与程序是既有联系又相区别的两个概念。
1联系。
程序是构成进程的组成部分之一。
一个进程的运行目标是执行它所对应的程序,如果没有程序,进程就失去了其实际存在的意义。
从静态的角度看,进程是由程序、数据和PCB三部分组成的。
2区别1)程序是指令的有序集合。
它是一个静态概念,其本身没有任何运行的含义。
而进程是程序在处理机上的一次执行过程,它是动态概念。
程序可以作为一种软件长期保存,而进程是有一定生命期的,它能够动态的产生和消亡。
2)进程与程序在结构上不同,进程由PCB、程序段、数据段三部分组成。
3)进程是一个能独立运行的单位,能与其它进程并发执行。
4)进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。
同一程序运行于若干不同的数据集合上,它将属于若干个不同的进程。
或者说,若干个不同的进程可以包含相同的程序。
6简答:
操作系统中为什么要引入进程的概念?
OS在进程管理方面应做哪些工作?
程序的并发执行充分利用了系统资源,提高了系统的处理能力。
但由于系统资源有限,并发执行必将导致资源共享和资源竞争。
此时如果不按照特定的规则和方法进行资源竞争和共享,则执行结果不可避免的失去封闭性和可再现性,从而得到不正确或非预期的结果。
所以我们需要一个能描述程序的执行过程且能用来共享资源的基本单位,这就是进程。
应做工作:
1)进程控制2)进程同步
3)进程通信4)进程调度
1在多进程的系统中,为了保证公共变量的完整性,各个进程应互斥进入临界区。
所谓临界区是指(d)。
A 一个缓冲区B 一段数据区
C 同步机制D 一段程序
2 一个进程是(c)。
A由协处理机执行的一个程序B.一个独立的程序+数据集
C.PCB结构与程序和数据的组合D.一个独立的程序
3 信号量是一个初值为非负的整型变量,可在其上做加1和减1操作。
(cuo只可以做P、V操作。
)
4已知一个求值公式(A2+3B)/(B+5A),若A、B已经赋值,请画出该公式求值过程的前趋图。
6试用用信号量机制描述两人下象棋的过程。
•两人下象棋的过程可以概括为:
一开始只能是“红先黑后”,以后两人要循环轮流走子,直至某一方获胜或双方和棋为止。
•这是个只有一个生产者和一个消费者的生产者——消费者问题,是个典型的“你等我,我也等你”的问题。
红方是总的前趋任务——生产者进程,黑方是总的后继任务——消费者进程,但由于下棋过程必须轮流走子,所以红黑双方的生产者消费者身份会轮流改变。
棋盘则是生产者与消费者共享的缓冲。
•要求:
只描述对弈过程,对棋盘的访问不做描述。
二人对弈过程是个纯粹的同步过程
•①所用信号量设置如下:
•Ⅰ)同步信号量hei,初值为1,表示黑方已走子,开始时可使红方先行不受阻。
•Ⅱ)同步信号量hong,初值为0,表示红方尚未走子,开始时可使黑方先行受阻。
用信号量机制描述的二人下象棋过程如下
•P(hei);
•若被黑方将死,则投子认负,结束;
•若同意与黑方作和,则结束;
•否则,根据棋局思考后走一子;
•PV(hong);
红方
P(hong);
若被红方将死则投子认负,结束
若同意与红方作和,则结束;
否则,根据棋局思考后走一子;
黑方
7某小型超级市场,可容纳50人同时购物。
入口处有篮子,每个购物者可拿一只篮子入内购物。
出口处结帐,并归还篮子(出、入口禁止多人同时通过)。
试用信号量和P、V操作写出购物者的同步算法。
•①所用信号量设置如下:
•Ⅰ)资源信号量S,初值为50,用以保证最多可以有50个购物者同时进入超市。
•Ⅱ)互斥信号量mutex,初值为1,用以保证同时只能有一个购物者进程进入出入口拿起篮子或者结帐后放下篮子。
•②用信号量机制给出的每个购物者购物过程的算法描述如下:
购物者i进程(解法一)
P(S);
P(mutex);
从入口处进超市,并取一只篮子;
V(mutex);
进超市内选购商品;
P(mutex);
到出口结帐,并归还篮子;
V(mutex);
从出口离开超市;
V(S);
↓
结束.
购物者i进程(解法二)
P(S);
P(mutex1);
从入口处进超市,并取一只篮子;
V(mutex1);
进超市内选购商品;
P(mutex2);
到出口结帐,并归还篮子;
V(mutex2);
从出口离开超市;
V(S);
↓
结束.
8桌上有个只能盛得下一个水果的空盘子。
爸爸可向盘中放苹果或桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定:
当盘子空时,一次只能放入一个水果供吃者取用。
试用信号量和P、V操作实现爸爸、儿子和女儿这三个循环进程之间的同步。
本题属于生产者——消费者问题的变形,相当于一个能生产两种产品的生产者(爸爸)向两个消费者(儿子和女儿)提供产品的同步问题。
因此,可参考生产者与消费者问题的解法
所用信号量设置如下:
Ⅰ)同步信号量empty,初值为1,表示盘子是空的,即儿子或女儿已把盘中的水果取走。
Ⅱ)同步信号量orange,初值为0,表示爸爸尚未把桔子放入盘中。
Ⅲ)同步信号量apple,初值为0,表示爸爸尚未把苹果放入盘中。
•
(1)爸爸进程(P)
•P(empty);
•将水果放入盘中;
•若放入的是桔子,
•则V(orange);
•否则,V(apple);
•
(2)儿子进程(C1)
•P(orange);
•从盘中取出桔子;
•V(empty);
•吃桔子;
•
•(3)女儿进程(C2)
P(apple);
•从盘中取出苹果;
V(empty);
•吃苹果;
9.设A、B两点之间是一段东西向的单行车道,现在要设计一个AB路段自动管理系统,管理规则如下:
当AB间有车辆在行驶时,同方向的车可以同时驶入AB段,但另一方向的车必须在AB段外等待;
当AB段之间无车辆行驶时,到达AB段的任一方向的车都可进入AB段,但不能从两个方向同时驶入,即只能有一个方向的车驶入;
当某方向在AB段行驶的车辆驶出了AB段且暂无车辆进入AB段时,应让另一方向等待的车辆进入AB段行驶。
试用信号量和P、V操作管理AB路段车辆的行驶。
所用信号量和其他变量设置如下:
•Ⅰ)整型变量Car_A,初值为0,
•用于对从A点(东)驶入AB段的车辆进行记数。
•Ⅱ)整型变量Car_B,初值为0,
•用于对从B点(西)驶入AB段的车辆进行记数。
•Ⅲ)互斥信号量mutex,初值为1,
•用于实现不同方向的第一辆车互斥驶入AB路段。
•Ⅳ)互斥信号量ma,初值为1,
•用于实现东西向的车互斥地访问计数器变量Car_A。
•Ⅴ)互斥信号量mb,初值为1,
•用于实现西东向的车互斥地访问计数器变量Car_B。
•1)通过AB路段向西行驶的车辆i
•P(ma);
•若Car_A=0则P(mutex);
•Car_A加1;
•V(ma);
•车辆从A点通过AB路段到达B点;
•P(ma);
•Car_A减1;
•Car_A=0则V(mutex);
•V(ma);
•2)向东行
•P(mb);
•若Car_B=0则P(mutex);
•Car_B加1;
•V(mb);
•车辆从B点通过AB路段到达A点;
•P(mb);
•Car_B减1;
•Car_B=0则V(mutex);
•V(mb);
•Zongjie:
实现进程的同步互斥实际就是给进程的并发执行增加一定的限制,以保证被访问的共享数据的完整性和进程执行结果的可再现性。
用信号量机制解这类题的三个步骤:
•
(1)分析进程间的制约关系
•
(2)设置信号量
•(3)实施P、V操作。
•第一步是基础、关键,第三步是核心。
•掌握实现进程互斥与进程同步的第三步在形式上差异:
即P、V操作总是配对出现的。
•但P、V在互斥问题中总是出现在同一个进程的代码中,且紧紧夹着临界区;而在同步问题中,却是分别出现在两个合作进程的代码中,需要等消息的一方用P操作,相应的对同一信号量的V操作则在发出此消息的另一方中。
10有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。
•试说明A、B两进程之间存在什么样的制约关系?
•为保证这两个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。
要求给出信号量的含义和初值。
解:
(1)A、B两进程之间存在互斥的制约关系。
因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2)mutex:
用于互斥的信号量,初值为1。
•进程A 进程B
•... …
•P(mutex) P(mutex)
使用打印机 使用打印机
•V(mutex) V(mutex)
… …
11有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:
(1)为描述读者的动作,应编写几个程序,设置几个进程?
(2)试用P、V操作描述读者进程之间的同步关系。
分析:
•读者的动作都是一样的:
登记进入阅览室,阅读,撤消登记离开阅览室,因此可写一个程序,设n个进程。
•读者共享的资源有阅览室的座位和登记表,因此诸个读者进程之间有两种互斥制约关系,需设2个信号量来实现:
•seat:
用于实现诸读者对阅览室的空闲座位的互斥竞争,初值为100;
•mutex:
用于实现诸读者对登记表的互斥访问,初值为1
(1)可写一个程序,设n个进程
(2)读者进程readeri(i=1,2,3,……)描述如下:
P(seat); /*申请空座位*/
P(mutex); /*申请登记*/
登记;
V(mutex) /*允许其他读者登记*/
阅读;
P(mutex); /*申请撤消登记*/
撤消登记;
V(mutex); /*允许其他读者撤消登记*/
V(seat); /*释放座位,允许他人进入*/
第三章
1.设有两个优先级相同的进程P、Q,各自运行的程序如下
进程P
P1Y:
=1;
P2Y:
=Y+Z;
P3V(S1);
P4Z:
=Y+3;
P5P(S2);
P6Y:
=Z+Y;
进程Q
Q1X:
=1;
Q2X:
=X+1;
Q3P(S1);
Q4X:
=X+Y;
Q5V(S2);
Q6Z:
=X+Z;
其中,S1、S2为信号量,初值为0,已知Z=2,若调度程序执行的策略为FIFO,试问执行序列和运行结果是什么?
X=5,Y=14,Z=11
•2.一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。
•每个进程最多使用三个资源。
•若仅考虑这类资源,该系统有无可能产生死锁,为什么?
•答:
不可能。
•因为死锁产生的原因有两点:
系统资源不足或推进顺序不当,在本题中,进程所需的最大资源数为60,而系统共有该类资源65个,其资源数已足够系统内各进程使用。
3.某系统有同类互斥资源m个,供n个进程共享使用。
如果每个进程最多申请x个资源(1≤x≤m),
证明:
当n(x-1)+1≤m时,系统不会发生死锁。
•每个进程最多申请x个资源,所以最坏情况是每个进程都得到了(x-1)个资源,并且现在均需申请最后一个资源。
•此时,系统剩余资源数为m-n(x-1),于是只要系统中至少还有一个资源可供使用,就可以使这n个进程中某个进程得到其所需要的全部资源,并能够继续执行到完成,归还资源可供其他进程使用。
•因而不会发生死锁。
•即只要m-n(x-1)≥1时,系统就一定不会发生死锁。
亦即当n(x-1)+1≤m时,系统不会发生死锁。
1.某进程被唤醒后,立即投入了执行,我们说该系统采用了抢先调度方式,对吗?
(错)
2考虑下列资源分配策略:
●对资源的申请和释放可以在任何时刻进行。
●如果一进程的资源得不到满足,则检查所有由于等待资源被阻塞的进程。
●如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。
例如:
考虑一个有3类资源的系统,系统所有可用资源(4,2,2)。
进程A申请(2,2,1),可满足;进程B请求(1,0,1),可满足;进程A再请求(0,0,1),则被阻塞。
此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1),而需求向量变成(1,0,1)。
请问:
1这种分配方式会导致死锁吗?
如果会,请举一个例子;如果不会,请说明产生死锁的哪一个条件不成立?
2这种分配方式会导致某些进程的无限等待吗?
为什么?
答:
1该分配方式不会产生死锁,因为它不满足死锁的第三个必要条件,即不剥夺条件。
进程所获得的资源在未使用完毕之前,可以被其他进程剥夺。
这样,系统就不会产生死锁。
2
这种方法会导致某些进程无限期的等待。
因为被阻塞的进程的资源可以被剥夺,所以被阻塞的进程所拥有的资源数量不会因为进程的推进而逐渐增加。
这样,随着进程的推进,并不能保证进程一定能获得它所需要的全部资源。
例如,本题中的进程A申请(2,2,1)后再申请(0,0,1)被阻塞。
此后,进程C又剥夺了进程A的一个资源,使得进程A的资源变为(1,2,1),其需求向量为(1,0,1)。
之后,若再创建的进程总是只申请第一和第三类资源,总是占有系统所剩余的第一和第三类资源的全部,且不被阻塞,那么,进程A将会无限期的等待。
3.一台计算机有8台磁带机。
它们由N个进程竞争使用,每个进程可能需要3台磁带机。
请问N为多少时,系统没有死锁的危险。
说明其原因?
答:
当N<=3的时候,系统没有死锁的危险。
因为当N=3时,最坏的情况下有两个进程可获得3台磁带机,一个进程获得2台磁带机,此时该进程只需要等待另两个进程之一执行完毕,释放其所拥有的磁带机即可,所以不会产生死锁。
当N=4时,最坏的情况下每个进程都获得2台磁带机,此时,没有一个进程可以获得足够的资源执行完毕,所有进程均在等待其它进程释放资源,形成死锁。
4假定某计算机系统有R1设备3台,R2设备4台,它们被P1、P2、P3、P4这4个进程共享,且已知这4个进程均以下面所示的顺序使用现有设备。
申请R1申请R2申请R1释放R1释放R2释放R1
请问:
1)说明系统运行过程中是否有产生死锁的可能?
为什么
2)如果有,请举例,并画出该死锁状态的进程-资源图。
答:
1)本题中,系统有R1设备3台,R2设备4台。
系统的4个进程需要使用的资源数为R1设备各2台,R2设备各1台。
因此,系统资源不足,满足进程死锁的第一个原因,因此可能会产生死锁。
2)当3个进程都执行完第一步,开始执行第二步,另一个进程会因没有R1资源而阻塞;当3个进程都执行完第二步再执行第三步时,全部阻塞,系统进入死锁状态。
5.某系统有R1、R2、R3共3类资源,在T0时刻,P1、P2、P3、P4这4个进程对资源的占用和需求情况如下表,此刻系统的可用资源向量为(2,1,2),问题:
1)将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来;
2)如果此时P1和P2均发出资源请求向量request(1,0,1),为了保持系统安全性,应该如何分配资源给这两个进程?
说明你所采用的策略的原因。
3)如果2)中两个请求立刻得到满足后,系统此刻是否处于死锁状态?
MaxidemandCurrentalloca
P1322100
P2613411
P3314211
P4422002
6Dijkstra1995年提出的银行家算法的主要思想是什么?
它能够用来解决实际中的死锁问题吗?
为什么?
银行家算法代表解决死锁问题的一种策略。
在实施资源分配之前,先计算该次分配后摒生的状态是否安全,即是否存在一种顺序,使得所有的进程都能执行结束。
若安全则分配,否则拒绝分配。
该算法虽然具有很好的理论意义,但在实际系统中却很难使用。
因为算法所假设的条件,如进程预知申请资源的最大数目,系统中进程数目固定大呢感,在现实环境中并不成立。
所以,由不成立的前提导出的结果很难说明其正确性。
7.在什么条件下,一个进程的解封(即由状态Blocked变迁为Ready)会立即引起一个进程的被调度(即由状态Ready变迁为Running)?
•例如,当CPU空闲,就绪队列为空,那么一个进程由于解除封锁而进入就绪时,就会立即引起调度。
•又比如,系统实行的剥夺式调度策略,当一个比运行进程优先级高的进程进入就绪队列时,就进行重新调度。
那么如果解封进程的优先级高于当前运行进程的优先级,显然它的解封势必引起一次重新调度
第五章
1DMA控制方式与通道控制方式有什么不同?
在DMA控制方式中,DMA控制器控制设备和主存之间成批
地进行数据交换,而不用CPU干预。
这样既大大减轻了CPU的负担,也使I/O数据传送速度大大提高。
这种控制方式应用于块设备的数据传输。
通道控制方式与DMA控制方式类似,也是一种实现设备
与内存直接交换数据的控制方式。
在通道控制方式中,CPU只需要发出启动指令,指出通道相应的操作和I/O设备,该指令就可以启动通道并从该通道中调出相应的通道程序执行。
与DMA方式相比,通道方式所需要的CPU干预更少,且可以做到一个通道控制多台设备,从而更进一步减轻CPU的负担。
2.在采用SPOOLing技术的系统中,用户的打印数据首先被送到(a)
A磁盘固定区域
B内存固定区域
C终端
D打印机
3.什么是DMA方式?
它与中断方式的主要区别是什么?
•DMA指的是直接存储器访问。
就是用DMA控制器来控制一个数据块的传输,而CPU只需要在一个数据块传输的开始阶段设置好传输所需要的控制信息,并在传输结束阶段做进一步处理即可的传输控制方式,其基本思想是在设备和内存间开辟一个直接的数据传输的通路
•中断驱动控制方式是每个数据传输后即发出中断,而DMA是在一批数据传输完毕后才发中断;中断控制方式的传输是由CPU控制的,而DMA方式中CPU只在数据传输的开始和结束阶段参与控制。
因此,DMA方式相比于中断方式,通过硬件的增加大大减少了中断的次数。
4.试给出两种I/O调度算法?
并说明为什么在I/O调度中不能采用时间片轮转法
•先来先服务算法和优先级高者优先算法
•原因:
1某些设备的固有属性决定了不能采用时间片轮转法,如打印机
2I/O设备的速度慢,I/O设备间来回切换的开销很大
3各个I/O设备间的数据传输速率差别较大,时间片的大小不好确定。
5.一个快速SCSI-II总线上的磁盘转速为7200RPM,每磁道160个扇区,每扇区512个字节。
那么,理想状态下,其数据传输率为(c)
A7200*160KB/S
B7200KB/S
C9600KB/S
D19200KB/S
6.CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用(b)
A并行技术
B缓冲技术
C虚存技术
D覆盖技术
7.磁盘调度算法中,(b)算法可能会随时改变磁头的移动方向。
A电梯调度
B最短寻道时间优先
C扫描
D单向扫描
8.当前磁盘读写位置位于柱面号20,此时有多个磁盘请求以下列柱面号顺序送至磁盘驱动器:
10,22,20,2,40,6,38。
寻到时,移动一个柱面需要6ms,按下列三种算法计算所需要的寻道时间(柱面移动顺序及总寻道时间)