2010年硕士研究生入学考试计算机专业基础综合试题(操作系统部分)
一、单项选择题(1~40题,每题2分共80分。在每个小题给出的4个选项中选择正确答案)
(23)下列选项中,操作系统提供给应用程序的接口是__。
A.系统调用
B.中断
C.库函数
D.原语
【分析】考查操作系统的接口。
系统调用是能完成特定功能的子程序,当应用程序要求操作系统提供某种服务时,就调用具有相应功能的系统调用。库函数则是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏访管指令的细节,使系统调用更为方便抽象。库函数属于用户程序而非系统调用。
【答案】A
(24)下列选项中,导致创建新进程的操作是__。
Ⅰ.用户登录成功 Ⅱ.设备分配 Ⅲ.启动程序执行
A.仅Ⅰ和Ⅱ
B.仅Ⅱ和Ⅲ
C.仅Ⅰ和Ⅲ
D.Ⅰ、Ⅱ、Ⅲ
【分析】考查引起创建进程的事件。引起进程创建的事件有:用户登录、作业调度、提供服务、应用请求等。对于本题的选项:
Ⅰ.用户登录成功:在分时系统中,用户登录成功,系统将为终端建立一个进程。
Ⅱ.设备分配:是通过在系统中设置相应的数据结构实现的,不需要创建进程。
Ⅲ.启动程序执行:是典型的引起进程创建的事件。
【答案】C
(25)设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是__。
A.0、1
B.1、0
C.1、2
D.2、0
【分析】考查信号量机制的概念。
信号量表示当前的可用相关资源数。当信号量K>0时,表示还有K个相关资源可用;而当信号量K<0时,表示有K个进程在等待该资源。所以该资源可用数是1,等待该资源的进程数是0。
【答案】B
(26)下列选项中,降低进程优先级的合理时机是__。
A.进程的时间片用完
B.进程刚完成I/O,进入就绪队列
C.进程长期处于就绪队列中
D.进程从就绪状态转为运行状态
【分析】考查进程调度。
A中进程时间片用完,从执行态进入就绪态应降低优先级,以让其他就绪进程被调度进入执行状态。B中进程刚完成I/O,进入就绪队列后应该等待被处理机调度,故应提高优先级;C中有类似的情况;D中不应该在此时降低,应该在时间片用完后降低。
【答案】A
(27)进行P0和P1的共享变量定义及其初值为__。
boolean flag[2];
int turn=0;
flag[0]=false;flag[1]=false;
若进行P0和P1访问临界资源的类C代码实现如下:
void p0()//进程p0
{while(TRUE)
{flag[0]=TRUE;turn=1;
While(flag[1]&&(turn==1))
临界区;
flag[0]=FALSE;
}
}
void p1()//进程p1
{while(TRUE)
{flag[0]=TRUE;turn=0;
While(flag[0]&&(turn==0));
临界区;
flag[1]=FALSE;
}
}
则并发执行进程P0和P1时产生的情况是__。
A.不能保证进程互斥进入临界区,会出现“饥饿”现象
B.不能保证进程互斥进入临界区,不会出现“饥饿”现象
C.能保证进程互斥进入临界区,会出现“饥饿”现象
D.能保证进程互斥进入临界区,不会出现“饥饿”现象
【分析】考查进程间通信与Peterson算法。
此算法实现互斥的主要思想在于设置了一个turn变量,用于进程间的互相“礼让”。
一般情况下,如果进程P0试图访问临界资源,设置flag[0]=true,表示希望访问。此时如果进程P1还未试图访问临界资源,则flag[1]在进程上一次访问完临界资源退出临界区后已设置为false。所以进程P0在执行循环判断条件时,第一个条件不满足,进程P0可以正常进入临界区,且满足互斥条件。需要考虑的是两个进程同时试图访问临界资源的情况。注意turn变量的含义:进程在试图访问时,首先设置自己的flag变量为true,表示希望访问;但又设置turn变量为对方的进程编号,表示“礼让”,因为在循环判断条件中turn变量不是自己的编号时就循环等待。这时两个进程就会互相“礼让”,但是这不会造成饥饿,因为turn变量会有一个最终值,所以必定有进程可以结束循环进入临界区。实际情况是,先做出“礼让”的进程先进入临界区,后做出“礼让”的进程则需要循环等待。
【答案】D
(28)某个基于动态分区存储管理的计算机,其主存容量为55Mb(初始为空),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配15Mb、分配30Mb、释放15Mb、分配8Mb、分配6Mb,此时主存中最大空闲分区的大小是__。
A.7Mb
B.9Mb
C.10Mb
D.15Mb
【分析】考查动态分区分配。
需对动态分区分配的4种算法加以理解。最佳适配算法是指:每次为作业分配内存空间时,总是找到能满足空间大小需要的最小的空闲分区给作业。可以产生最小的内存空闲分区。图B-1显示了这个过程的主存空间的变化:
图 B-1 最佳适配算法分配示意图
图中,灰色部分为分配出去的空间,白色部分为空闲区。这样容易发现,此时主存中最大空闲分区的大小为9Mb。
【答案】B
(29)某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为210字节,页表项大小为2字节,逻辑地址结构为:
逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是__。
A.64
B.128
C.256
D.512
【分析】考查分页存储管理方式。
页大小为210字节,页表项大小为2字节,采用二级页表,一页可存放29个页表项,要使表示整个逻辑地址空间的页目录表中包含的个数最少,则需要216/29=128个页面保存页表项,即页目录表中包含的个数最少为128。
【答案】B
(30)设文件索引节点中有7个地址项,其中4个地址为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项的大小为4字节。若磁盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件最大长度是__。
A.33KB
B.519KB
C.1057KB
D.16513KB
【分析】考查磁盘文件的大小性质。
因为每个磁盘索引块和磁盘数据块大小均为256字节,所以4个直接地址索引指向的数据块大小为4×256字节。2个一级间接索引共包括2×(256÷4)个直接地址索引,即其指向的数据块大小为2×(256÷4)×256字节。1个二级间接地址索引所包含的直接地址索引数为(256÷4)×(256÷4),即其所指向的数据块大小为(256÷4)×(256÷4)×256字节。即7个地址项所指向的数据块总大小为:
4×256+2×(256÷4)×256+(256÷4)×(256÷4)×256=10823字节=1057KB。
【答案】C
(31)设置当前工作目录的主要目的是__。
A.节省外存空间
B.节省内存空间
C.加快文件的检索速度
D.加快文件的读写速度
【分析】考查当前目录的作用。
当前目录又称为工作目录,进程对各个文件的访问都相对于当前目录进行,所以检索速度要快于检索全路径名。
【答案】C
(32)本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是__。
A.命令解释程序
B.中断处理程序
C.系统调用服务程序
D.用户登录程序
【分析】考查中断处理。
键盘是典型的通过中断I/O方式工作的外设,当用户输入信息时,计算机响应中断并通过中断处理程序获得输入信息。
【答案】B
二、综合应用题(41~47小题,共70分)
(45)(7分)假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16 384个磁盘的空闲状态。
1)请说明在上述条件如何进行磁盘块空闲状态的管理。
2)设某个单面磁盘的旋转速度为6000转/分钟,每个磁道有100个扇区,相邻磁道间的平均移动的时间为1毫秒。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如图B-2所示),磁道号的请求队列为50、90、30、120,对请求队列中的每个磁道需要读取1个随机分布的扇区,则读完这个扇区共需要多少时间?需要给出计算过程。
图 B-2 单面磁盘
3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。
【分析】1)用位图表示磁盘的空闲状态。每一位表示一个磁盘块的空闲状态,共需要16 384/32=512个字=512×4个字节=2KB,正好可以放在系统提供的内存中。
2)采用CSCAN调度算法,访问磁道的顺序和移动的磁道数如表B-2所示。
移动的磁道数为20+90+20+40=170,故总的移动磁道时间为170毫秒。
由于转速为6000转/分钟,则平均旋转延迟为5毫秒,总的旋转延迟时间=20毫秒。
由于转速为6000转/分钟,则读取一个磁道上一个扇区的平均读取时间为0.1毫秒,总的读取扇区的时间平均读取时间为0.1毫秒,总的读取扇区所花的总时间为0.4毫秒。
综上,读取上述磁道上所有扇区所花的总时间为190.4毫秒。
3)采用FCFS调度策略更高效。因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。
(46)(8分)设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。某进程最多需要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框。在时刻260前的该进程访问情况如表B-3所示(访问位即使用位)。
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:
1)该逻辑地址对应的页号是多少?
2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址?要求给出计算过程。
3)采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针按顺时针方向移动,且指向当前2号页框,示意图如图B-3所示)。
图 B-3 CLOCK算法示意图
【分析】1)因17CAH=(0001011111001010),表示页号的位为左边6位,所以页号为000101B=5。
2)根据FIFO算法,需要替换装入时间最早的页,故需要置换装入时间最早的0号页,即将5号页装入7号页框中,所以物理地址为(0001111111001010)换算成十六进制,为1FCAH。
3)根据CLOCK算法,如果当前指针所指页框的使用位为0,则替换该页;否则将使用位清零,并将指针指向下一个页框,继续查找。根据题设和示意图,将从2号页框开始,前4次查找页框号的顺序为2、4、7、9,并将对应页框的使用位清零。在第5次查找中,指针指向2号页框,因2号页框的使用位为0,故淘汰2号页框对应的2号页,把5号页装入2号页框中,并将对应使用位设置为1,所以对应的物理地址为(0000101111001010),换算成十六进制,为0BCAH。