1、注:所附答案为个人整理,不是标准答案,仅供参考。2009 年计算机专业考研真题OS一、试题23. 单处理机系统中,可并行的是( ) 。I. 进程与进程 II. 处理机与设备III. 处理机与通道 IV. 设备与设备 A. I、II 和 III B. I、II 和 IV C. I、III 和 IV D. II、III 和 IV 24. 下列进程调度算法中,综合考虑进程等待时间和执行时间的是( ) 。A. 时间片轮转调度算法 B. 短进程优先调度算法 C. 先来先服务调度算法 D. 高响应比优先调度算法 25. 某计算机系统中有 8 台打印机,有 K 个进程竞争使用,每个进程最多需要 3 台打印机
2、。该系统可能会发生死锁的 K 的最小值是( ) 。A. 2 B. 3 C. 4 D. 5 【解析】3k k0)个单元的缓冲区。P1 每次用 produce()生成一个正整数并用 put()送入缓冲区某一空单元中;P2 每次用 getodd()从该缓冲区中取出一个奇数并用 countodd()统计奇数个数;P3 每次用 geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。 46.(8 分)请求分页管理系统中,假设某进程的页表内容如下表所示。 页号 页框号 有效位(存在位)0
3、101H 11 - 02 254H 1页面大小为 4KB,一次内存的访问时间是 100ns,一次快表(TLB)的访问时间是 10ns,处理一次缺页的平均时间为 108ns(已含更新 TLB 和页表的时间) ,进程的驻留集大小固定为 2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设TLB 初始为空;地址转换时先访问 TLB,若 TLB 未命中,再访问页表(忽略访问页表之后的 TLB 更新时间) ;有效位为 0 表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问: (1) 依次访问上述三个虚地址,
4、各需多少时间?给出计算过程。 (2) 基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。 二、答案23-27:DDCAC 28-32:BAABA45. 定义资源信号量 empty、even 、odd,用于控制生产者与消费者之间的同步,其中, empty 表示空缓冲区的数目, even 表示缓冲区中偶数的个数,odd 表示缓冲区中奇数的个数; 定义互斥信号量 mutex,用于实现进程对缓冲区的互斥访问。伪代码描述如下:semahpore empty=N,even=0,odd=0,mutex=1;P3:while(1)wait(even);wait(mutex);geteven(
5、);counteven();signal(mutex);signal(empty);P2:while(1)wait(odd);wait(mutex);getodd();countodd();signal(mutex);signal(empty);P1:while(1)x=produce();wait(empty);wait(mutex);put(x);signal(mutex);if x%2=0signal(even);elsesignal(odd); 46. (1) 因为页大小为 4KB,所以虚地址中的低 12 位表示页内地址,剩余高位表示页号。则十六进制虚地址的低三位为页内地址,最高位为页
6、号。2362H:页号为 2,页内地址为 362H。先访问快表 10ns,未命中,再访问内存中的页表 100ns,页表项中的有效位指示该页在内存,根据该页对应的页框号形成物理地址再次访问内存 100ns,共计 10ns+100ns*2=210ns。1565H:页号为 1,页内地址为 565H。先访问快表 10ns,未命中,再访问内存中的页表 100ns,页表项中的有效位指示该页不在内存,处理缺页108ns,再次访问快表 10ns 命中,根据该页对应的页框号形成物理地址再次访问内存 100ns,共计 10ns+100ns+108ns+100ns+10ns 10 8ns 。25A5H:页号为 2,页
7、内地址为 5A5H。由于访问 2362H 时已将页 2 的表项写入 TLB,因此访问快表 10ns,命中,根据该页对应的页框号形成物理地址访问内存 100ns,共计 10ns+100ns=110ns。(2)虚地址 1565H 的页号为 1,页内地址为 565H。目前页 0、页 2 在内存,访问页 1 时发生缺页,根据 LRU 置换算法和局部淘汰策略,将页 0 换出页1 换入,因此页 1 对应的页框号为 101H,又块内地址为 565H,则虚地址 1565H 的物理地址为 101565H。2010 年计算机专业考研真题OS一、试题23. 下列选项中,操作系统提供的给应用程序的接口是( ) 。A.
8、 系统调用 B. 中断 C. 库函数 D. 原语24. 下列选项中,导致创进新进程的操作是( ) 。I 用户成功登陆 II 设备分配 III 启动程序执行A. 仅 I 和 II B. 仅 II 和 III C. 仅 I 和 III D. I,II,III25. 设与某资源相关联的信号量初值为 3,当前值为 1,若 M 表示该资源的可用个数,N 表示等待资源的进程数,则 M,N 分别是( ) 。A. 0,1 B. 1, 0 C. 1,2 D. 2,026. 下列选项中,降低进程优先级的合理时机是( ) 。A. 进程的时间片用完 B. 进程刚完成 I/O,进入就绪队列C. 进程长期处于就绪队列中
9、D. 进程从就绪状态转为运行态 27. 进行 P0 和 P1 的共享变量定义及其初值为 boolean flag2;int turn=0;flag0= FALSE;flag1= FALSE;若进行 P0 和 P1 访问临界资源的类 C 伪代码实现如下:void p0()/ 进程 p0 while(TRUE)flag0=TRUE;turn=1;while (flag1 临界区;flag0=FALSE; 则并发执行进程 P0 和 P1 时产生的情况是( ) 。A. 不能保证进程互斥进入临界区,会出现 “饥饿”现象B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象C. 能保证进程互斥进入临界区,
10、会出现“饥饿”现象D. 能保证进程互斥进入临界区,不会出现 “饥饿”现象【解析】标准答案 D。但个人认为存在 “饥饿” ,分析如下:(供大家讨论分析)void p1()/ 进程 p1while(TRUE ) flag1=TRUE; turn=0;while (flag0 临界区;flag1=FALSE;存在饥饿:p0: Flag0=TRUE;p1: Flag1=TRUE; p1: turn=0;p1: While (flag0 p1 空等p0: turn=1;p0: While (flag1 p0 空等28. 某基于动态分区存储管理的计算机,其主存容量为 55MB(初试为空闲) ,采用最佳适配
11、(Best fit)算法,分配和释放的顺序为:分配 15MB,分配30MB,释放 15MB,分配 8MB,分配 6MB,此时主存中最大空闲分区的大小是( ) 。A. 7MB B. 9MB C. 10MB D. 15MB29. 某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为 210 字节,页表项大小为 2 字节,逻辑地址结构为:页目录号 页号 页内偏移量逻辑地址空间大小为 216 页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( ) 。A. 64 B. 128 C. 256 D. 51230. 设文件索引节点中有 7 个地址项,其中 4 个地址项为直接地址索引,2 个地
12、址项是一级间接地址索引,1 个地址项是二级间接地址索引,每个地址项大小为 4 字节,若磁盘索引块和磁盘数据块大小均为 256 字节,则可表示的单个文件的最大长度是( ) 。A. 33KB B.519KB C. 1057KB D. 16513KB31. 设置当前工作目录的主要目的是( ) 。A. 节省外存空间 B. 节省内容空间C. 加快文件的检索速度 D. 加快文件的读写速度32. 本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是( ) 。A. 命令解释程序 B. 中断处理程序C. 系统调用程序 D. 用户登录程序45.(7 分)假设计算机系统采用 CSCAN(循环扫描)磁盘调度策略,
13、使用 2KB 的内存空间记录 16384 个磁盘块的空闲状态。(1)请说明在上述条件下如何进行磁盘块空闲状态管理。(2)设某单面磁盘旋转速度为每分钟 6000 转。每个磁道有 100 个扇区,相邻磁道间的平均移动时间为 1ms。若在某时刻,磁头位于 100 号磁道处,并沿着磁道号大的方向移动(如下图所示) ,磁道号请求队列为 50、90、30、120,对请求队列中的每个磁道需读取 1 个随机分布的扇区,则读完这 4 个扇区点共需要多少时间?要求给出计算过程。(3)如果将磁盘替换为随机访问的 Flash 半导体存储器(如 U 盘、SSD 等) ,是否有比 CSCAN 更有效的磁盘调度策略?若有,
14、给出磁盘调度策略的名称并说明理由;若无,说明理由。46.(8 分)设某计算机的逻辑地址空间和物理地址空间均为 64KB,按字节编址。若某进程最多需要 6 页(Page)数据存储空间,页的大小为 1KB,操作系统采用固定分配局部置换策略为此进程分配 4 个页框(Page Fame) 。在时刻 260 之前该进程访问情况如下表所示(访问位即使用位) 。页号 页根号 装入时刻 访问位0 7 130 11 4 230 12 2 200 13 9 160 1当该进程执行到时刻 260 时,要访问逻辑地址为 17CAH 的数据,请问答下列问题:(1)该逻辑地址对应的页号是多少?(2)若采用先进先出(FIF
15、O)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (设搜索下一页的指针沿顺时针方向移动,且当前指向2 号页框,示意图如下。 )二、答案23-27:ACBAD 28-32:BBCCB45. (1)可采用位示图法表示磁盘块的空闲状态,一个磁盘块在位示图中用一个二进制位表示,为 0 表示磁盘块空闲,为 1 表示磁盘块已分配。16384 个磁盘块共占用 16384bit=16384/8B =2048B=2KB,正好可放在系统提供的内存中。(2)采用 CSCAN 调度算法,磁道的访问次序为 120
16、30 50 90,如下图所示:因此访问过程中移动的磁道总数为(120-100 )+ (120-30 )+ (90-30 )=170,故总的寻道时间为 170*1ms=170ms;100 1209030 50由于每转需要 1/6000 分钟=10ms,则平均旋转延迟时间为 10ms/2 =5ms,总的旋转延迟时间为 5ms*4=20ms;由于每个磁道有 100 个扇区,则读取一个扇区需要 10ms/100 = 0.1ms,总的读取扇区时间(传输时间)为 0.1ms*4=0.4ms;综上,磁盘访问总时间为 170ms+20ms+0.4ms=190.4ms。(3)采用 FCFS(先来先服务)调度策略
17、更高效。因为 Flash 半导体存储器的物理结构不需要考虑寻道时间和旋转延迟时间,可直接按 I/O 请求的先后顺序服务。46.(1)由于计算机的逻辑地址空间和物理地址空间均为 64KB=216B,按字节编址,且页(块)的大小为 1KB=210B,所以计算机的逻辑地址结构和物理地址结构均为:页(页框)号 (6 位) 页(块)内偏移量 (10 位)17CA H=(0001 0111 1100 1010)2,所以 17CAH 对应的页号是(000101) 2=5。(2)若采用先进先出(FIFO)置换算法,则置换装入时间最早的页,故 0 号页被置换,将 5 号页装入 7 号页框,所以 17CA H 对
18、应的物理地址为(0001 1111 1100 1010) 2=1FCA H。(3)若采用时钟(CLOCK)置换算法,则从当前指针指示页框开始查找,若其中页的访问位为 0,则置换该页,否则将访问位清零,并将指针指向下一个页框,继续查找。由于初始时内存中的 4 个页的访问位均为 1,因此,前 4 次查找并未找到合适的页,但查找时已将对应页的访问位清零,第 5 次查找时,指针重新指向 2 号页框,其中存放的 2 号页的访问位为 0,故置换该页,将 5 号页装入 2 号页框,所以 17CA H 对应的物理地址为(0000 1011 1100 1010) 2=0BCA H。2011 年计算机专业考研真题
19、OS一、试题23. 下列选项中,满足短任务优先且不会发生饥饿的调度算法是() 。A. 先来先服务 B. 高响应比优先C. 时间片轮转 D. 非抢占式短任务优先24 下列选项中,在用户态执行的是() 。A. 命令解释程序 B. 缺页处理程序 C. 进程调度程序 D. 时钟中断处理程序【解析】缺页处理与时钟中断都属于中断,会对系统造成影响,因此只能在核心态执行。进程调度属于系统的一部分,也只能在核心态执行。命令解释程序属于命令接口,是操作系统提供给用户使用的接口,可以再用户态执行。25. 在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是() 。A. 进程 P 的代码段 B. 进程 P
20、中打开的文件C. 进程 P 的全局变量 D. 进程 P 中某线程的栈指针26. 用户程序发出磁盘 I/O 请求后,系统正确的处理流程是() 。A. 用户程序系统调用处理程序 中断处理程序设备驱动程序B. 用户程序系统调用处理程序 设备驱动程序中断处理程序C. 用户程序设备驱动程序 系统调用处理程序中断处理程序D. 用户程序设备驱动程序 中断处理程序系统调用处理程序27. 某时刻进程的资源使用情况如下所示。已分配资源 尚需资源 可用资源进程R1 R2 R3 R1 R2 R3 R1 R2 R3P1 2 0 0 0 0 1P2 1 2 0 1 3 2P3 0 1 1 1 3 1P4 0 0 1 2 0 00 2 1此时的安全序列是() 。A. P1, P2, P3, P4 B. P1, P3, P2, P4C. P1, P4, P3, P2 D. 不存在28. 在缺页处理过程中,操作系统执行的操作可能是() 。. 修改页表 . 磁盘 I/O . 分配页框A. 仅、 B. 仅 C. 仅 D. 、和29. 当系统发生抖动(thrashing)时,可以采取的有效措施是() 。. 撤销部分进程. 增加磁盘交换区的容量