2014年计算机408统考考研真题及答案解析.pdf

返回 相似
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
点击查看更多>>
资源描述:
2014 年全国硕士研究生入学统一考试 计算机科学与技术学科联考计算机学科专业基础综合试题 一、单项选择题第 1~ 40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中, 只有一个选项最符合试题要求。 1.下列程序段的时间复杂度是 。 count0; fork1;ky 且符号相同 D. xy 且符号不同 15.某容量为 256MB 的存储器由若干 4M8 位的 DRAM 芯片构成,该 DRAM 芯片的 地址引脚和数据引脚总数是 。 A. 19 B. 22 C. 30 D. 36 16.采用指令 Cache 与数据 Cache 分离的主要目的是 。 A. 降 低 Cache 的缺失损失 B.提高 Cache 的命中率 C. 降 低 CPU 平均访 存 时间 D.减少指令流水线资源冲突 17.某计算机有 16 个通用寄 存器,采用 32 位定长指令字,操作码字段(含寻址方式位) 为 8 位, Store 指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式 。 若 基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则 Store 指令中偏移量的取值范 围是 。 A. -32768 32767 B. -32767 32768 C. -65536 65535 D. -65535 65536 18.某计算机采用微程序控制器,共有 32 条指令,公共 的 取 指令 微程序包 含 2 条微指 令,各指令对应的微程序平均由 4 条微指令组成,采用断定法(下地址字段法)确定下条微 指令地址,则微指令中下址字段的位数至少是 。 A. 5 B. 6 C. 8 D. 9 19. 某同步总线采用数据线和地址线复用方式,其中地址 /数据线有 32 根,总线时钟频 率为 66MHz,每个时钟周期传送两次数据 上升沿和下降沿各传送一次数据 ,该总线的最大 数据传输率 总线带宽 是 。 A. 132 MB/s B. 264 MB/s C. 528 MB/s D. 1056 MB/s 20. 一次总线事务中,主设备只需给出一个首地址 ,从设备就能从首地址开始的若干连 续单元读出或写入 多 个数 据。 这种总线事务方式称为 。 A. 并行传输 B. 串行传输 C.突发传输 D.同步传输 21. 下列有关 I/O 接口的叙述中 , 错误 . . 的是 。 A.状态端口和控制端口可以合用同一个 寄存器 B. I/O 接口中 CPU 可访问的寄存器 称 为 I/O 端口 C.采用独立编址方式时, I/O 端口地址和主存地址可能相同 D.采用统一编址方式时, CPU 不能用访存指令访问 I/O 端口 22. 若 某设备中断请求的 响 应 和 处理时间为 100ns,每 400ns 发出一次中断请 求,中断 响应所 允 许的最长延迟时间为 50ns,则在该设备持续工作过程中, CPU 用于该设备的 I/O 时间占整个 CPU 时间的百分比至少是 。 A. 12.5 B. 25 C. 37.5 D. 50 23. 下列调度算法中,不可能导致饥饿现象的是 。 A.时间片轮转 B.静态优先 数 调度 C.非抢占式短作业优先 D.抢占式短作业优先 24. 某系统有 n 台互斥使用的同类设备, 三 个并发进程 分别 需要 3、 4、 5 台设备,可确 保系统 不 . 发生 . . 死锁的设备数 n 最小为 。 A. 9 B. 10 C. 11 D. 12 25. 下列指令中, 不能 . . 在用户态执行的是 。 A. trap 指令 B.跳转指令 C. 压 栈指令 D.关中断指令 26. 一个进程 的 读磁盘操作完成后,操作系统针对该进程必做的是 。 A.修改进程状态为就绪态 B.降低进程优先级 C.给进程分配用户内存空间 D.增加进程时间片大小 27. 现有 一个 容量为 10GB 的磁盘分区,磁盘空间以簇 Cluster为单位进行分配,簇的 大小为 4KB,若采用位图法管理该分区的空闲空间,即用一位 bit标识一个簇是否被分配, 则存放该位图所需簇的个数为 。 A. 80 B. 320 C. 80K D. 320K 28. 下列措施中,能加快虚实地址转换的是 。 I. 增大快表TLB 容量 II. 让页表常驻内存 III. 增大交换区swap A.仅 I B.仅 II C.仅 I、 II D.仅 II、 III 29. 在一个文件被用户进程首次打开的过程中,操作系统需做的是 。 A.将文件内容读到内存中 B.将文件控制块读到内存中 C. 修改文件控制块中的读写权限 D. 将文件的数据缓冲区首指针返回给用户进程 30. 在页式 虚拟 存储管理系统中,采用某些页面置换算法,会出现 Belady 异常 现象 , 即进程的缺页次数会随着分配给 该 进程的页框个数的增加而增加。下列算法中,可能出现 Belady 异常现象的是 。 I. LRU 算法 II. FIFO 算法 III. OPT 算法 A.仅 II B.仅 I、 II C.仅 I、 III D.仅 II、 III 31. 下列关于管道 Pipe通信的叙述中, 正确 . . 的是 。 A.一个管道可实现双向数据传输 B.管道的容量仅受磁盘 容量大小限制 C.进程对管道进行读操作和写操作都可能 被阻塞 D. 一个管道只能有一个读进程或一个写进程对其操作 32. 下列选项中,属于多级页表优点的是 。 A.加快地址变换速度 B.减少缺页中断次数 C.减少页表项所占字节数 D.减少页表所占的连续内存空间 33. 在 OSI 参考模型中,直接为会话层提供服务的是 。 A.应用层 B.表示层 C.传输层 D.网络层 34. 某以太网拓扑及交换机当前转发表如下图所示,主机 00-e1-d5-00-23-a1 向主机 00-e1-d5-00-23-c1 发送 1 个数据帧,主机 00-e1-d5-00-23-c1 收到该帧后,向主机 00-e1-d5-00-23-a1 发送 1 个确认帧,交换机对这两个帧的转发端口分别是 ( )。 A. {3}和 {1} B. {2,3}和 {1} C. {2,3}和 {1,2} D. {1,2,3}和 {1} 35. 下列因素中,不会影响信道数据传输速率的是 。 A.信噪比 B.频率宽带 C.调制速率 D.信号传播速度 36. 主机甲与主机乙之间使用后退 N 帧协议GBN 传输数据,甲的发送窗口尺寸为 1000, 数据帧长为 1000 字节,信道带宽为 100Mbps,乙每收到一个数据帧立即利用一个短帧 忽略 其传输延迟 进行确认,若甲乙之间的单向传播延迟是 50ms,则甲可以达到的最大平均数据 传输速率约为 。 A. 10Mbps B. 20Mbps C. 80Mbps D. 100Mbps 37. 站点 A、 B、 C 通过 CDMA 共享链路, A、 B、 C 的码片序列 chipping sequence分 别是1,1,1,1 、 1,-1,1,-1和 1,1,-1,-1。 若 C 从链路 上 收到的序列是 2,0,2,0,0,-2,0,-2,0,2,0,2, 则 C 收到 A 发送的数据是 。 A. 000 B. 101 C. 110 D. 111 38. 主机甲和 主机 乙已建立 了 TCP 连接,甲始终以 MSS1KB 大小的段发送数据,并 一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为 10KB 的确认段。若甲在 t 时刻发生超时时拥塞窗口为 8KB,则从 t 时刻起,不再发生超时的情况下,经过 10 个 RTT 后,甲的发送窗口是 。 A. 10KB B. 12KB C. 14KB D. 15KB 39. 下列关于 UDP 协议的叙述中, 正确 . . 的是 。 I. 提供无连接服务 II. 提供复用/ 分用服务 III. 通过差错校验,保障可靠数据传输 A.仅 I B.仅 I、 II C.仅 II、 III D. I、 II、 III 40. 使用浏览器访问某大学 Web 网站 主页 时, 不可能 .. . 使用 到 的协议是 。 A. PPP B. ARP C. UDP D. SMTP 二、综合应用题 41 47 小题,共 70 分。 41.13 分 二叉树的带权路径长度 WPL是二叉树中所有叶 结 点的带权路径长度之和 。 给 定一棵 二叉树 T,采用二叉链 表存储,结点结构为 其中叶结点的 weight 域保存该结点的非负权值。设 root 为指向 T 的根结点 的 指针,请 设计求 T 的 WPL 的算法,要求 1) 给出算法的基本设计思想; 2) 使用 C 或 C语言,给出二叉树结点的数据类型定义; 3) 根据设计思想,采用 C 或 C语言描述算法,关键之处给出注释。 42. 10 分 某网络中的路由器运行 OSPF 路由协议,题 42 表是路由器 R1 维护的主要链 路状态信息 LSI,题 42 图是根据题 42 表及 R1 的接口名构造出来的网络拓扑。 题 42 表 R1 所维护的 LSI R1 的 LSI R2 的 LSI R3 的 LSI R4 的 LSI 备 注 Router ID 10.1.1.1 10.1.1.2 10.1.1.5 10.1.1.6 标识路由器的 IP 地址 Link1 ID 10.1.1.2 10.1.1.1 10.1.1.6 10.1.1.5 所连路由器的 Router ID IP 10.1.1.1 10.1.1.2 10.1.1.5 10.1.1.6 Link1 的本地 IP 地址 Metric 3 3 6 6 Link1 的费用 Link2 ID 10.1.1.5 10.1.1.6 10.1.1.1 10.1.1.2 所连路由器的 Router ID IP 10.1.1.9 10.1.1.13 10.1.1.10 10.1.1.14 Link2 的本地 IP 地址 Metric 2 4 2 4 Link2 的费用 Net1 Prefix 192.1.1.0/24 192.1.6.0/24 192.1.5.0/24 192.1.7.0/24 直连网络 Net1 的网络前缀 Metric 1 1 1 1 到达直连网络 Net1 的费用 题 42 图 R1 构造的 网络拓扑 请回答下列问题。 1) 本题中的网络可抽象为数据结构中的哪种逻辑结构 2) 针对题 42 表中的内容,设计合理的链式存储结构,以保存题 42 表中的链路状态信 息LSI 。要求给出链式存储结构的数据类型定义,并画出对应题 42 表的链式存储结构示意 图 示意图中可仅以 ID 标识结点 。 3) 按照迪杰斯特拉 Dijikstra算法的策略,依次给出 R1 到达题 42 图中子网 192.1.x.x 的最短路径及费用。 43. ( 9 分) 请根据题 42 描述的网络,继续回 答 下列问题。 1) 假设路由表结构如下表所示,请给出题 42 图中 R1 的路 由表,要求包括到达题 42 left weight right 图中子网 192.1.x.x 的路由,且路由表中的路由项尽可能少。 2) 当主机 192.1.1.130 向主机 192.1.7.211 发送一个 TTL64 的 IP 分组时, R1 通过哪个 接口转发该 IP 分组主机 192.1.7.211 收到的 IP 分组 TTL 是多少 3) 若 R1 增加一条 Metric 为 10 的链路连接 Internet,则题 42 表中 R1 的 LSI 需要增加 哪些信息 44. ( 12 分) 某程序中有如下循环代码段 p ”forint i 0; i lchild NULL ifroot-lchild NULL //若左子树不空,对左子树递归遍历 wpl_PreOrderroot-lchild, deep1; ifroot-rchild NULL //若右子树不空,对右子树递归遍历 wpl_PreOrderroot-rchild, deep1; return wpl; } ②基于层次遍历的算法 define MaxSize 100 //设置队列的最大容量 int wpl_LevelOrderBiTree root{ BiTree q[MaxSize]; //声明队列,end1 为头指针, end2 为尾指针 int end1, end2; //队列最多容纳 MaxSize-1 个元素 end1 end2 0; //头指针指向队头元素,尾指针指向队尾的后一个元素 int wpl 0, deep 0; //初始化 wpl 和深度 BiTree lastNode; //lastNode 用来记录当前层的最后一个结点 BiTree newlastNode; //newlastNode 用来记录下一层的最后一个结点 lastNode root; //lastNode 初始化为根节点 newlastNode NULL; //newlastNode 初始化为空 q[end2] root; //根节点入队 whileend1 end2{ //层次遍历,若队列不空则循环 BiTree t q[end1]; //拿出队列中的头一个元素 ift-lchild NULL } //若为叶子结点,统计 wpl ift-lchild NULL{ //若非叶子结点把左结点入队 q[end2] t-lchild; newlastNode t-lchild; } //并设下一层的最后一个结点为该结点的左结点 ift-rchild NULL{//处理叶节点 q[end2] t-rchild; newlastNode t-rchild; } ift lastNode{ //若该结点为本层最后一个结点,更新 lastNode lastNode newlastNode; deep 1; //层数加 1 } } return wpl; //返回 wpl } 【评分说明】 ① 若考生给出能够满足题目要求的其他算法,且正确,可同样给分。 ② 考生答案无论使用 C 或者 C语言,只要正确同样给分。 ③ 若对算法的基本设计思想和主要数据结构描述不十分准确,但在算法实现中能够清晰 反映出算法思想且正确,参照 ① 的标准给分。 ④ 若考生给出的二叉树结点的数据类型定义和算法实现中,使用的是除整型之外的其他 数值,可视同使用整型类型。 ⑤ 若考生给出的答案中算法主要设计思想或算法中部分正确,可酌情给分。 注意上述两个算法一个为递归的先序遍历,一个为非递归的层次遍历,读者应当选取 自己最擅长的书写方式。直观看去,先序遍历代码行数少,不用运用其他工具,书写也更容 易,希望读 者能掌握。 在先序遍历的算法中, static 是一个静态变量,只在首次调用函数时声明 wpl 并赋值为 0,以后的递归调用并不会使得 wpl 为 0,具体用法请参考相关资料中的 static 关键字说明, 也可以在函数之外预先设置一个全局变量,并初始化。不过考虑到历年真题算法答案通常都 直接仅仅由一个函数构成,所以参考答案使用 static。若对 static 不熟悉的同学可以使用以下 形式的递归 int wpl_PreOrderBiTree root, int deep{ int lwpl, rwpl; //用于存储左子树和右子树的产生的 wpl lwpl rwpl 0; ifroot-lchild NULL ifroot-lchild NULL //若左子树不空,对左子树递归遍历 lwpl wpl_PreOrderroot-lchild, deep1; ifroot-rchild NULL //若右子树不空,对右子树递归遍历 rwpl wpl_PreOrderroot-rchild, deep1; return lwpl rwpl; } C/C语言基础好的同学可以使用更简便的以下形式 int wpl_PreOrderBiTree root, int deep{ ifroot-lchild NULL return root-lchild NULL wpl_PreOrderroot-lchild, deep1 0 root-rchild NULL wpl_PreOrderroot-rchild, deep1 0; } 这个形式只是上面方法的简化而已,本质是一样的,而这个形式代码更短,在时间有限 的情况下更具优势,能比写层次遍历的考生节约很多时间,所以读者应当在保证代码正确的 情况下,尽量写一些较短的算法,为其他题目赢得更多的时间。但是,对于基础不扎实 的考 生,还是建议使用写对把握更大的方法,否则可能会得不偿失。例如在上面的代码中,考生 容易忘记三元式 xyz两端的括号,若不加括号,则答案就会是错误的。 在层次遍历的算法中,读者要理解 lastNode 和 newlastNode 的区别, lastNode 指的是当 前遍历层的最后一个结点,而 newlastNode 指的是下一层的最后一个结点,是动态变化的, 直到遍历到本层的最后一个结点,才能确认下层真正的最后一个结点是哪个结点,而函数中 入队操作并没有判断队满,若考试时用到,读者最好加上队满条件,这里队列的队满条件为 end1end21M,采用的是 2014 年真题选择题中第三题的队列形式。同时,考生也可以 尝试使用记录每层的第一个结点来进行层次遍历的算法,这里不再给出代码,请考生自行练 习。 42. 解答 考察在给出具体模型时,数据结构的应用。该题很多考生乍看之下以为是网络的题目, 其实题本身并没有涉及太多的网络知识点,只是应用了网络的模型,实际上考察的还是数据 结构的内容。 1图 1 分 题中给出的是一个简单的网络拓扑图,可以抽象为无向图。 【评分说明】 只要考生的答案中给出与图含义相似的描述,例如“网状结构”、 “非线性结构”等,同 样给分。 2链式存储结构的如下图所示 Flag1 弧结点的两种基本形态 Next ID IP Metri c Flag2 Next Prefix Mask Metri c Route rID LN_ link Next 表头结点 结构示意 其数据类型定义如下 3 分 typedef struct{ unsigned int ID, IP; }LinkNode; //Link 的结构 typedef struct{ unsigned int Prefix, Mask; }NetNode; //Net 的结构 typedef struct Node{ int Flag; //Flag1 为 Link;Flag2 为 Net union{ LinkNode Lnode; NetNode Nnode }LinkORNet; unsigned int Metric; struct Node *next; }ArcNode; //弧结点 typedef struct HNode{ unsigned int RouterID; ArcNode *LN_link; Struct HNode *next; }HNODE; //表头结点 对应题 42 表的链式存储结构示意图如下。 2 分 Flag1 10.1.1.5 10.1.1.9 2 Flag2 Ù 192.1.1.0 255.255.255.0 1 10.1.1.1 10.1.1.2 10.1.1.5 10.1.1.6 Flag 1 10.1.1.2 10.1.1.1 3 Flag1 10.1.1.6 10.1.1.13 4 Flag2 Ù 192.1.6.0 255.255.255.0 1 Flag 1 10.1.1.1 10.1.1.2 3 Flag1 10.1.1.1 10.1.1.10 2 Flag2 Ù 192.1.5.0 255.255.255.0 1 Flag 1 10.1.1.6 10.1.1.5 6 Flag1 10.1.1.2 10.1.1.14 4 Flag2 Ù 192.1.7.0 255.255.255.0 1 Flag 1 10.1.1.5 10.1.1.6 6 【评分说明】 ① 若考生给出的答案是将链表中的表头结点保存在一个一维数组中 即采用邻接表形 式 ,同样给分。 ② 若考生给出的答案中,弧结点没有使用 union 定义,而是采用两种不同的结构分别表 示 Link 和 Net,同时在表头结点中定义了两个指针,分别指向由这两种类型的结点构成的 两个链表,同样给分。 ③ 考生所给答案的弧结点中,可以在单独定义的域中保存各直连网络 IP 地址的前缀长 度,也可以与网络地址保存在同一个域中。 ④ 数据类型定义中,只要采用了可行的链式存储结构,并保存了题目中所给的 LSI 信息, 例如将网络抽象为一类结点,写出含 8 个表头结点的链式存储结构,均可参照 ① ③ 的标准 给分。 ⑤ 若考生给出的答案中,图示部分应与其数据类型定义部分一致,图示只要能够体现链 式存储结构及题 42 图中的网络连接关系(可以不给出结点内细节信息),即可给分。 ⑥ 若解答不完全正确,酌情给分。 3计算结果如下表 所示。4 分 目的网络 路径 代价(费用) 步骤 1 192.1.1.0/24 直接到达 1 步骤 2 192.1.5.0/24 R1R3192.1.5.0/24 3 步骤 3 192.1.6.0/24 R1R2192.1.6.0/24 4 步骤 4 192.1.7.0/24 R1R2R4192.1.7.0/24 8 【评分说明】 ① 若考生给出的各条最短路径的结果部分正确,可酌情给分。 ② 若考生给出的从 R1 到达子网 192.1.x.x 的最短路径及代价正确,但不完全符合代价不 减的次序,可酌情给分。 43. 解答 1因为题目要求路由表中的 的路由项尽可能少,所以这里可以把子网 192.1.6.0/24 和 192.1.7.0/24 聚合为子网 192.1.6.0/23。其他网络照常,可得到路由表如下 6 分 目的网络 下一条 接口 192.1.1.0/24 - E0 192.1.6.0/23 10.1.1.2 L0 192.1.5.0/24 10.1.1.10 L1 【评分说明】 ① 每正确解答一个路由项 ,给 2 分,共 6 分。 ② 路由项解答不完全正确,或路由项多于 3 条,可酌情给分。 2通过查路由表可知 R1 通过 L0 接口转发该 IP 分组。1 分 因为该分组要经过 3 个路 由器R1、 R2、 R4,所以 主机 192.1.7.211 收到的 IP 分组的 TTL 是 64-361。 1 分 3R1 的 LSI 需要增加一条特殊的直连网络,网络前缀 Prefix 为 ”0.0.0.0/0”, Metric 为 10。 1 分 【评分说明】 考生只要回答增加前缀 Prefix 为 ”0.0.0.0/0”, Metric 为 10,同样给分。 44. 解答 该题为计算机组成原理科目的综合题型,涉及到指令系统、存储管理以及 CPU 三个部 分内容,考生因注意各章节内容之间的联系,才能更好的把握当前考试的趋势。 1已知计算机 M 采用 32 位定长指令字,即一条指令占 4B,观察表中各指令的地址可知, 每条指令的地址差为 4 个地址单位,即 4 个地址单位代表 4B,一个地址单位就代表了 1B, 所以该计算机是按字节编址的。 2 分 2在二进制中某数左移二位相当于以乘四,由该条件可知,数组间的数据间隔为 4 个地 址单位,而计算机按字节编址,所以数组 A 中每个元素占 4B。 2 分 3由表可知, bne 指令的机器代码为 1446FFFAH,根据题目给出的指令格式,后 2B 的 内容为 OFFSET 字段,所以该指令的 OFFSET 字段为 FFFAH, 用补码表示, 值为 -6。 1 分 当系统执行到 bne 指令时, PC 自动加 4, PC 的内容就为 08048118H,而跳转的目标是 08048100H,两者相差了 18H,即 24 个单位的地址间隔,所以偏移址的一位即是真实跳转 地址的- 24/-64 位。 1 分 可知 bne 指令的转移目标地址计算公式为PC4OFFSET*4 。 1 分 4由于数据相关 而发生阻塞的指令为第 2、 3、 4、 6 条,因为第 2、 3、 4、 6 条指令都与 各自前一条指令发生数据相关。 3 分 第 6 条指令会发生控制冒险。 1 分 当前循环的第五条指令与下次循环的第一条指令虽然有数据相关,但由于第 6 条指令后 有 3 个时钟周期的阻塞,因而消除了该数据相关。1 分 【评分说明】 对于第 1 问,若考生回答因为指令 1 和 2、 2 和 3、 3 和 4、 5 和 6 发生数据相关,因 而发生阻塞的指令为第 2、 3、 4、 6 条,同样给 3 分。答对 3 个以上给 3 分,部分正确酌情 给分。 45. 解答 该题 继承 了上题中的相关信息, 统考中首次引入此种设置,具体考察到程序的运行结果、 Cache 的大小和命中率的计算以及磁盘和 TLB 的相关计算,是一题比较综合的题型。 1R2 里装的是 i 的值,循环条件是 iN1000,即当 i 自增到不满足这个条件时跳出循 环,程序结束,所以此时 i 的值为 1000。 1 分 2C ache 共有 16 行,每块 32 字节,所以 Cache 数据区的容量为 16*32B512B。 1 分 P 共有 6 条指令,占 24 字节,小于主存块大小 32B,其起始地址为 0804 8100H,对应 一块的开始位置,由此可知所有指令都在一个主存块内。读取第 一条指令时会发生 Cache 缺失,故将 P 所在的主存块调入 Cache 某一行,以后每次读取指令时,都能在指令 Cache 中命中。因此在 1000 次循环中,只会发生 1 次指令访问缺失,所以指令 Cache 的命中率为 10006-1/1000699.98。 2 分 【评分说明】若考生给出正确的命中率,而未说明原因和过程,给 1 分。若命中率计算 错误,但解题思路正确,可酌情给分。 3指令 4 为加法指令,即对应 sumA[i],当数组 A 中元素的值过大时,则会导致这条 加法指令发生溢出异常;而指令 2、 5 虽然都是加法 指令,但他们分别为数组地址的计算指 令和存储变量 i 的寄存器进行自增的指令,而 i 最大到达 1000,所以他们都不会产生溢出异 常。2 分 只有访存指令可能产生缺页异常,即指令 3 可能产生缺页异常。1 分 因为数组 A 在磁盘的一页上,而一开始数组并不在主存中,第一次访问数组时会导致访 盘,把 A 调入内存,而以后数组 A 的元素都在内存中,则不会导致访盘,所以该程序一共 访盘一次。 2 分 每访问一次内存数据就会查 TLB 一次,共访问数组 1000 次,所以此时又访问 TLB1000 次,还要考虑到第一次访问数组 A,即访问 A[0]时,会多 访问一次 TLB(第一次访问 A[0] 会先查一次 TLB,然后产生缺页,处理完缺页中断后,会重新访问 A[0],此时又查 TLB), 所以访问 TLB 的次数一共是 1001 次。 2 分 【评分说明】 ① 对于第 1 问,若答案中除指令 4 外还包含其他运算类指令 即指令 1、 2、 5,则给 1 分,其他情况,则给 0 分。 ② 对于第 2 问,只要回答“ load 指令”,即可得分。 ③ 对于第 3 问,若答案中给出的读 TLB 的次数为 1002,同样给分。若直接给出正确的 TLB 及磁盘的访问次数,而未说明原因,给 3 分。若给出的 TLB 及磁盘访问次数不正确, 但解题思路正确,可酌情给分。 46. 解答 考察文件系统中,记录的插入问题。题目本身比较简单,考生需要区分顺序分配方式和 连接分配方式的区别。 1系统采用顺序分配方式时,插入记录需要移动其他的记录块,整个文件共有 200 条记 录,要插入新记录作为第 30 条,而存储区前后均有足够的磁盘空间,且要求最少的访问存 储块数,则要把文件前 29 条记录前移,若算访盘次数移动一条记录读出和存回磁盘各是一 次访盘, 29 条记录共访盘 58 次,存回第 30 条记 录访盘 1 次,共访盘 59 次。 1 分 F 的文件控制区的起始块号和文件长度的内容会因此改变。 1 分 2文件系统采用链接分配方式时,插入记录并不用移动其他记录,只需找到相应的记录, 修改指针即可。插入的记录为其第 30 条记录,那么需要找到文件系统的第 29 块,一共需要 访盘 29 次,然后把第 29 块的下块地址部分赋给新块,把新块存回内存会访盘 1 次,然后修 改内存中第 29 块的下块地址字段,再存回磁盘 1 分 ,一共访盘 31 次。 1 分 4 个字节共 32 位,可以寻址 2324G 块存储块,每块的大小为 1KB,即 1024B,其中下 块地址部分占 4B,数据部分占 1020B,那么该系统的文件最大长度是 4G1020B4080GB。 2 分 【评分说明】 ① 第 1小题的第 2 问,若答案中不包含文件的起始地址和文件大小,则不给分。 ② 若按 10242 32B4096GB 计算最大长度,给 1 分。 47. 解答 这是典型的生产者和消费者问题,只对典型问题加了一个条件,只需在标准模型上新加 一个信号量,即可完成指定要求。 设置四个变量 mutex1、 mutex2、 empty 和 full, mutex1,用于一个控制一个消费者进程 一个周期 10 次 内对于缓冲区的控制,初值为 1, mutex2 用于进程单次互斥的访问缓冲区, 初值为 1, empty 代表缓冲区的空位数,初值为 0, full 代表缓冲区的产品数,初值为 1000, 具体进程的描述如下 semaphore mutex11; semaphore mutex21; semaphore emptyn; semaphore full0; producer{ while1{ 生产一个产品 ; Pempty; //判断缓冲区是否有空位 Pmutex2; //互斥访问缓冲区 把产品放入缓冲区 ; Vmutex2; //互斥访问缓冲区 Vfull; //产品的数量加 1 } } consumer{ while1{ Pmutex1 //连续取 10 次 forint i 0; i 10; i{ Pfull; //判断缓冲区是否有产品 Pmutex2; //互斥访问缓冲区 从缓冲区取出一件产品 ; Vmutex2; //互斥访问缓冲区 Vempty; //腾出一个空位 消费这件产品 ; } Vmutex1 } } 【评分说明】 ① 信号量的初值和含义都正确给 2 分。 ② 生产者之间的互斥操作正确给 1 分;生产者与消费者之间的同步操作正确给 2 分;消 费者之间互斥操作正确给 1 分。 ③ 控制消费者连续取产品数量正确给 2 分。 ④ 仅给出经典生产者 -消费者问题的信号量定义和伪代码描述最多给 3 分 。 ⑤ 若考生将题意理解成缓冲区至少有 10 件产品,消费者才能开始取,其他均正确,得 6 分。 ⑥ 部分完全正确,酌情给分。
展开阅读全文

copyright@ 2018-2019 考拉文库网站版权所有
经营许可证编号:陕ICP备18022950号-1