2011年硕士研究生入学考试计算机专业基础综合试题(操作系统部分)
一、单项选择题(1~40题,每题2分共80分。在每个小题给出的4个选项中选择正确答案)
(22)某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O时间占整个CPU时间的百分比至少是__。
A.0.02%
B.0.05%
C.0.20%
D.0.50%
【分析】每秒200次查询,每次500个周期,则每秒最少200×500=100000个周期,100000÷50M=0.20%。
【答案】C
(23)下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是__。
A.先来先服务
B.高响应比优先
C.时间片轮转
D.非抢占式短任务优先
【分析】响应比=作业响应时间/作业执行时高响应比算法,在等待时间相同情况下,作业执行时间越少,响应比越高,优先执行,满足短任务优先。随着等待时间增加,响应比也会变大,执行机会就增大,所以不会产生饥饿现象。
【答案】B
(24)下列选项中,在用户态执行的是__。
A.命令解释程序
B.缺页处理程序
C.进程调度程序
D.时钟中断处理程序
【分析】缺页处理程序和时钟中断都属于中断,在核心态执行。进程调度属于系统调用,在核心态执行。命令解释程序属于命令接口,它在用户态执行。
【答案】A
(25)在支持多线程的系统中,进程P创建的若干个线程不能共享的是__。
A.进程P的代码段B.进程P中打开的文件
C.进程P的全局变量D.进程P中某线程的栈指针
【分析】进程中某线程的栈指针,对其他线程透明,不能与其他线程共享。
【答案】D
(26)用户程序发出磁盘I/O请求后,系统的正确处理流程是__。
A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序
【分析】输入/输出软件一般从上到下分为4个层次:用户层、与设备无关软件层、设备驱动程序以及中断处理程序。
【答案】B
(27)某时刻进程的资源使用情况如表B-4所示,此时的安全序列是__。
A.P1、P2、P3、P4
B.P1、P3、P2、P4
C.P1、P4、P3、P2
D.不存在
【分析】使用银行家算法得,不存在安全序列。
【答案】D
(28)在缺页处理过程中,操作系统执行的操作可能是__。
Ⅰ.修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ
B.仅Ⅱ
C.仅Ⅲ
D.Ⅰ、Ⅱ和Ⅲ
【分析】缺页中断调入新页面,肯定要修改页表项和分配页框,所以Ⅰ、Ⅲ可能发生,同时内存没有页面,需要从外存读入,会发生磁盘I/O。
【答案】D
(29)当系统发生抖动(thrashing)时,可用采取的有效措施是__。
Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级
A.仅Ⅰ
B.仅Ⅱ
C.仅Ⅲ
D.仅Ⅰ、Ⅱ
【分析】撤销部分进程可以减少所要用到的页面数,降低频繁的页面置换次数,防止抖动。交换区大小和进程优先级都与抖动无关。
【答案】A
(30)在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是__。
A.编辑
B.编译
C.链接
D.装载
【分析】源地址被编译成目标程序时,会形成逻辑地址。
【答案】B
(31)某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析,假设一个缓冲区与一个磁盘块的大小相同,将一个磁盘块读入缓冲区的时间为100微秒(us),将缓冲区的数据传送到用户区的时间是50us,CPU对一块数据进行分析的时间为50us。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是__。
A.1500us、1000us
B.1550us、1100us
C.1550us、1550us
D.2000us、2000us
【分析】单缓冲区下,当上一个磁盘块从缓冲区读入用户区完成时,下一磁盘块才能开始读入。当最后的一个磁盘块从缓冲区读入用户区完成时,所用的时间为:150×10=1500us。加上处理最后一个磁盘块的时间50us,读入并分析完该文件的时间为1550us。双缓冲区下,不需要等待磁盘块从缓冲区读入用户区,读入并分析完该文件的时间为100×10+100us。
【答案】B
(32)有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。两个操作完成后,x的值__。
//加1操作
load R1,x//取x到寄存器R1中
inc R1
store x,R1//将R1的内容存入x
//减1操作
load R2,x
dec R2
store x,R2
A.可能为-1或3
B.只能为1
C.可能为0、1或2
D.可能为-1、0、1或2
【分析】将P1中3条语句编号为1、2、3,P2中3条语句编号为4、5、6。依次执行1、2、3、4、5、6得结果1,依次执行1、2、4、5、6、3得结果2,执行4、5、1、2、3、6得结果0。不存在得出结果为-1的执行序列。
【答案】C
二、综合应用题(41~47小题,共70分)
(45)(8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:
cobegin
{
process 顾客i
{
从取号机获取一个号码:
等待叫号;
获取服务;
}
process 营业员
{
while(TRUE)
{
叫号;
为客户服务;
}
}
}
coend
请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。
要求写出完整的过程,说明信号量的含义并赋初值。
【分析】完整的同步和互斥过程如下:
semaphore seets=10;//有10个座位的资源信号量
mutex=1;//取号机互斥信号量
haveCustom=0;//顾客与营业员同步,无顾客时营业员休息
process 顾客
{
P(seets);//等空位
P(mutex);//申请使用取号机
从取号机上取号;
V(mutex);//取号完毕
V(haveCustom);//通知营业员有新顾客到来
等待营业员叫号;
V(seets);//离开座位
接受服务;
}
process 营业员
{
while(True)
{
P(haveCustom);//没有顾客则休息
叫号;
为顾客服务;
}
}
(46)(7分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。
1)在连续、链式、索引3种文件的数据块组织方式中,哪种更合适?要求说明理由。为了定位文件数据块,需要在FCB中设计哪些相关描述字段?
2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。
【分析】
1)采用连续方式更合适,因为一次写入不存在插入问题。该方式可以满足一次性写入磁盘,减少空间开销,并且查找读取速度是最快的。
2)FCB集中存储好。目录是存在磁盘上的,所以检索目录的时候需要访问磁盘,速度很慢;集中存储是将文件控制块的一部分数据分解出去,存在另一个数据结构中,而在目录中仅留下文件的基本信息和指向该数据结构的指针,这样有效缩短减少了目录的体积,减少了目录在磁盘中的块数,减少了检索目录时读取磁盘的次数,加快了检索目录的速度。