详解:http://page.renren.com/601627712/channel-noteshow-891674076?pid=601627712
2009年计算机专业考研真题-os
23. 单处理机系统中,可并行的是( D )。
I. 进程与进程 II. 处理机与设备
III. 处理机与通道 IV. 设备与设备
A. I、II和III B. I、II和IV
C. I、III和IV D. II、III和IV
解析:
1、在单处理机系统中,进程是可以并发的,但是不能并行。
2、现代操作系统的形成正是通道产生的结果,通道是可以独立于cpu控制输入输出的设备,在处理机进行运算时,通道可同时进行I/O操作,因此二者是并行的。
3、处理机运算时,外设可同时进行输入、输出的操作,异常也产生了并行。
4、显然,设备和设备之间也是可以并行的。
补充:通道的概念:
1、计算机系统中传送信息和数据的装置。
2、主要有主存储器读写通道和输入、输出通道。
3、能接收中央处理机的命令,独立执行通道程序,协助中央处理机控制与管理外部设备。
4、一个独立于CPU的专门I/O控制的处理机,控制设备与内存直接进行数据交换。
5、它有自己的通道命令,可由CPU执行相应指令来启动通道,并在操作结束时向CPU发出中断信号。
6、通道指令的格式一般由:操作码,记数段,内存地址段,结束标志组成。
7、 一个系统中可设立三种类型的通道:字节多路通道、数组多路通道、选择通道。
25. 某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( C)。
A. 2 B. 3 C. 4 D. 5
解析:考察死锁的条件
考虑最极端的情况,因为每个进程最多需要3台打印机,假设每个进程已经占有了两个打印机,那么只要还有多的打印机,总能满足达到3台的条件。将8台打印机分给k个进程,每个进程有2台打印机。
这种情况是极端情况,k为4,不死锁需要2k+1<8,最多支持3个进程并发。注意问的如果是"不会死锁的最大值"。4个以上就死锁,所以会死锁的最小值是4。
此时,四个进程由于都缺少一台打印机而不能继续执行,出现了死锁的状况。
【解析】C。假设k=3,3个进程共享8台打印机,每个进程最多可以请求3台打印机,
若3个进程都分别得到2台打印机,系统还剩下2台打印机,接下去无论哪个进程申请打印
机,都可以得到满足,3个进程都可以顺利执行完毕,这种情况下不会产生死锁。假设k=4,
4个进程共享8台打印机,都得不到满足,产生了互相等待,可能会发生死锁。
补充:
这类型的题通常数字不大,可以凭经验尝试出正确答案,这样会快一些,不过还是给出
对应计算公式,以便大家加深理解和满足对于题目的成就感。假设n为每个进程所需的资源
数,m为进程数,A为系统的资源数。则满足(n-1)×m≥A的最小整数m即为可能产
生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已
经分配,因此死锁。
31. 设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( B )。
A. 0、1 B. 1、1 C. 1、2 D. 2、1
【解析】B。在Unix/Linux系统中,创建符号链接文件时,该文件有自己的inode结构,
而硬链接文件和目标文件共享inode结构;
在删除文件时,引用计数器减1,当引用计数器为0时,才真正删除,并释放inode结构。
创建文件F2后,其文件引用计数器为1;创建文件F3后,其文件引用计数器为2,删除文件F1,引用计数器减1,此时文件F3引用计数器为1。所以F2和F3两个文件引用计数器都是1。
Linux软连接和硬链接
1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】
硬连接指通过索引节点来进行连接。
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。
在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。
其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。
它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
2.通过实验加深理解
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。
[oracle@Linux]$ echo "I am f1 file" >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效
3.总结
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。
32. 程序员利用系统调用打开I/O设备时,通常使用的设备标识是
A. 逻辑设备名 B. 物理设备名 C. 主设备号 D. 从设备号
解析:
无论有多少物理设备都要映射为逻辑设备使用。这些设备在程序员看来是没有差别的。
【26】分区分配内存管理方式的主要保护措施是()。
A.界地址保护 B.程序代码保护
C.数据保护 D.栈保护
【解析】A。B、C、D都不是存储保护的措施。使用界限寄存器可以实现分区分配内存
管理的存储保护。概念题,记住概念即可。
2010年计算机专业考研真题-os
09 09年真题
选择题:
【23】单处理机系统中,可并行的是()。
Ⅰ.进程与进程 Ⅱ.处理机与设备
Ⅲ.处理机与通道Ⅳ.设备与设备
A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ、Ⅱ和Ⅳ
C.Ⅰ、Ⅲ和Ⅳ D.Ⅱ、Ⅲ和Ⅳ
【解析】D。单处理机即只有一个处理机(此处不包含多核的情况),某时刻处理机同
时只能处理一个进程,所以进程与进程之间不能并行执行。处理机、通道、设备都能并行执
行,比如同时打印(设备)、计算(处理机)、传输数据(通道控制内存与外存间数据交换)。
【24】下列进程调度算法中,综合考虑进程等待时间和执行时间的是()。
A.时间片轮转调度算法 B.短进程优先调度算法
B.先来先服务调度算法 D.高响应比优先调度算法
【解析】D。高响应比优先调度算法中,计算每个进程,响应比最高的先获得CPU,响
应比计算公式:响应比=(进程执行时间+进程等待时间)/进程执行时间。高响应比优先调
度算法综合考虑到了进程等待时间和执行时间,对于同时到达的长进程和短进程相比,短进
程会优先执行,以提高系统吞吐量;当某进程等待时间较长时,其优先级会提高并很快得到
执行,不会产生有进程调度不到的情况。
补充:
时间片轮转调度算法(RR)使每个进程都有固定的执行时间,但对于长进程来说,等
待时间也相对较长。
短进程优先调度算法(SJF/SPF)对于短进程有很大的优势,但对于长进程来说,如果不
断有短进程请求执行,则会长期得不到调度。
先来先服务(FCFS)实现最简单,但如果有一个长进程到达之后,会长期占用处理机,
使后面到达的很多短进程得不到运行。
【25】某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机,
该系统可能会发生死锁的K的最小值是()。
A.2 B.3 C.4 D.5
【解析】C。假设k=3,3个进程共享8台打印机,每个进程最多可以请求3台打印机,
若3个进程都分别得到2台打印机,系统还剩下2台打印机,接下去无论哪个进程申请打印
机,都可以得到满足,3个进程都可以顺利执行完毕,这种情况下不会产生死锁。假设k=4,
4个进程共享8台打印机,都得不到满足,产生了互相等待,可能会发生死锁。
补充:
这类型的题通常数字不大,可以凭经验尝试出正确答案,这样会快一些,不过还是给出
对应计算公式,以便大家加深理解和满足对于题目的成就感。假设n为每个进程所需的资源
数,m为进程数,A为系统的资源数。则满足(n-1)×m≥A的最小整数m即为可能产
生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已
经分配,因此死锁。
【26】分区分配内存管理方式的主要保护措施是()。
A.界地址保护 B.程序代码保护
C.数据保护 D.栈保护
【解析】A。B、C、D都不是存储保护的措施。使用界限寄存器可以实现分区分配内存
管理的存储保护。概念题,记住概念即可。
【27】一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是()。
A.2
8
字节 B.2
16
字节 C.2
24
字节 D.2
32
字节
【解析】C。段式存储管理系统中的逻辑地址分成两部分:段号和位移量。段号8位,
则位移量用24位来表示,位移量的大小决定了每段的长度,所以每段的最大长度是2
24
。通
常系统都是以字节作为一个分配单元,因此最大段长为2
24
字节。
【28】下列文件物理结构中,适合随机访问且易于文件扩展的是()。
A.连续结构 B.索引结构
C.链式结构且磁盘块定长 D.链式结构且磁盘块变长
【解析】B。根据外存储分配方法,链式存储结构将文件按照顺序存储在不同盘块中,
因此适合顺序访问,不适合随机访问(需从文件头遍历所有盘块);连续结构(数据位置可
计算得到)和索引存储结构(只需访问索引块即可知道数据位置)适合随机访问,但连续存
储结构如果要在中间增加数据,则要整体移动后面的所有数据,因此不适合文件的动态增长,
而索引存储结构适合随机访问,因为索引结构可以单独将新增数据放在一个新盘块,只需修
改索引块即可。
【29】假设磁头当前位于第105道,正在向磁道序号增加的方向移动.现有一个磁道访问请求
序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是
()。
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
【解析】A。SCAN算法的基本思想:磁头从磁盘的一端开始向另一端移动,沿途响应访
问请求,直到到达了磁盘的另一端,此时磁头反方向移动并继续响应服务请求,其运动轨迹
类似于电梯的运行。根据SCAN算法,可以得到访问序列是A。
【30】文件系统中,文件访问控制信息存储的合理位置是()。
A.文件控制块 B.文件分配表
C.用户口令表 D.系统注册表
【解析】A。文件系统为实现“按名存取”,为每个文件设置用于描述和控制文件的数
据结构,这个数据结构称为文件控制块FCB。文件控制块FCB包含文件名,文件物理地址,
访问权限等信息。
补充:
文件分配表(FAT)是系统用来标识盘块的文件归属,即哪些盘块属于哪些文件,并不
包含文件的访问权限信息。
用户口令表是多用户系统中,用于记录不同用户口令的存储表,于文件访问权限无关。
系统注册表是用来储存系统相关设置的,例如系统的环境以及软件的设置等等,并不包
括文件访问控制信息。
【31】设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立
F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是()。
A.0、1 B.1、1 C.1、2 D.2、1
【解析】B。在Unix/Linux系统中,创建符号链接文件时,该文件有自己的inode结构,
而硬链接文件和目标文件共享inode结构;在删除文件时,引用计数器减1,当引用计数器
为0时,才真正删除,并释放inode结构。创建文件F2后,其文件引用计数器为1;创建文
件F3后,其文件引用计数器为2,删除文件F1,引用计数器减1,此时文件F3引用计数器
为1。所以F2和F3两个文件引用计数器都是1。
【32】程序员利用系统调用打开I/O设备时,通常使用的设备标识是()。
A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号
【解析】A。在操作系统的设备管理中,用户程序不直接使用物理设备名(或设备的物
理地址),而使用逻辑设备名;系统在实际执行时,将逻辑设备名转换为某个具体的物理设
备名,实施I/O操作。逻辑设备是实际物理设备属性的抽象,它并不限于某个具体设备。
解答题:
【45】三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()
生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出
一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并
用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明
所定义的信号量的含义。要求用伪代码描述。
【解析】本题考察了进程的同步与互斥
(1)缓冲区是互斥资源,因此设互斥信号量为mutex。
(2)同步问题:P1,P2为奇数的放置与取用而同步,设同步信号量为odd;P1,P3因为偶
数的放置与取用而同步,设同步信号量为even;对空闲缓冲区设置资源同步信号量empty,
初值为N。伪代码描述如下:
semaphoremutex=1;
semaphoreodd=0;even=0;
semaphoreempty=N;
main()
{
processP1
while(true)
{
number=produce();
p(empty); //这里切忌要先进行p(empty);再进行p(mutex)!不然可能会
p(mutex); //导致死锁!(否则当没有空余缓冲区时,P1将持续占用mutex)
put();
v(mutex);
if(number%2==0)
v(even);
else
v(odd);
}
processP2
while(true)
{
p(odd);
p(mutex);
getodd();
v(mutex);
v(empty);
countodd();
}
processP3
while()
{
p(even);
p(mutex);
geteven();
v(mutex);
v(empty);
counteven();
}
}
【46】请求分页管理系统中,假设某进程的页表内容如下表所示
页表内容
页号 页框(PageFrame)号 有效位(存在位)
0 101H 1
1 — 0
2 254H 1
页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一
次缺页的平均时间为10
8
ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用
最近最少使用置换算法(LRU)和局部淘汰策略。假设①TLB初始为空;②地址转换时先访问
TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);③有效位为0表示
页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。
设虚地址访问序列2362H、1565H、25A5H,请问:
(1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
(2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。
【解析】本题考查页式存储器管理的相关内容,包括页表项计算及缺页中断处理等。
(1)因为每页大小为4KB,页内位移为12位(二进制位)或3位(十六进制位),逻
辑地址2362H的页号为第一个16进制位(也可转化为二进制,得0002001101100010B,
则对应的页号为前四个二进制位),即为2,通过查询页表得知,该页在内存,但初始TLB
为空,因此2362H的访问时间为10ns(访问TLB)+100ns(访问页表)+100ns(访问内存
单元)=210ns。
同理逻辑地址1565H对应的页号为1,该页不在内存,出现缺页中断,缺页中断处理后,
返回到产生缺页中断的指令处重新执行,需要访问一次TLB。所以,1565H的访问时间为10ns
(访问TLB)+100ns(访问页表)+10
8
ns(调页)+10ns(访问TLB)+100ns(访问内存单
元)≈10
8
ns。
逻辑地址25A5H对应的页号为2,该页在内存,TLB命中,所以,25A5H的访问时间=10ns
(访问TLB)+100ns(访问内存单元)=110ns。
(2)1565H对应的物理地址是101565H;在上一题中,当访问1565H时产生缺页中断
时,内存中已经有2页,达到驻留集大小上限,应选出一页换出,由于在之前刚访问过2362H
地址,2号页面刚被访问,因此根据LRU算法,淘汰0号页面,即页框号为101H的页面,
因此换入的1号页面的页框号为101H,所以虚地址1565H的物理地址为页框号101H与页
内位移565H的组合,即101565H。
10 10年真题
选择题:
【23】下列选项中, 操作系统提供给应用程序的接口是()。
A.系统调用 B.中断 C.库函数 D.原语
【解析】
A。
1、操作系统提供两类接口,
一类是命令接口,比如用户通过键盘命令和鼠标,命令来操作计算机;
另一类是程序接口,它提供一组系统调用,用户可以通过运行一些应用
程序来访问操作系统的资源。
补充:
实际上,本题四个选项中,只有A是操作系统提供的接口。系统提供封装好的系统调
用供应用程序使用,应用程序无需考虑系统底层的内容,仅考虑上层的操作即可。
2、中断是系统内部对于事件响应的机制,对于应用程序来说是透明的(应用程序是看不见中断的内部的),不会提供给应用程
序直接使用。
3、同样库函数和原语都是面对操作系统底层的,不会直接提供给应用程序。
【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
【解析】B。分析:信号量可以用来表示某资源的当前可用数量。当信号量K>0时,
表示此资源还有K个资源可用,此时不会有等待该资源的进程。而当信号量K<0时,表示
此资源有|K|个进程在等待该资源。此题中信号量K=1,因此该资源可用数N=1,等待该资
源的进程数M=0。
【26】下列选项中, 降低进程优先权级的合理时机是()。
A.进程的时间片用完 B.进程刚完成I/O, 进入就绪列队
C.进程长期处于就绪列队 D.进程从就绪状态转为运行状态
【解析】A。分析:
B选项中,进程完成I/O后,进入就绪队列时,已经是优先级最低的进程,不能再降低其优先级,为了让其及时处理I/O结果,也应该提高优先级;
C中,进程长期处于就绪队列,也需要增加优先级,使其不至于产生饥饿(所谓饥饿就是进程长期得不到处理机,无法执行);
D中,当进程处于运行状态时,不可提高或降低其优先级。
而A选项中,采用时间片算法处理进程调度时,如果进程时间片用完,则需要排到就绪队列的末尾,也就是优先级最低,所以降低优先级的合理时机是时间片用完时。
另外如果采用多级反馈调度算法时,当时间片用完,进程还未结束,则放到下一级队列中。
【27】进行P0和P1的共享变量定义及其初值为()。
boolean flag[2];
int turn=0;
flag[0]=false;flag[1]=false;
若进行P0和P1访问临界资源的类C代码实现如下:
voidp0()// 进程p0 voidp1()// 进程p1
{while(TRUE) {while(TRUE)
{flag[0]=TRUE;turn=1; {flag[0]=TRUE;turn=0;
While(flag[1]&&(turn==1)) While(flag[0]&&(turn==0));
临界区; 临界区;
flag[0]=FALSE; flag[1]=FALSE;
} }
} }
并发执行进程P0和P1时产生的情况是
A.不能保证进程互斥进入临界区, 会出现“饥饿”现象
B.不能保证进程互斥进入临界区, 不会出现“饥饿”现象
C.能保证进程互斥进入临界区, 会出现“饥饿”现象
D.能保证进程互斥进入临界区, 不会出现“饥饿”现象
【解析】D。分析:在之前没有了解过该算法的情况下,临场想要判断出来还是很难的,
尤其本题的算法是一个可以保证进程护持进入临界区、不会出现“饥饿”现象的良好算法,
在考虑的时候,没法找出破绽,却还容易误认为自己的想法不够全面。实际上,该算法满足
互斥、空闲让进、有限等待这三条同步机制准则,可以达到比较好的同步效果。
对于此种类
型的题目,在复习时候可以多分析一些经典的互斥算法。本题为Peterson算法,此外还
有Dekker算法等,读者可以自己找来进行分析理解。
【28】某基于动态分区存储管理的计算机,其主存容量为55Mb(初始为空),采用最佳适
配(BestFit)算法,分配和释放的顺序为:分配15Mb,分配30Mb,释放15Mb,分配6Mb,
此时主存最大空闲分区的大小是()。
A.7Mb B.9Mb C.10Mb D.15Mb
【解析】D。分析:采用最佳适配方法,就是每次只找最需分小且能满足所配大小的分
区。下图表示整个分区的过程。
(其中红色字体部分为已分配,黑色字体部分为尚未分配)
有此可知最后主存的最大空间为15MB。
优质解析:
其主存容量为55mb(初试为空间),第一步分配15MB以后还有55MB-15MB=40MB,第二步分配30MB以后还有40MB-30MB=10MB,第三步释放15MB以后有两个空闲区15MB,和10MB,第四步分配8MB,则空闲区为15MB,2MB,第五步分配6MB,则空闲区为9MB,2MB,所以这个题目应该是选B
【29】某计算机采用二级页表的分页存储管理方式,按字节编制,页的大小为210字节,页表项大小为2字节,
逻辑地址结构为:页目录号 页号 页内偏移量
逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表的个数至少是()。
A.64 B.128 C.256 D.512
【解析】B。分析:在内存中有些页是存储页表项的,相当于页的索引,本题的目的就
是要计算包含索引项的页的数量至少是多少。由题可知每页的大小为210B,就是1024B,每
个页表项的大小为2B,那么每页中可以存放512个页表项信息,逻辑地址总共有216页,那么要储存全部216个页表项所需要的页数量为216/512=27=128页,即为答案。
【30】设文件索引节点中有7个地址项,其中4个地址为直接地址索引,1个地址项是二级
间接地址索引,每个地址项的大小为4字节,若磁盘索引块和磁盘数据块大小均为256字节,
则可表示的单个文件最大长度是()。
A.33KB B.519KB C.1057KB D.16513KB
【解析】C。分析:根据题目,每个磁盘索引块有256/4=64个地址项。直接地址索引
指向数据块的大小为4×256=1KB;一级间接地址索引数据块的大小为2×64×256=
32KB;二级间接地址索引数据块的大小为64×64×256=1024KB;所以单个文件的最大
长度是:1KB+32KB+1024KB=1057KB.
【31】设当前工作目录的主要目的是()。
A.节省外存空间 B.节省内存空间
C.加快文件的检索速度 D.加快文件的读写速度
【解析】C。分析:设置当前目录的作用就是为了加快文件的检索速度,因为设置了当前
目录情况下不需要从根目录出发进行检索,只需要从当前目录出发即可。至于A、B节省空
间和此无关。文件的读写速度仅和硬件本身以及文件存储方式有关,与目录无关。
【32】本地用户通过键盘登陆系统是,首先获得键盘输入信息的程序时()。
A.命令解释程序 B.中断处理程序 C.系统调用程序 D.用户登录程序
【解析】B。分析:通过键盘登录系统时,必然需要进行键盘的录入,在录入键盘命令
时,系统首先会产生中断,对键盘录入的信息进行存储,待键盘录入完毕后,再进行整体登
录信息的处理。因此,首先获得键盘输入信息的程序是中断处理程序。
解答题:
【45】假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录
16384个磁盘的空闲状态。
(1)请说明在上述条件如何进行磁盘块空闲状态的管理。
(2)设某单面磁盘的旋转速度为每分钟6000转, 每个磁道有100个扇区, 相临磁
道间的平均移动的时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的
方向移动(如下图所示),磁道号的请求队列为50、90、30、120,对请求队列中的每个磁
道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?需要给出计算过程。
(3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比
CSACN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理
由。
【参考答案】
(1)用位示图表示磁盘的空闲状态,每一位表示一个磁盘块的空闲状态,共需要
16384/8=2048字节=2KB。系统提供的2KB内存正好能表示着16384个磁盘块。
(2)采用CSCAN调度算法,磁头运动方向为磁道增大方向,由于当前磁头位于100号磁
道处,则访问磁道的顺序为120、30、50、90,则磁头移动磁道长度为20+90+20+40=170,
总的移动磁道时间为170×1ms=170ms。由于转速为6000转/分,则读取一个磁道上的一个
扇区的平均时间为(60/6000)/100s=0.1ms,总的读取扇区的时间为4×0.1ms=0.4ms。
(3)采用FCFS(先来先服务)调度策略更高效。因为Flash 的半导体存储器的物理结构
不需要考虑寻道时间和旋转延迟,可直接按I/O 请求的先后顺序服务。
【46】设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。某进程最多需
要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配
4个页框。
页号 页框号 装入时间 访问位
0 7 130 1
1 4 230 1
2 2 200 1
3 9 160 1
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:
(1)该逻辑地址对应的页号时多少?
(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址?要求给出计算过程。
(3)采用时钟(Clock)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设
搜索下一页的指针按顺时针方向移动,且指向当前2号页框,示意图如下)
【参考答案】
(1)因为17CAH=0001011111001010B,由于页的大小为1KB,则页内位移有10位,表
示的页号的为左边6位,即00101B,所以页号为5。
(2)根据FIFO算法,需要替换装入时间最早的页,故需要置换装入时间最早的0号页,即
将5号页装入到7号页框中,即页框号为111,凑成6位为000111,与页内位移拼接得到
对应的物理地址为0001111111001010B=1FCAH。
(3)根据CLOCK算法,如果当前指针所指页框的使用位为0时,则替换该页;否则将使用
位清0,并将指针指向下一个页框,继续查找。根据题设和示意图,将从2号页框开始查找,
前4次查找页框号的顺序为2->4->7->9,并将对应页框使用位清0。在第5次查找中,指针
指向2号页框,这时2号页框的使用位为0,故置换2号页框对应的2号页,将5号页转入
2号页框中,并将对应使用位设置为1,所以对应的物理地址为0000101111001010
B=0BCAH。
【分析】45、46题所考察的知识点:外存储空间的管理方法(位图表bitmap),磁盘调度算
法(CSCAN),磁盘的结构(平均旋转延时的计算),逻辑地址到物理地址的映射(物理地址
计算),页面置换算法(FIFO算法和clock 算法)。这些知识点都包含到操作系统原理的本科
教学大纲中,要求考生必须掌握。但是在实际考试中,考生这两题的得分少,且得0分考生
较多。在学习操作系统原理时,考生需要充分理解和掌握操作系统的概念、原理和算法,并
且能够灵活应用。
11 11年真题
选择题:
【23】下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是()。
A.先来先服务
B.高响应比优先
C.时间片轮转
D.非抢占式短任务优先
【解答】B。这里考察的是多种作业调度算法的特点。
响应比=作业响应时间/作业执行时间=(作业执行时间+作业等待时间)/作业执行时间。
高响应比算法,在等待时间相同情况下,作业执行的时间越短,响应比越高,满足段任务优先。同时响应比会随着等待时间增加而变大,优先级会提高,能够避免饥饿现象。
下面给出几种常见的进程调度算法特点的总结,读者要在理解的基础上识记。
先来先服务 短作业优先 高响应比优先 时间片轮转 多级反馈队列
能否是可
抢占
否 能 能 能 队列内算法不
一定
能否是不
可抢占
能 能 能 否 队列内算法不
一定
优点 公平,实现简
单
平均等待时
间最少,效
率最高
兼顾长短作业 兼顾长短作
业
兼 顾 长 短 作
业,有较好的
响应时间,可
行性强
缺点 不利于短作业 长作业会饥
饿,估计时
间不易确定
计算响应比的
开销大
平均等待时
间较长,上
下文切换浪
费时间
无
尤其适用
于
无 作业调度,
批处理系统
无 分时系统 相当通用
决策模式 非抢占 非抢占 非抢占 抢占 抢占
【24】下列选项中,在用户态执行的是()。
A.命令解释程序
B.缺页处理程序
C.进程调度程序
D.时钟中断处理程序
【解析】A。CPU状态分为管态和目态,管态又称特权状态、系统态或核心态。通常,
操作系统在管态下运行,CPU在管态下可以执行指令系统的全集。目态又称常态或用户态,
机器处于目态时,程序只能执行非特权指令,用户程序只能在目态下运行。
CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相
关模块使用,普通的应用程序不能使用。
核心态:缺页处理与时钟中断都属于中断,会对系统造成影响,因此只能在核心态执行。进程调度属于系统的一部分,也只能在核心态执行。
用户态:命令解释程序属于命令接口,是操作系统提供给用户所使用的接口,因此可以用在用户态执行。
补充:常见的特权指令有以下几种
(1)有关对I/O设备使用的指令。如启动I/O设备指令、测试I/O设备工作状态和控制
I/O设备动作的指令等。
(2)有关访问程序状态的指令。如对程序状态字(PSW)的指令等。
(3)存取特殊寄存器指令。如存取中断寄存器、时钟寄存器等指令。
(4)其他指令
本题中B、D都是要修改中断寄存器,C要修改程序状态字(PSW)。
【25】在支持多线程的系统中,进程P创建的若干个线程不能共享的是()。
A.进程P的代码段
B.进程P中打开的文件
C.进程P的全局变量
D.进程P中某线程的栈指针
【解析】D。进程是资源分配的基本单元,进程下的各线程可以并行执行,它们共享进程的虚地址空间,但各个进程有自己的栈,各自的栈指针对其他线程是透明的,因此进程P中某线程的栈指针是不能共享的。
【26】用户程序发出磁盘I/O请求后,系统的正确处理流程是()。
A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序
【解析】B。首先用户程序(目态)是不能直接调用设备驱动程序的,有关对I/O设备使用
的指令是特权指令,通过系统调用,把进程的状态从用户态变为核心态,故C、D错误。
I/O软件一般从上到下分为四个层次:用户层、与设备无关软件层、设备驱动程序及中断处理程序。
与设备无关软件也就是系统调用的处理程序。因此正确处理流程为B。
27. 某时刻进程的资源使用情况如下所示。
进程 |
已分配资源 |
尚需资源 |
可用资源 |
||||||
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. 不存在
A.P1,P2,P3,P4 B.P1,P3,P2,P4 C.P1,P4,P3,P2 D.不存在
【解析】D。使用银行家算法可知,不存在安全序列。由于初始R1资源没有剩余,只能
分配资源给P1执行,P1完成之后释放资源,这时由于R2只有2个剩余,因此只能分配对
应资源给P4执行,P4完成之后释放资源,但此时R2仍然只有2个剩余,无法满足P2、P3
的要求,无法分配。因此产生死锁状态。
【28】在缺页处理过程中,操作系统执行的操作可能是()。
I修改页表 II磁盘I/O III分配页框
A.仅I,II B.仅II C.仅III D.I,II和III
【解析】D。
这些情况都可能发生,当产生缺页中断时,肯定会修改页表项并分配页框(分配页框出现在有空余页面的情况下),并且会从外存将所缺页调入,产生磁盘I/O。
【29】当系统发生抖动(trashing)时,可以采取的有效措施是()。
I.撤销部分进程
II.增加磁盘交换区的容量
III.提高用户进程的优先级
A.仅I B.仅II C.仅III D.仅I,II
【解析】A。
在具有对换功能的操作系统中,通常把外存分为文件区和对换区。
前者用于存放文件,后者用于存放从内存中换出的进程。
抖动现象是指刚刚被换出的内容又要被访问,因此马上又要换入这种系统频繁置换页面的现象。
发生抖动时系统会将大部分时间用于处理页面置换上,降低系统效率。撤销部分进程可以减少系统页面数,可以有效防止系统抖动。
改变优先级与增大交换区容量对减少抖动没有帮助。
【30】在虚拟内存管理中,地址变换机构将逻辑地址变为物理地址,形成该逻辑地址的阶段
是()。
A.编辑 B.编译 C.链接 D.装载
【解析】B。编译过程指编译程序将用户源代码编译成目标模块,在编译源代码的过程
中,编译程序会将程序所使用的变量地址信息转化为逻辑地址。编辑过程是指编辑源代码的
过程,此时还没有地址的概念。
而链接和装载都是对编译好的程序进行处理,包括将逻辑地址转化为物理地址。
【31】某文件占10个磁盘块,现要把文件磁盘块逐个读入主存缓冲区,并送用户区进行分
析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100μs,
将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。
在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是()。
A.1500μs,1000μs B.1550μs,1100μs
C.1550μs,1550μs D.2000μs,2000μs
【解析】B。
1、单缓冲区当上一个磁盘块从缓冲区读入用户区完成时下一磁盘块才能开始读入,
也就是当最后一块磁盘块读入用户区完毕时所用时间为150×10= 1500,加上处理最后一个磁盘块的时间50,得1550。
解析:当第一快磁盘块到的时候,cpu就进行分析了,最后一块cpu不能和传输并行。记得把最后一块cpu分析的时间计算上。
2、双缓冲区情况下,不存在等待磁盘块从缓冲区读入用户区的问题,
因此传输数据+全部传输到缓冲区的时间为100×10=1000,
再加上将双缓冲区的数据传输到用户区并处理完的时间2×50=100,得1100。
解析:加上最后一块从主存缓冲区到用户区
加上最后一块cpu分析的时间
32. 有两个并发进程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的值是()。
A. 可能为-1或3 B. 只能为1
C. 可能为0、1或2 D. 可能为-1、0、1或2
【解答】C。执行①②③④⑤⑥结果为1,执行①②④⑤⑥③结果为2,执行④⑤①②③
⑥结果为0,结果-1无法得到。
解析:
本题考查进程并发执行的顺序。
1、若进程p1和p2顺序执行时,无论p1先执行,还是p2先执行,其结果均为1。
2、若进程p1和p2在并发执行时其指令序列交替执行,p1执行到lnc r1后,p2执行,p2完成后,p1再接着执行,则其结果为2;
3、若p2先执行到dec r2,p1执行,p1完成后,p2再接着执行,在其结果为0。
解答题:
45.某银行提供1个服务窗口和10个供顾客等待的作为。顾客到达银行时,若有空座位,则
到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通
过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下;
cobegin
{
Process 顾客;
{
从取号机获取一个号码;
等待叫号;
获取服务;
}
Process 营业员
{
While(TRUE)
{
叫号;
为顾客服务;
}
}
}coend
请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要
求写出完整的过程,说明信号量的含义并赋初值。
【解析】
Semaphoreseets=10; //表示空余座位数量的资源信号量,初值为10
Semaphoremutex=1; //管理取号机的互斥信号量,初值为1,表示取号机空闲。
Semaphorecustom=0;//表示顾客数量的资源信号量,初值为0
Process 顾客
{
P(seets); //找个空座位先
P(mutex); //再看看取号机是否空闲
从取号机上取号;
V(mutex); //放开那个取号机!
V(custom); //取到号,告诉营业员有顾客
等待叫号;
V(seets); //被叫号,离开座位
接受服务;
}
Process 营业员
{
While(true)
{
P(custom); //看看有没有等待的顾客
叫号;
为顾客服务;
}
}
46.某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但
可多次创建新文件。请回答如下问题。
(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为
定位文件数据块,需要FCB中设计哪些相关描述字段?
(2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?
要求说明理由。
【解析】
(1)连续更合适。因为一次写入不存在插入问题,而且写入文件之后不需要修改,连续的
数据块组织方式很适合一次性写入磁盘不再修改的情况。同时连续存储相对于链式和索引省
去了指针的空间开销,支持随机查找,查找速度最快。
(2)FCB集中存储较好。FCB存储有文件的很多重要信息,同时是文件目录的重要组成部
分,在检索时,通常会访问对应文件的FCB。如果将FCB集中储存,则可以减少在检索过程
中产生的访盘次数,提高检索的速度。
2012年计算机专业考研真题-os
23. 下列选项中,不可能在用户态发生的事件是(c)。
A. 系统调用 B. 外部中断 C. 进程切换 D. 缺页
解析:
进程切换是在操作系统内核中完成的,只能在内核态发生,系统调用是提供给用户 程序执行内核函数的,可以在用户态下调用。
24. 中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是()。
A. 程序计数器 B. 程序状态字寄存器
C. 通用数据寄存器 D. 通用地址寄存器
解释:子程序只要保护断点,及pc指针,中断不仅要保留pc,还要保留psw