计算机四级网络工程师(操作系统原理)模拟试卷24
操作系统原理——单选题
1.某地区有一座独木桥,每次只允许一个人过桥,因此,桥两边人员过桥时需要采取适当的方式避免冲突。当采用以下单标志算法时:
int Crossbridge(int c) //过桥例程,c=0表示由南向北,c=1表示由北向南
{
int turn=0; //标志
while(turn!=c);//判断
Cross(); //过桥
turn=1-c; //置标志为非
Leave(void); //离开
}
试问,程序中语句while(turn!=c)的作用是(B)
A. 临界资源访问过程中的临界区
B. 临界资源访问过程中的进入区
C. 临界资源访问过程中的退出区
D. 临界资源访问过程中的剩余区
解析:使用单标志算法会设立一个公用整型变量turn,描述允许进程进入临界区的进程标识,每个进程都在进入区循环检查变量turn是否允许本进程进入。while(turn!=c)语句的作用是在进入区检查变量turn,Cross()语句是临界资源访问过程中的临界区,turn=1-c语句是临界资源访问过程中的退出区,Leave(void)语句是临界资源访问过程中的剩余区。故选择B选项。
2.某地区有一座独木桥,每次只允许一个人过桥,因此,桥两边人员过桥时需要采取适当的方式避免冲突。当采用以下单标志算法时:
int Crossbridge(int c) //过桥例程,c=0 表示由南向北,c=1表示由北向南
{
int turn=0; //标志
while(turn!=c);//判断
Cross(); //过桥
turn=1-c; //置标志为非
Leave(void); //离开
}
试问,程序中语句Cross()的作用是(D)
A. 临界资源访问过程中的进入区
B. 临界资源访问过程中的退出区
C. 临界资源访问过程中的剩余区
D. 临界资源访问过程中的临界区
解析:使用单标志算法会设立一个公用整型变量turn,描述允许进程进入临界区的进程标识,每个进程都在进入区循环检查变量turn是否允许本进程进入。while(turn!=c)语句的作用是在进入区检查变量turn,Cross()语句是临界资源访问过程中的临界区, turn=1-c语句是临界资源访问过程中的退出区,Leave(void)语句是临界资源访问过程中的剩余区。故选择D选项。
3.某地区有一座独木桥,每次只允许一个人过桥,因此,桥两边人员过桥时需要采取适当的方式避免冲突。当采用以下单标志算法时:
int Crossbridge(int c) //过桥例程,c=0表示由南向北,c=1表示由北向南
{
int turn=0; //标志
while(turn!=c); //判断
Cross(); //过桥
turn=1-c; //置标志为非
Leave(void); //离开
}
试问,程序中语句turn=1-c的作用是(B)
A. 临界资源访问过程中的临界区
B. 临界资源访问过程中的退出区
C. 临界资源访问过程中的进入区
D. 临界资源访问过程中的剩余区
解析:使用单标志算法会设立一个公用整型变量turn, 描述允许进程进入临界区的进程标识,每个进程都在进入区循环检查变量turn是否允许本进程进入。while(turn!=c)语句的作用是在进入区检查变量turn,Cross()语句是临界资源访问过程中的临界区,turn=1-c语句是临界资源访问过程中的退出区,Leave(void)语句是临界资源访问过程中的剩余区。故选择B选项。
4.某地区有一座独木桥,每次只允许一个人过桥,因此,桥两边人员过桥时需要采取适当的方式避免冲突。当采用以下单标志算法时:
int Crossbridge(int c) //过桥例程,c=0表示由南向北,c=1表示由北向南
{
int turn=0; //标志
while(turn!=c); //判断
Cross(); //过桥
turn=1-c; //置标志为非
Leave(void); //离开
}
试问,程序中语句Leave(void)的作用是( )。(A)
A. 临界资源访问过程中的剩余区
B. 临界资源访问过程中的临界区
C. 临界资源访问过程中的退出区
D. 临界资源访问过程中的进入区
解析:使用单标志算法会设立一个公用整型变量turn,描述允许进程进入临界区的进程标识,每个进程都在进入区循环检查变量turn是否允许本进程进入。while(turn!=c)语句的作用是在进入区检查变量turn,Cross()语句是临界资源访问过程中的临界区,turn=1-c语句是临界资源访问过程中的退出区,Leave(void)语句是临界资源访间过程中的剩余区。故选择A选项。
5.进程互斥的硬件方法是通过处理器指令实现的。下列程序是使用硬件互斥的方法实现的银行保险库的进出例程
boolean lock=FALSE;//标志
int passwd(void) //进库例程
{ while TS(&lock); //判断
save&fatch(void); //存取
lock=FALSE;//置标志为非
leave(void); //离开
}
请回答:
while TS(&lock)语句的作用是( )。(A)
A. 临界资源访问过程中的进入区
B. 临界资源访问过程中的临界区
C. 临界资源访问过程中的退出区
D. 临界资源访问过程中的剩余区
解析:利用TS指令实现的进程互斥算法是,每个临界资源设置一个公共布尔变量lock,表示资源的两种状态:TURE表示正在被占用,FLASE表示空闲,初值为FLASE。While TS(&lock)语句的作用是在进入区检查变量turn,save&fatch(void)语句是临界资源访问过程中的临界区,lock=FALSE语句是临界资源访问过程中的退出区,Leave(void)语句是临界资源访问过程中的剩余区。故选择A选项。
6.在使用信号量进行共享资源访问控制时,必须成对使用PV原语。如果进程遗漏了P原语,会造成(A)
A. 不能保证互斥访问临界区
B. 引起其他进程饥饿
C. 该进程只能同步进入临界区
D. 该进程无法退出临界区
解析:依据对临界区访问过程的分析,信号量机制中的P源语相当于进入区操作,V源语相当于退出区操作。如果进程遗漏了P原语,会造成不能保证互斥访问临界区。故选择A选项。
7.进程互斥的硬件方法是通过处理器指令实现的。下列程序是使用硬件互斥的方法实现的银行保险库的进出例程
boolean lock=FALSE;//标志
int passwd(void) //进库例程
{ while TS(&lock); //判断
save&fatch(void);//存取
lock=FALSE; //置标志为非
leave
本文档预览:3600字符,共9932字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载