1、下列的选项中,满足短任务优先且不会发生饥饿现象的调度算法是( B )
A、先来先服务 B、高响应比优先
C、时间片轮转 D、非抢占式短任务优先
2、下列选项中,在用户态执行的是( A )
A、命令解释程序 B、缺页处理程序
C、进程调度程序 D、时钟中断处理程序
3、在支持多线程的系统中,进程P创建的若干个线程不能共享的是( D )
A、进程P的代码段 B、进程P中打开的文件
C、进程P的全局变量 D、进程P中某线程的栈指针
4、用户程序发出磁盘I/O请求后,系统的正确处理流程是( B )
A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序
5、某时刻进程的资源使用情况如下表所示。
进程 | 已分配资源 | 尚需资源 | 可用资源 | ||||||
R1 | R2 | R3 | R1 | R2 | R3 | R1 | R2 | R3 | |
P1 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 |
P2 | 1 | 2 | 0 | 1 | 3 | 2 | |||
P3 | 0 | 1 | 1 | 1 | 3 | 1 | |||
P4 | 0 | 0 | 1 | 2 | 0 | 0 |
A、P1,P2,P3,P4 B、P1,P3,P2,P4
C、P1,P4,P3,P2 D、不存在
6、在缺页处理过程中,操作系统执行的操作可能是( D )
I、修改页表 II、磁盘I/O III、分配页框
A、仅I、II B、仅II C、仅III D、I、II和III
7、当系统发生抖动(thrashing)时,可以采取的有效措施是( A )
I、撤销部分进程
II、增加磁盘交换区的容量
III、提高用户进程的优先级
A、仅I B、仅II C、仅III D、仅I、II
8、在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是( B )
A、编辑 B、编译 C、链接 D、装载
9、某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是( B )
A、1500μs、1000μs B、1550μs、1100μs
C、1550μs、1550μs D、2000μs、2000μs
10、有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。
//加1操作 //减1操作
load R1, x //取x的值到寄存器R1中 load R2, x
inc R1 dec R2
store x,R1 //将R1的内容存入x store x,R2
两个操作完成后,x的值为( C )
A、可能为-1或3 B、只能为1
C、可能为0、1或2 D、可能为-1、0、1或2
45、(8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:
cobegin
{
process顾客i
{
从取号机获得一个号码;
等待叫号;
获得服务;
}
process营业员
{
while(TRUE)
{
叫号;
为顾客服务;
}
}
}coend
请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。
【答案解析】此题考察的知识点是共享资源的使用与 P、V操作以防止死锁。
Semaphore seets =10;//表示空余座位数量的资源信号量,初值为10
Semaphore mutex = 1; //管理取号机的互斥信号量,初值为1,表示取号机空闲
Semaphore custom = 0; //表示顾客数量的资源信号量,初值为0
Process 顾客
{
P(seets); //找个空座位
P(mutex); //在看看取号机是否空闲
从取号机取号;
V(mutex) //放开那个取号机
V(custom); //取到号,告诉营业员有顾客
等待叫号;
V(seets) //被叫号,离开座位
接受服务;
}
Process 营业员
{
While(true)
{
P(custom); //看看有没有等待的顾客
叫号;
为顾客服务;
}
}
46、(7分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。
(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说由。为定位文件数据块,需在FCB中设计哪些相关描述字段?
(2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说由。
【答案解析】此题考察的知识点是文件系统中数据的组织方式,及文件的查找。
(1)连续更合适。因为一次写入不存在插入问题,而且写入文件之后不需要修改,连续的数据块组织方式很适合一次性写入磁盘不再修改的情况,同时连续存储相对链式和索引省去了指针的空间开销,支持随机查找,查找速度最快。
(2)FCB集中存储较好。FCB存储有文件的很多重要信息,同时是文件目录的重要组成部分,在检索时,通常会访问对应文件的FCB。如果将FCB集中存储,则可以减少在检索过程中产生的访盘次数,提高检索速度。
2010年考题
1、下列选项中,操作系统提供的给应用程序的接口是( A )
A、系统调用; B、中断; C、库函数; D、原语
2、下列选项中,导致创建新进程的操作是( C )
I、用户登录成功; II、设备分配; III、启动程序执行
A、仅I和II; B、仅II和III; C、仅I和III; D、I、II、III
3、设与某资源相关的信号量初值为3,当前值为1,若M表示(当前)该资源的可用个数,N表示(当前)等待该资源的进程数,则M、N分别是(B)。
A、0,1; B、1,0; C、1,2; D、2,0
4、下列选项中,降低进程优先权的合理时机是(A)。
A、进程的时间片用完; B、进程刚完成I/O,进入就绪队列;
C、进程长期处于就绪队列中; D、进程从就绪状态转为运行态;
5、进程P0和P1的共享变量定义及其初值为。
boolean flag[2];
int turn=0;
flag[0]=faulse; flag[1]=faulse;
若进程P0和P1访问临界资源的类C代码实现如下:
Void P0 () //进程P0
{
while (TURE){
Flag[0]=TURE;turn=1;
While (flag[1]&&(turn==1))
临界区;
Flag[0]=FALSE;
}
}
Void P1 () //进程P1
{
while (TURE){
Flag[1]=TURE;turn=0;
While (flag[0]&&(turn==0))
临界区;
Flag[1]=FALSE;
}
}
则并发执行进程P0和P1时产生的情况是( D )
A、不能保证进程互斥进入临界区,会出现“饥饿”现象;
B、不能保证进程互斥进入临界区,不会出现“饥饿”现象;
C、能保证进程互斥进入临界区,会出现“饥饿”现象;
D、能保证进程互斥进入临界区,不会出现“饥饿”现象;
6、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配(best fit)算法,分配和释放的顺序为:分配15mb,分配30mb,释放15mb,分配8mb,分配6Mb,此时主存中最大空闲分区的大小是(B)
A、7Mb B、9Mb C、10Mb D、15Mb
7、某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为2(10)【2的10次方,下同】字节,页表项大小为2字节,逻辑地址结构为:页目录号 页号 页内偏移量,
逻辑地址空间大小为2(16)页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( B )
A、 B、128 C、256 D、512
8、设文件索引节点中有7个地址项,其中4个地址为直接地址索引,2个地址项是一级间接地址项,1个地址项是二级间接地址索引,每个地址项的大小为4字节,若磁盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件最大长度是( C )
A、33KB B、519KB C、1057KB D、16513KB
9、设当前工作目录的主要目的是( C )
A、节省外存空间 B、节省内存空间
C、加快文件的检索速度 D、加快文件的读写速度
10、本地用户通过键盘登陆系统时,首先获得键盘输入信息的程序时( B )
A.、命令解释程序 B、中断处理程序
C、系统调用程序 D、用户登录程序
大题
45、(7分)假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘的空闲状态
(1)、请说明在上述条件如何进行磁盘块空闲状态的管理。
(2)、设某单面磁盘的旋转速度为每分钟6000转,每个磁道有100个扇区,相临磁道间的平均移动的时间为1ms.
若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号的请求队列为50,90,30,120对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?需要给出计算过程。
答:(1)2KB = 2*1024*8bit = 16384bit。因此可以使用位图法进行磁盘块空闲状态管理,每1bit表示一个磁盘块是否空闲。
(2)每分钟6000转,转一圈的时间为0.01s,通过一个扇区的时间为0.0001s。
根据CSCAN算法,被访问的磁道号顺序为100,120,30,50,90,因此,寻道用去的总时间为:(20 + 90 + 20 + 40)* 1ms = 170ms
总共要随机读取四个扇区,用去的时间为:(0.01*0.5 + 0.0001)*4 = 0.0204s = 20.4ms
所以,读完这个扇区点共需要 170ms + 20.4ms = 190.4ms。
46、(8分)设某计算机的逻辑地址空间和物理地址空间均为KB,按字节编址。某进程最多需要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框。
页号 | 页框号 | 装入时间 | 访问位 |
0 | 7 | 130 | 1 |
1 | 4 | 230 | 1 |
2 | 2 | 200 | 1 |
3 | 9 | 160 | 1 |
(1)、该逻辑地址对应的页号时多少?
(2)、若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址?要求给出计算过程。
(3)、采用时钟(Clock)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针按顺时针方向移动,且指向当前2号页框,示意图如下)
答:
(1)17CAH 转换为二进制为:0001 0111 1100 1010, 页的大小为1KB,所以页内偏移为10位,于是前6位是页号,所以其页号为0001 01,转换为10进制为5,所以,17CAH对应的页号为5。
(2)若采用先进先出置换算法,则被置换出的页号对应的页框号是7,因此对应的二进制物理地址为:0001 1111 1100 1010,转换为16进制位的物理地址为1FCAH。
(3)若采用时钟算法,且当前指针指向2号页框,则第一次循环时,访问位都被置为0,在第二次循环时,将选择置换2号页框对应的页,因此对应的二进制物理地址为:0000 1011 1100 1010,转换为16进制物理地址为0BCAH。
2009 操作系统考研真题及答案
1、单处理机系统中,可并行的是( D )
I、进程与进程 II、处理机与设备 III、处理机与通道 IV、设备与设备
A、I、II、III; B、I、II和IV; C、I、III和IV; D、II、III和IV
2、下列进程调度算法中,综合考虑进程等待时间和执行时间的是( D )
A、时间片轮转调度算法 B、短进程优先调度算法
C、先来先服务调度算法 D、高响应比优先调度算法
3、某计算机系统中 8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( C )
A、2 B、3 C、4 D、5
4、分区分配内存管理方式的主要保护措施是( A )
A、界地址保护 B、程序代码保护 C、数据保护 D、栈保护
5、一个分段存储管理系统中,地址长度为32位,其中段号占8位,则段长最大为( C )
A、2的8次方字节 B、2的16次方字节
C、2的24次方字节 D、2的32次方字节
6、下列文件物理结构中,适合随机访问且易于文件扩展的是( B )
A、连续结构 B、索引结构
C、链式结构且磁盘块定长 D、链式结构且磁盘块变长
7、假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁盘访问序列是( A )
A、110,170,180,195,68,45,35,12 B、110,68,45,35,12,170,180,195
C、110,170,180,195,12,35,45,68 D、12,35,45,68,110,170,180,195
8、文件系统中,文件访问控制信息存储的合理位置是( A )
A、文件控制块 B、文件分配表 C、用户口令表 D、系统注册表
9、设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( B )
A、0、1 B、1、1 C、1、2 D、2、1
10、程序员利用系统调用打开I/O设备时,通常使用的设备标识是( A )
A、逻辑设备名 B、物理设备名 C、主设备号 D、从设备号
45、(7分)三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
【答】
定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区。程序如下:
VAR s1=0,s2=0,empty=N,mutex=1;
Parbegin
P1:begin
X=procedure()
P(empty);
P(mutex);
Put()
if x%2==0
V(s2);
Else
V(S1);
V(mutex);
End;
P2:begin
P(s1);
P(mutex);
getodd();
countodd():=countodd()+1;
V(mutex);
V(empty);
End;
P3:begin
P(s2);
P(mutex);
getoeven();
counteven():=counteven()+1;
V(mutex);
V(empty);
End;
Pareend;
46、(8分)请求分页管理系统中,假设某进程的页表内容如下表所示。页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:
(1)、TLB初始为空;
(2)、地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);
(3)、有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。
设有虚地址访问序列:2362H、1565H、25A5H,请问:
(1)、依次访问上述三个地址,各需多少时间?给出计算过程。
(2)、基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。
页号 | 页框号 | 有效位(存在位) |
0 | 101H | 1 |
1 | -- | 0 |
2 | 154H | 1 |
(1)、根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则页内位移占虚地址的低12位,页号占剩余高位。可得三个虚地址的页号P如下:
2362H:P=2,访问快表10ns(因TLB初始为空),访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10+100+100=210ns。
1565H:P=1,访问快表10ns,缺页,访问页表100ns缺页,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10+100+108+100=318ns。
25A5H:P=2,访问快表10ns(因第一次访问时已将页号放入快表,即可合成物理地址),合成物理地址后访问主存100ns,共计10+100=110ns。
合计210+318+110=628ns
(2)、当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H的物理地址为101565H。