800 比特,则最远的两个站点之间的距离至少需要 A.增加 160m B.增加 80m C.减少 160m D.减少 80m
38.主机甲和主机乙间已建立一个 TCP 连接,主机甲向主机乙发送了两个连 续的 TCP 段,分别包含 300 字节和 500 字节的有效载荷,第一个段的序列号为
200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是 A.500 B.700 C.800 D.1000
39.一个 TCP 连接总是以 1KB 的最大段发送 TCP 段,发送方有足够多的数据 要发送。当拥塞窗口为 16KB 时发生了超时,如果接下来的 4 个 RTT(往返时间) 时间内的 TCP 段的传输都是成功的,那么当第 4 个 RTT 时间内发送的所有 TCP 段都得到肯定应答时,拥塞窗口大小是 A.7KB B. 8KB C. 9KB D. 16KB
40.FTP 客户和服务器间传递 FTP 命令时,使用的连接是
A.建立在 TCP 之上的控制连接 B. 建立在 TCP 之上的数据连接 C. 建立在 UDP 之上的控制连接 D. 建立在 UDP 之上的数据连接 二、综合应用题。共 70 分。 41.(10 分)
带权图(权值非负,表示边连接的两顶点间的距离)的最短路 径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目 标顶点之间存在路径,现有一种解决该问题的方法: ①设最短路径初始时仅包含初始顶点,令当前顶点 u 为初始顶点;
②选择离 u 最近且尚未在最短路径中的一个顶点 v,加入到最短路径中,修改当前顶点 u=v;
③重复步骤②,直到 u 是目标顶点时为止。 请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。
42.(15 分)已知一个带有表头结点的单链表,结点结构为 date link
假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能 高效的算法,查找链表中倒数第 k 个位置上的结点(k 为正整数)。若查找成功, 算法输出该结点的 data 值,并返回 1;否则,只返回 0。要求:
(1) 描述算法的基本设计思想 (2) 描述算法的详细实现步骤
(3) 根据设计思想和实现步骤,采用程序设计语言描述算法(使用 C 或 C++ 或 JAVA 语言实现),关键之处请给出简要注释
43.(8 分)某计算机的 CPU 主频为 500MHz,CPI 为 5(即执行每条指令平均 需 5 个时钟周期)。假定某外设的数据传输率为 0.5MB/s,采用中断方式与主机 进行数据传送,以 32 位为传输单位,对应的中断服务程序包含 18 条指令,中断 服务的其他开销相当于 2 条指令的执行时间。请回答下列问题,要求给出计算过 程。
(1)在中断方式下,CPU 用于该外设 I/O 的时间占整个 CPU 时间的百分比 是多少?
(2)当该外设的数据传输率达到 5MB/s 时,改用 DMA 方式传送数据。假设 每次 DMA 传送大小为 5000B,且 DMA 预处理和后处理的总开销为 500 个时钟周期, 则 CPU 用于该外设 I/O 的时间占整个 CPU 时间的百分比是多少?(假设 DMA 与 CPU 之间没有访存冲突)
44.(13 分)某计算机字长 16 位,采用 16 位定长指令字结构,部分数据通 路结构如图所示。图中所有控制信号为 1 时表示有效、为 0 时表示无效。例如控 制信号 MDRinE 为 1 表示允许数据从 DB 打入 MDR,MDRin 为 1 表示允许数据从内 总线打入 MDR。假设 MAR 的输出一直处于使能状态。加法指令“ADD(R1),R0” 的功能为(R0)+((R1))→(R1),即将 R0 中的数据与 R1 的内容所指主存单元 的数据相加,并将结果送入 R1 的内容所指主存单元中保存。
数据通路结构 下表给出了上述指令取值和译码阶段每个节拍(时钟周期)的功能和有效控 制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。 功能和控制信号
时钟 C1 C2 C3 C4
功能 MAR←(PC) MDR←M(MAR) IR←(MDR) 指令译码 有效控制信号 PCout,MARin MemR,MDRinE MDRout,IRin 无 45.(7 分)三个进程 P1、P2、P3 互斥使用一个包含 N(N>0)个单元的缓冲 区。P1 每次用 produce()生成一个正整数并用 put()送入缓冲区某一空单元 中;P2 每次用 getodd()从该缓冲区中取出一个奇数并用 countodd()统计奇 数个数;P3 每次用 geteven()从该缓冲区中取出一个偶数并用 counteven() 统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定 义的信号量的含义。要求用伪代码描述。
46.(8 分)请求分页管理系统中,假设某进程的页表内容如下表所示。 页表内容
页号 0 1 2
页面大小为 4KB,一次内存的访问时间是 100ns,一次快表(TLB)的访问时 间是 10ns,处理一次缺页的平均时间为 108ns(已含更新 TLB 和页表的时间), 进程的驻留集大小固定为 2,采用最近最少使用置换算法(LRU)和局部淘汰策 略。假设①TLB 初始为空;②地址转换时先访问 TLB,若 TLB 未命中,再访问页 表(忽略访问页表之后的 TLB 更新时间);③有效位为 0 表示页面不在内存,产 生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚 地址访问序列 2362H、1565H、25A5H,请问:
(1) 依次访问上述三个虚地址,各需多少时间?给出计算过程。
(2) 基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。
47.(9 分)希赛公司网络拓扑图如下图所示,路由器 R1 通过接口 E1、E2 分别连接局域网 1、局域网 2,通过接口 L0 连接路由器 R2,并通过路由器 R2 连 接域名服务器与互联网。R1 的 L0 接口的 IP 地址是 202.118.2.1;R2 的 L0 接口 的 IP 地址是 202.118.2.2,L1 接口的 IP 地址是 130.11.120.1,E0 接口的 IP 地址是 202.118.3.1;域名服务器的 IP 地址是 202.118.3.2。 答案如下: 一、选择题
1 B 11 C 21 D 31 B 页框(Page Frame)号 101H — 254H 有效位(存在位) 1 0 1 2 C 12 D 22 A 32 A 3 D 13 D 23 D 33 B 4 B 14 C 24 D 34 B 5 C 15 D 25 C 35 C 6 B 16 C 26 A 36 A 7 A 17 A 27 C 37 D 8 D 18 A 28 B 38 D 9 A 19 D 29 A 39 C 10 B 20 B 30 A 40 A
二、综合应用题
41.该方法求得的路径不一定是最短路径。例如,对于下图所示的带权图,如果 按照题中的原则,从A到C 的最短路径为 A→B→C,事实上其最短路径为 A→D→C。
42.
(1)算法基本思想如下:从头至尾遍历单链表,并用指针 p 指向当前结点的前 k 个结点。当遍历到链表的最后一个结点时,指针 p 所指向的结点即为所查 找的结点。
(2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍 历,其中指针 p1 指向当前遍历的结点,指针 p 指向 p1 所指向结点的前 k 个结点, 如果 p1 之前没有 k 个结点,那么 p 指向表头结点。用整型变量 i 表示当前遍历 了多少个结点,当 i>k 时,指针 p 随着每次遍历,也向前移动一个结点。当遍历 完成时,p 或者指向表头结点,或者指向链表中倒数第 k 个位置上的结点。 (3)算法描述:
int LocateElement(Linklist list,int k) {
p1=list->link; p=list; i=1; while(p1) {
p1=p1->link; i++;
if(i>k) p=p->next; //如果 i>k,则 p 也往后移 }