某系统有R1设备3台,R2设备4台,它们被P1、P2、P3和P4进程共享,且已知这4个进程均按以下顺序使用设备: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1 系统运行中可能产生死锁吗?为什么?

题目

某系统有R1设备3台,R2设备4台,它们被P1、P2、P3和P4进程共享,且已知这4个进程均按以下顺序使用设备: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1 系统运行中可能产生死锁吗?为什么?

参考答案和解析
正确答案: 系统四个进程需要使用的资源数为R1各2台,R2各1台。可见资源数不足,同时各进程申请资源在先,有可能产生死锁发生的四个条件,故系统可能产生死锁。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:includeusing namespace std;{public:TestClass(int r1,int r2){R1=r1;R2

有以下程序: #include<iostream> using namespace std; { public: TestClass(int r1,int r2) { R1=r1; R2=r2; } void print(); void print() const; private; int R1,R2; }; void TestClass::print() { cout<<R1<<","<<R2<<end1; } void Testclass::print() const cout<<R1<<<<","<<R2<<end1; } int main() { TestClass a(5,4); const TestClass b(20,52); b.print(); return 0; } 执行后的输出结果是( )。

A.5,4

B.20,52

C.0,0

D.4,5


正确答案:B

第2题:

有以下程序:includeusing namespace std;class R{public:R(int r1,int r2){R1=r1;R2=

有以下程序: #include<iostream> using namespace std; class R { public: R(int r1,int r2) { R1=r1; R2=r2; } void print(); void print0const; private: int R1,R2; }; void R::print() { cout<<R1<<","<<R2<<endl; } void R::print() const { cout<<Rl<<","<<R2<<endl; } int main() { R a(5,4); const R b(20,52); b.print(); return 0; } 执行后的输出结果是( )。

A.5,4

B.20,52

C.0,0

D.4,5


正确答案:B

第3题:

两个电阻R1和R2并联,R1=20Ω,R2=30Ω,外接110V直流电压。求电路的总电阻R和各支路电流I1、I2及R1、R2上的发热功率P1、P2。


正确答案:

第4题:

在一个单CPU的计算机系统中,有3台不同的外部设备R1、R2、R3和3个进程P1、P2、P3。系统 CPU调度采用可剥夺式优先级的进程调度方案,3个进程的优先级、使用设备的先后顺序和占用设备时间如表6-1所示。

假设操作系统的开销忽略不计,从3个进程同时投入运行到全部完成,设备R1的利用率约为(26)。其中,设备的利用率是指该设备的使用时间与进程组全部完成所占用时间的比率。

A.66%.

B.50%.

C.25%.

D.17%.


正确答案:D
解析:在多道系统中的3个任务(P1、P2和P3)是竞争使用CPU,但可并行使用I/O设备(R1、R2和R3)。各个任务运行的分析过程如图6-10所示。图中水平粗实线表示某进程实际执行过程所占用的CPU或I/O设备的时间。对图6-10分析如下。1)t0~t1时段(20ms):结合表6-1中3个进程使用设备的先后顺序,因此进程调度程序先选中进程P3占用CPU的使用权,进程P1占用R1设备使用权,进程P2占用R3设备使用权。2)t1~t2时段(20ms):由于进程的优先级P1>P3且系统CPU调度采用可剥夺式优先级的进程调度方案,CPU使用权在这一进段将转让给进程P1,进程P1占用CPU的使用权20ms,进程P2继续占用R3设备20ms,进程P3因CPU使用权被剥夺而处于就绪状态。3)t2~t3时段(20ms):进程P1占用CPU使用权终止后,进入占用R3设备的时段。由于进程的优先级P2>P3,进程P2使用完R3设备后,进入占用CPU的使用权时段。进程P3仍处于就绪状态。4)t3~t4时段(10ms):进程P1在t3时刻运行完毕。进程P2继续占用CPU的使用权。进程P3仍处于就绪状态。5)t4~t5时段(10ms):进程P2占用CPU使用权终止后,进入占用R2设备的时段。进程调度程序重新调度进程P3占用CPU的使用权。6)t5~t6时段(10ms):进程P3占用CPU使用权终止后,进入占用R2设备的时段。由于I/O设备R2可被进程并行使用,因此进程P2、P3在这一时段将并行占用R2设备。系统中也没有其他待运行的进程,此时段CPU将处于空闲状态。7)t6~t7时段(10ms):进程P2在t6时刻运行完毕。进程P3继续占用R2设备。此时段CPU仍处于空闲状态。8)t7~t8时段(20ms):进程P3的I/O操作任务完成后,进程调度程序将CPU使用权分配给它。进程P3占用CPU20ms后运行完毕。

第5题:

听力原文:[解析] 有以下程序:includeusing namespace Std;Class R{public:R(int r1,i

听力原文:[解析]

有以下程序: #include<iostream> using namespace Std; Class R {public: R(int r1,int r2) {R1=r1; R2=r2;} void print(); void print()const; private: int R1,R2;}; roid R::print() {cout<<R1<<“,”<<R2<<endl;} void R::print()con

A.5,4

B.20,52

C.0,0

D.4,5


正确答案:B
解析: 使用const关键字修饰的对象成为常对象,题中对象b被声明为类R的常对象。使用const关键宇说明的成员函数称为常成员函数,类R中用const重载了函数print()。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在常成员函数部分也要带const关键宇;常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。

第6题:

有以下程序:includeusing namespace std;class R{ public: R(int r1,int r2) {R1=r1;

有以下程序: #include<iostream> using namespace std; class R { public: R(int r1,int r2) { R1=r1; R2=r2; } void print(); void print()const; private: int R1,R2; }; void R::print() { cout<<R1<<","<<R2<<end1; } void R::print()const { cout<<R1<<","<<R2<<end1; } int main() { R a(5,4); const R b(20,52); b.print(); return 0; } 执行后的输出结果是( )。

A.5,4

B.4,5

C.20,52

D.52,20


正确答案:C

第7题:

已知R0=0,R1=10000,R2=20000,指令ADD R0,R1,R2执行后,R0=___【13】____,R1=___【14】____。


正确答案:30000 0x7530 10000 0x2710

第8题:

设关系R1有r1个元组,关系R2有r2个元组,则关系R1和R2连接后的结果关系的元组数目是 ______ 个。

A.r1+r2

B.ri*r2

C.≤r1*r2

D.≥r1*r2


正确答案:C
解析:R1和R2两个关系的笛卡尔积的元组数目是r1*r2。连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组,因此连接以后,结果关系的元组数目应小于笛卡尔积的元组数目。

第9题:

有以下程序 include using namespace std; class R{ public: R(int r1,int r2){R1=r

有以下程序

#include <iostream>

using namespace std;

class R

{

public:

R(int r1,int r2)

{

R1=r1;

R2=r2;

}

void print();

void print()const;

private:

iht R1,R2;

};

A.5,4

B.20,52

C.0,0

D.4,5


正确答案:B
解析:使用const关键字修饰的对象成为常对象,题中对象b被声明为类R的常对象。使用const关键字说明的成员函数称为常成员函数,类R中用const重载了函数print()。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在常成员函数部分也要带const关键字:常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数:如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。本题中,b为类R的常对象,通过b只能调用类R的常成员函数print()输出20,52。

第10题:

?某计算机系统中共有3个进程P1、P2和P3,4类资源r1、r2、r3和r4。其中r1和r3每类资源只有1个实例,r2资源有2个实例,r4有3个实例。 当前的资源分配状态如下:

E={<P1,r1>,<P2,r3>,<r2,P1>,<r1,P2>,<r2,P2>,<r3,P3>}

若进程P3申请一个r2类资源,则系统可能会发生下列哪一种现象?

A.A.死锁

B.B.无死锁

C.C.活锁

D.D.饥饿


正确答案:A

更多相关问题